Hello,

Maybe someone can give a solution or a hint how to resolve this situation.

We have several processes with starting signal 'Lead added'. Everything works fine when Lead is added manualy. But when Lead comes from Landing page processes are not started and we see following error in BusinessProcess.Log:

Error while running process [ebda75d0-3e3b-4cb9-ac04-2cc30f61d512] for Lead (Id: [071ded65-fe59-4641-b265-2f04c733b509])

System.InvalidOperationException: Failed to get the context for the background operation. For services without authorization it is necessary to call Terrasoft.Web.Common.SessionHelper.SpecifyWebOperationIdentity.

   at Terrasoft.Core.ServiceBus.BusUtils.CreateUserContext(String userName, String sessionId, Guid externalAccessId)

We have tried several solutions:

1. Disabled CSRF protection in web.confing

    

    and even

    

    

    This didn't help

2. Modified starting signal, setting 'Run following elements in the background'. This gave some results, but the process haven't got values from the Lead, so we have tried to add timer. But as there can be a lot of such processes, timer has crashed regulary, so processes were stayed in Running status forever. That's why we have refused to use timer.

3. Than we have created process in the Lead object on message LeadInserted calling usual Process with Lead.Id parameter. This actualy works on our environment, but still raise error 'Failed to get the context for the background operation' on Customer's environments.

So, there is probably some differences in configuration.

Do you have any ideas what this can be? Or any ideas for more workaround solutions?

Thank you!

Like 0

Like

3 comments

Hello,

 

can you please clarify which version of the site do you use as it may affect the process?

 

Also, please, check if the "Run in background" checkbox is on. If it is, please disable it so the process won't run in the background. After that, you can try performing the action again and notify us about the result.

Thanks.

 

Kind regards,

Gleb.

Gleb,

Thank you for your replay.

 

1) Our client uses version 7.16.3 now. We have tested this process on version 7.18.5 (but only on our environment) - it works correctly. Also we have similar process on 7.13.2 - it also works correctly. But I am not sure if environment configurations are the same.

Besides, it would be nice to resolve this issue without upgrade now.

 

