What was the change that you've done? And what do you mean by "the call page is never open"? Does it appear as a notification in the right-side pannel?
Please install this marketplace app and analyze the content of the custom user task. It should contain some script inside it that receives the collection of allowed users that are stored in the operation permission users list. And this script can be used as an analogue to create your own user task if needed.
I've installed the marketplace app and the following process worked perfectly on my end:
Basically the logic that checks if the current user has operation permissions rights is stored in the labCheckUserOperPermission class of the UserTask of the marketplace app:
And returns either "true" or "false" for the "Success" parameter and the parameter itself determines if the process should be executed further or not. The full code of the UserTask can be found below:
then you need to either re-install the marketplace app or check that your app is greater than 7.12 version and uses .NET Framework or use the code above to create your own user task to check operation permissions.
Here is an example of the code that has perfectly worked on my end:
Terrasoft.sdk.Model.addBusinessRule("Case", {
name:"Make UsrStringField column required",
ruleType: Terrasoft.RuleTypes.Custom,
triggeredByColumns:["UsrBoolAct"],
events:[Terrasoft.BusinessRuleEvents.ValueChanged, Terrasoft.BusinessRuleEvents.Save],
executeFn: function(record, rule, column, customData, callbackConfig){
var isRequired;
var isActivated = record.get("UsrBoolAct");if(isActivated===true){
isRequired=false;}else{
isRequired=true;}
record.changeProperty("UsrStringField", {
isValid:{
value: isRequired,
message:"Column must be filled in"}});
Ext.callback(callbackConfig.success, callbackConfig.scope, [isRequired]);}});
The logic here is that the "UsrBoolAct" column is true (this is a boolean column) then the "UsrStringField" should be filled in. After the application pool was restarted this output was received:
Please also note that wen workig with lookups instead of booleans such a construction will help to achieve the result needed:
var type = record.get("Type");if(type &&(type.get("Id")=== Terrasoft.ContactTypes.Doctor||
type.get("Id")=== Terrasoft.ContactTypes.ContactPerson))
Please restart the application pool in IIS if this is an on-site solution or contact us at support@creatio.com if this is a cloud app. Also please try to flush the web browser cache and cookies.
Also, what is the behavior when you log in as the user mentioned in the code?
In your case, the needed detail is an object and you need to create a section from it. After that, the required data should be available in the newly added section.
I have created a custom package and added all the necessary modules required for applying business rules in it.
I have then created a custom module with the business rule and added this module inside the ModelExtension attribute of required model[UsrPurchaseOrders] in MobileApplicationManifestDefaultWorkplace.
and the logic is that if the contact specified in the UsrContact column is not Andrew Baker (sample) then the UsrStringColumn column should be deactivated. And the only difference between our scenarios is that the application pool for the app should be restarted once you apply all the changes in your custom module and include this module into the manifest. So please restart the application pool in IIS if this is on-site app or contact us at support@creatio.com if this is a cloud app. On my side the rule works as expected (using 7.16.4 version):
Please check if the column is present in this list:
and
and select the column. In case the column is not present then either the AccountAddress object should be published or the parent object for the replaced AccountAddress object was chosen incorectly. Please check if your parent object is the same as mine:
If it is not please remove the replaced object and replace the AccountAddress object from scratch.
A system setting is the best place for something like that. Normally, I'd use a Modify Data element in the process to write it back, but in current versions of Creatio the lookup to add columns to update causes a client-side error so you're unable to select columns.
However, you can set it with a script task. Let's assume your value is a string value and currently in a process parameter named "MyParameterValue". You'd add code something like this to read it from the parameter and set a system setting with a code of "UsrMySetting":
var val = Get<string>("MyParameterValue");
Terrasoft.Core.Configuration.SysSettings.SetValue(UserConnection, "UsrMySetting", val);
return true;
I'm doing this, but for some reason the updated value is not on the System Setting if I see it by the System Settings, but If I ask it on a process I get the updated number.
I try to explain better, I create a System Setting variable, and init it with a number, in the process I update the value of the system setting and use it for some task, but when I come back to Creatio System setting and open the System setting is just like I define it, no change, but If I ask its value from a process it's updated.
I think is something related with cache or whatever, did you know what could be wrong?
For example, the following sub process is called in a "Read collection of records" loop.
In the first image you can see, I get the value of the System Setting called "Incidencias Detectadas - Correlativo Histórico" and add 1 and stores it in a local parameter.
The initial value in the System setting is 1
In the next step of the sub process I did something with the value, and in the third element of the sub process I update the system setting using the updated value in step 1. ie the old number + 1
It works OK, it's fine!, but when I came to System Setting, it shows me the initial number, ie: 1 and it must be 800 to my example,
You can see the value still is one, but If I read the value from a process, it gives to me the correct value. WHAT'S WRONG?
The main objects in Feed functionality are SocialChannel, SocialMessage and SocialMention.
There is also an OOB process called ESN notification but it can only be found via the Configuration section. You can use it as an example to build your own business logic.
Please let us know if more information is required.
Thanks much for the information provided. I could see the BP related to ESN Notification and it really helped.
I require implementation clarity (especially related to objects) on the following scenario,
I have created a custom channel named "Psiog". Now, I would like to add a message, via a business process, in the channel "Psiog" saying that an "employee" (data from contacts section) is "available"/"not available" (chosen from a lookup in a preconfigured page) along with respective comments.
Could you please help me with the above one? As far as I tried implementation, I could add a message to the Feed in general and was unable to post in a particular channel.
You can try to take an example of code from OOB application. The schema name is BaseMessageHistoryItemPage that is placed in the Message package. The functionality is developed for the Case page and works in the following way - you just click on the picture that is placed in the Email or Portal message to enlarge it.