2) We've set 'Run in background' to off. In that case process starts correctly, but there is another problem - some values of Lead are not available in the process (e.g. default values from Landing page are not set yet). So, this solution doesn't fit our case. (I've described this in p.2 with timer)

 

Vladimir Sokolov,

 

thank you for the additional information.

 

Unfortunately, there might be quite a lot of reasons for the missing values in Lead (e.g. access rights, configuration, etc).

 

We would recommend you create a separate case for the support team so that we will be able to reproduce the error on the instance.

 

Also, it is recommended to update to the newest version to avoid errors that were fixed in the latest updates.

 

Regards,

Gleb.

Show all comments

Hi community!

We have created replacing schema - VisaNotificationsSchema. In VisaNotificationsSchema we added code to hide "Reject" and "Change approver" buttons. We want to apply it for specified objects . To do it we need to retrieve object Id from Approval. Any suggestions how can we do it?

Best regards, 

Jana

 

Like 0

Like

1 comments

Hi Yana,

 

I just prepared working example so You can adopt it to Your case

 define("VisaNotificationsSchema", function() {
   return {
      methods: {
 
         getVisaActionButtonMenu: function() {
            var menu = this.get("VisaActionButtonMenu");
            if (!Ext.isEmpty(this.values) ? this.values.SchemaName=='Opportunity' : false) {
               menu.removeByIndex(1);
               menu.removeByIndex(1);
               menu.removeByIndex(1);
            }
            return menu;
         }
      },
      diff: [
         {
            "operation": "merge",
            "name": "VisaActionButton",
            "parentName": "NotificationItemTopContainer",
            "propertyName": "items",
            "values": {
               "itemType": Terrasoft.ViewItemType.BUTTON,
               "style": Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
               "classes": {"wrapperClass": ["visaActionButtonWrap-class"]},
               "caption": {"bindTo": "Resources.Strings.VisaActionButton"},
               "prepareMenu": {"bindTo": "selectNotificationItemOnActionButtonClick"},
               "menu": {
                  "items": {"bindTo": "getVisaActionButtonMenu"}
               }
            }
         }
      ]
   };
});

Best regards,

Marcin

Show all comments

Hi, community.

When you click an activity on dashboard within Case, you get mini page where you can complete the activity or cancel it. I need to remove the "cancel activity" button for specific type of case service.

I have found how to remove 'Cancel activity' from all  mini pages,

diff: 
/**SCHEMA_DIFF*/[ 
{ "operation": "remove", "name": "CopyButton" }, 
{ "operation": "remove", "name": "DeleteButton" }, 
{ "operation": "remove", "name": "OpenButton" } }

but need to add extra condition to apply it only for cases with specific Service.

 

Best regards,

Jana

 

Like 0

Like

2 comments

Hello Jana,

 

You can try replace ActivityMiniPage view model by this code. Inside canCancelActivity method You can implement Your logic.

 define("ActivityMiniPage", [], function() {
	return {
		entitySchemaName: "Activity",
		messages:{
				"GetColumnsValues": {
				mode: Terrasoft.MessageMode.PTP,
				direction: Terrasoft.MessageDirectionType.PUBLISH
			},
		},
		methods: {
			canCancelActivity: function() {
				var stage = this.sandbox.publish("GetColumnsValues", ["Stage"], [this.values.MiniPageSourceSandboxId]);
				return stage.Stage.displayValue=='Presentation'? true : false;
			},
		},
		diff: /**SCHEMA_DIFF*/[
			{
				"operation": "merge",
				"name": "CancelButton",
				"values": {
					"visible": {"bindTo": "canCancelActivity"},
					"tag": "Cancel"
				}
			}
		]/**SCHEMA_DIFF*/,
		rules: {}
	};
});

Best regards,

Marcin

Marcin Kott,

Thank you!

Show all comments

There is an item was purchased by this customer.

But when we search the accounts -> Solutions, The Asset Named 'The one they purchased' is not listed in the ‘Software-Licenses’ list.

Like 0

Like

1 comments

Hello Selva,



Please contact our support team (support@creatio.com). Please provide us with more details on the issue.

 

Best regards,

Bogdan

Show all comments

Hi community!

I enabled Approvals in the case section and added Approval in the business process. The problem is that counter is not increased in the notification panel but approval itself is shown in the "Approval notification".

Best regards, 

Jana

Like 0

Like

2 comments

Hello Jana,

 

As we replied in your case, the most likely reason for this behavior is a missing piece of code that marks your notifications as read.

 

Please check if you have MarkNotificationAsRead in your custom code in order for notifications to properly display.

 

You can copy the code from the NotificationService object in configuration files.

 

Thank you,

Artem.

Hello Artem,

 

We are also facing the same issue. Ours is not a custom code, all we do is create an approval task via business process. While the approval task is seen in notification center, the counter does not get increased.

 

Please advise

 

Test process creates an approval task for current user

After process is triggered, task appears for current user, but no badge or counter is seen as highlighted in yellow.

Show all comments

Hi community!

Is it possible to add additional information to feed. For example, I need to display case stage at which feed was added. 

Best regards,

Jana

Like 0

Like

5 comments

Hello Jana,



Unfortunately, there is no way to achieve your business task at this moment. 

 

Our R&D team does have such a task as for now.



Best regards,

Bogdan

Hi Jana, you can make a Process on signal Record added in SocialMessage. Then add some text comments in field Message

Vladimir Sokolov,

Thank you for the idea! It works.

One more question is it possible to apply styles to the Social message? Message itself is created through the business process? I would like to mark Case status in bold or highlight it somehow.

Jana Sergejenko writes:

Html code should work there:

 

Vladimir Sokolov,

Thank you!

Show all comments

Hi community!

How to hide page from the "New" button. I need page itself and I don't want to deactivate or delete it. Just need to hide it from the button so users are not able to register new requests using that page.

Best regards,

Jana

Like 0

Like

1 comments

Dear Jana,

 

The same questions were asked on the community previously and you can find those questions hereherehere, and here. Please refer to those articles so to be able to hide a button.

 

Best regards,

Bogdan

Show all comments

Hi Team,

 

We are trying to call custom service from Section Schema using ServiceHelper but it is showing and error "ServiceHelper.callService is not a function".

 

Please see the below screenshot

 

Please help in order to achieve this.

Many thanks.

Like 0

Like

6 comments

Hi Rahul,

 

Use the approach similar to the below:

define("ContactSectionV2", ["ServiceHelper"], function(ServiceHelper) {
	return {
		entitySchemaName: "Contact",
		details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,
		diff: /**SCHEMA_DIFF*/[]/**SCHEMA_DIFF*/,
		mixins: {},
		methods: {
			getSectionActions: function(){
				var actionMenuItems = this.callParent(arguments);
				ServiceHelper.callService({
					serviceName: "SocialSubscriptionService",
					methodName: "SubscribeUser",
					callback: function(response){
						console.log("Response from the SocialSubscriptionService in the ContactSectionV2");
						console.log(response);
					}
				});
			return actionMenuItems;
			}
		},
	};
});

I've received the response properly:

Best regards,

Oscar

Hi Oscar Dylan,

 

Thanks for the response, have tried the way you did it, but still getting the error. Please see the below screenshot.

 

 

Just for more information I have replaced the base Section schema(BaseSectionV2) and trying to do this on it.

 

Rahul,

 

Then you've either replaced the section incorrectly or you haven't added ServiceHelper module as a dependency to the replaced section. The error message itself states that ServiceHelper object is either null or undefined. Try also compiling your app. Please debug the logic. If everything is working properly using the code I shared, then it should work in your case.

 

Best regards,

Oscar

Rahul, 

Make sure the top of your section schema looks something like

define("BaseSectionV2", ["ServiceHelper"], function(ServiceHelper) {

Also, if you have multiple dependencies defined in the top, make sure the order of them line up correctly in the list in the brackets ["Thing1", "Thing2"] and in the parentheses (Thing1, Thing2)

If you're unsure, please post what the top of your section schema looks like here.

Ryan

Ryan Farley,

 

Please see the below header 

 

 

Thankyou

Rahul,

Change that to be the following instead:

define("BaseSectionV2", ["RightUtilities", "MaskHelper", "BaseSectionV2Resources", "ServiceHelper", "css!UsrVirSectionFieldChangeActionMsgContainerStyle"], 
    function(RightUtilities, MaskHelper, Resources, ServiceHelper) {

Basically, switch the "css!" and the "ServiceHelper" in the square brackets.

The order of the items in the square brackets [ ] must match the order of the items in the parentheses ( ). As you had it before, the order didn't match since the css item was before the ServiceHelper. When items are in the square brackets, you're telling the system to "load this thing". When you put a corresponding item in the parentheses, you're telling the system "when you load that thing in the square brackets, give me a reference to it in this variable". Hope that helps.

Ryan

Show all comments

Hello team,

 

Please see this code, and let me know where I am doing mistake.

As enable property of the action is set to false but the change is not reflecting.

 

 

Please help me with this.

 

Many thanks.

Like 0

Like

2 comments

Hi Rahul

 

In order to remove the "Actions" from the sections, you need to do the following:

 

1. Create replacing view module and choose the parent "BaseSectionV2"

 

 

2. Add the next code to this schema: 

 

 define("BaseSectionV2", [], function() {

  return {

    entitySchemaName: "",

    details: /**SCHEMA_DETAILS*/{}/**SCHEMA_DETAILS*/,

    diff: /**SCHEMA_DIFF*/[

        {

              "operation": "remove",

        "name": "CombinedModeActionsButton"

        }

    ]/**SCHEMA_DIFF*/,

    methods: {}

    };

});

 

3. As the result, the button "Actions" will be removed from the sections:

 

 

If you want  to remove/hide the specific action from the collection, please refer to this post with the needed solution:

 

https://community.creatio.com/questions/how-hide-or-remove-actions-sect…

 

Best Regards, 

 

Bogdan L.

 

 

Hi Rahul,

 

You need to debug this logic and see what is passed to the check and if the needed items are receiving the desired Enabled property and value for it or not. I was able to disable the "Data import" action in the Contacts section using the code below:

and

Best regards,

Oscar

Show all comments

Hi Team,

 

I am applying a advanced filter on section on one of its detail let's say "Purcahse order" is the section and "PO Details" is the detail in purchase order section.

 

If on Purchase Order section page I will apply advanced filter on On PO Detail then only Numeric fields of PO Detail comes in drop down.

 

Please see the below screenshot, now here if I check the column dropdown then only numeric fields of PO detail will come why not text and lookup field of PO Details will come ? 

 

 

 

 

 

 

Like 0

Like

2 comments

Hello Akshit,



Unfortunately, there are no basic tools to implement your business task.

 

We have already registered the idea for our R&D team to implement this functionality in further releases. I will assign your case to this project in order to increase its priority.  

 

Best regards,

Bogdan

Hello Akshit,

Since PO Details has a 1:many relationship with PO, you can only select fields where an aggregate is possible, meaning max, min, sum, etc. It's not possible to perform an aggregate on a text value, which is why they do not appear in that list. In order to achieve the filter you're after:

  1. Select "Quantity" from the list
  2. Then enter > 0 for the PO Details count (from #1 above)
  3. Now you can enter the conditions for the PO Details inside the condition of count > 0. The end result is it will look something like this:

Hope this helps.

Ryan

Show all comments