Today I saw in Creatio 8.2 something long awaited to be available in Freedom, the rule that allows you to designate a formula to a field.

 

But :-( when trying to designate a formula to a field, it doesn't allow me to do so and apparently what I saw is ‘on hard’ and it is not possible to add this element to our business rules yet.

 

I saw it in the OrderProduct object to calculate the total of an order line, you can change the formula, but not add a new one, because the ‘Set up formula’ element is not accessible.

Does anyone know how to access ‘Set values’ using formula?

 

Thanks

Julio

Like 3

Like

3 comments

Hello, some feedback regarding this question?

 

Thanks

Hello, 

 

Thank you for reaching out.

 

This functionality is still in development, so access to it will only be available after the official release, which is currently planned for version 8.2.2.

Sergii Zhmurko,

Thanks for confirming that we will have this feature soon! :-)

Show all comments

Dear collegaues

 

In Classic UI, I need to add a Filter business rule to can get only contacts with Email is completed. Some ideas how to solve this?

 

I tried not equal "", not contains "@" and others and didn't works

 

Thanks in advance

 

Regards

Julio

Like 0

Like

2 comments
Best reply


Hello,
 

Unfortunately, it's not possible to add such a filter using basic filters. However, you can write a custom filter in the schema code.

For example, for the Owner field on the AccountPageV2 schema, this filter may look like this:


define("AccountPageV2", [], function() {
   return {
       "entitySchemaName": "Account",
       "attributes": {
           "Owner": {
               "dataValueType": Terrasoft.DataValueType.LOOKUP,
               "lookupListConfig": {
                   "filters": [
                       function() {
                           var filterGroup = Ext.create("Terrasoft.FilterGroup");

                           filterGroup.add("HasEmail",
                               Terrasoft.createColumnFilterWithParameter(
                                   Terrasoft.ComparisonType.NOT_EQUAL,
                                   "Email",
                                   ""));
                           return filterGroup;
                       }
                   ]
               }
           }
       }
   };
});

This filter ensures that only contacts with the Email field not equal to empty string will be included in the selection for the Owner field.
 

You can learn more about such filtering in our academy: Link

Thank you for reaching out!


Hello,
 

Unfortunately, it's not possible to add such a filter using basic filters. However, you can write a custom filter in the schema code.

For example, for the Owner field on the AccountPageV2 schema, this filter may look like this:


define("AccountPageV2", [], function() {
   return {
       "entitySchemaName": "Account",
       "attributes": {
           "Owner": {
               "dataValueType": Terrasoft.DataValueType.LOOKUP,
               "lookupListConfig": {
                   "filters": [
                       function() {
                           var filterGroup = Ext.create("Terrasoft.FilterGroup");

                           filterGroup.add("HasEmail",
                               Terrasoft.createColumnFilterWithParameter(
                                   Terrasoft.ComparisonType.NOT_EQUAL,
                                   "Email",
                                   ""));
                           return filterGroup;
                       }
                   ]
               }
           }
       }
   };
});

This filter ensures that only contacts with the Email field not equal to empty string will be included in the selection for the Owner field.
 

You can learn more about such filtering in our academy: Link

Thank you for reaching out!

Thanks Pavlo

Show all comments

Hi,

I want to set a field value so that it is 1 hour BEFORE the start time field. Trying to do this via business rule but it's not letting me write a negative number (-1).

Any ideas how to do this?

Thanks,

Chani

Like 0

Like

6 comments

I did this with days but should work with hours and a date/time field.

 

[#System variable.Current Date#].AddDays(-7)

 

Updated via business process

Thank you. We rather not create a business process for such a thing. Looking for a way to do it via business rule. 

Chani Karel,

Hello,

This method can only be implemented through a business process using C# with the ".AddHours(-1)" method.

https://learn.microsoft.com/en-us/dotnet/api/system.datetime.addhours?view=net-8.0



Best regards, 

Orkhan

Create another date/time field and use the set field value in the business rule with the AddHour(-1) formula. That date field will then be one hour behind start time field

Rob Watson

There is no way to do AddHour(-1) in the formula.

Orkhan,

:(

Thanks for confirming 

Show all comments

Hello,

 

I have a page with the progress bar (cases) on Studio 8.1.0.6827. To simplify the explanation, let's say there are two stages based on a status field: New Request and Completed and I have business rules stating that the request description is required if the status is Completed. 



If the 'Save record on stage change' is off, when I click on the Completed bar, the description field becomes require and I cannot save without entering. But of 'Save record on stage change' is on the record is saved and the status changes to Completed even if the description was not entered. 



Any ideas on how to make it work where the 'Save record on stage change' is on but the business rules are applied, and the record is not saved if the required fields for that status are missing?



Thanks,

Jose

 

Like 1

Like

1 comments

Hello!

 

To provide you with an answer, we need to investigate it deeper. Please contact the Support Team directly via support@creatio.com and provide all these details.

 

Best regards, Mariia

Show all comments

Dear,

We can not add or edit business rules on our custom Order Product Detail, the system return the following error : 

Unable to modify business rules because the "Edit card - Product in order" page source code contains invalid json symbols. Your system administrator will have to delete these symbols. After the mentioned above symbols have been deleted, you need to re-open the wizard, and business rules will be available for edit.

I tryed to remove all the code in our custom orderProduct detail :

=> the system still returns the error

Does anyone have any ideas to fix the problem ?

Thank you,

Nicolas

Like 0

Like

2 comments

Just throwing out some ideas. Maybe there's some non-printable character that got posted in somewhere? I'd try pasting the contents to a text editor that can show non-printable chars (such as Notepad++).

Also, maybe look at the resource strings? Maybe there's a resource name with some weird char?

Thank you Ryan for your answer, i ve check what you advise me to check, but i did not find any problem.

We are having two OrderProductPageV2 in two separate package: Custom and Custom_transfert, we removed all business rules in the OrderProductPageV2 in Custom_transfert and surprisingly we can edit the orderProductDetail business rules...

Thank you again for your help !

Show all comments

I would like the ability to use a formula to set a field value. An example might be to generate a web-link with a hard-coded base URL with an appended page parameter Id. In the classic UI I could create a CTA that pushed the user back to an internal page that had a hard-coded URL with an appended page record value. That isn't easily done with the new low-code tools for buttons.

 

Another Item might be to transform a field from a date value to months, days, or years instead.

1 comments

I believe a formula editor in business rules is potentially planned for the 8.2 roadmap 🙂 . Could that help ?

Show all comments

Please help.

I created an object called UsrAppMobNotifications, which includes a Boolean variable UsrBoolRead. In the mobile application version 8.1, I need to set up a business rule so that when a user opens a record of this object, the UsrBoolRead variable becomes true.

 

The code of the mobile app's record page (UsrMobileUsrAppMobNotificationsRecordPageSettingsPortal) doesn't contain any blocks (like handlers).

Question 1: How can I add my own business rule?

Question 2: I tried to create a rule based on examples, but it doesn't work.



My rule^

Terrasoft.sdk.Model.addBusinessRule("UsrAppMobNotifications", {

name: "SetUsrBoolReadTrueRule",

ruleType: Terrasoft.RuleTypes.Custom,

events: [Terrasoft.BusinessRuleEvents.Load],

executeFn: function(model, rule, column, customData, callbackConfig) {

model.set("UsrBoolRead", true);

Ext.callback(callbackConfig.success, callbackConfig.scope);

}

});

Like 0

Like

1 comments

Hello.

Please be advised that adding business rules to a page using the Terrasoft.sdk.Model.addBusinessRule(name, config) method is only supported on the old user interface. Unfortunately, the feature to create business rules on the mobile application is not yet available, as it is currently under development. However, I can assist you in setting up card-level business rules, that might be helpful for you.

At the moment, the difference between the rules on the card and the model is insignificant. Namely, the difference is that the card has Visibility rules that can show or hide card elements. Therefore, let's consider this particular example, and try to hide a column under a condition.

1. Set up the rules in the web.

2. The names of the controls ("Code" and "Element code") must be given according to the names of the columns. That is, if the column is called UsrText, then the control should be called that way (because the names are generated by the web by default):

3. The rule that hides the UsrText field can be configured as follows:

When saving, do not forget to click Save in the card itself.

4. Add a new (or existing) section in the mobile application wizard and configure the card properly.

5. Go to the Configuration (WorkspaceExplorer) and look for the card setup scheme (scheme name format: Mobile[Object name]RecordPageSettings[Workspace name]):

In this case, the object name is Rules.

6. Open this schema. Open its metadata (Actions → Open metadata) and look at its metadata (Metadata (Read-Only) section) and copy its Uid, PackageUid and CreatedInPackageUId.



7. Export the rules configured in step 3.

8. This metadata needs to be slightly adapted to the mobile platform. Open the downloaded metadata file and make the following changes:

а) Change the Uid. You can either generate it or simply change a few digits/characters in the current value. The old UId must be changed throughout the scheme (at least 2).

b) Give a new name to the Addon in Name and A2. The format will be as follows: [Object name]RecordPageSettingsBusinessRule (for example, RulesRecordPageSettingsBusinessRule).

c) Replace all "EntitySchemaManager" with "ClientUnitSchemaManager", if any.

d) In B6, write the PackageUId from step 6.

e) In AD1 and TargetSchemaUId, write the UId from step 6.

f) In A5 we write the CreatedInPackageUId from step 6.

g) Replace all the names of the controls generated on the web with the corresponding column names. You can search for them using the following masks: LookupAttribute_, Input_, ComboBox_.

For example, instead of LookupAttribute_6wy705z, you should use UsrContactType.

h) Save the changes.

9. Import this modified schema. Select the desired package in the Configuration, click "Add" and select the "Import" item in the list (at the moment it is the last in the list).

As a result, in the package in which this section was added in the mobile application wizard, an Addon scheme with rules that are linked to the card configuration scheme in the mobile application should appear.

10. After that, synchronize the mobile app with Creatio and check the rule's operation.

Show all comments

We have many many business rules per page. Some are very complicated. We are considering restructuring our build to cut down on the number of rules per page.

My question is - does having so many business rules slow down the loading of each of my pages? 

Like 1

Like

3 comments

Hello,



A large number of business rules on a page can affect the speed of its loading, as the size of the object increases.

Two or three rules will not make any obvious changes to the page's performance. While a larger number of complex rules can actually affect the download speed.



We recommend that you contact our support team if you think that the page's performance is too slow, even despite the number of configured rules. (support@creatio.com)

Pavlo Sokil,

is it the same for business processes per object?

 

Heather Mahley,

Good afternoon,

The situation is different with business processes.

 

Complex processes affect not only a specific section, but also the performance of the system as a whole.

 

Therefore, we do not recommend running a large number of complex business processes at the same time, and we recommend optimizing them by removing unnecessary elements from them.

Show all comments

I want to filled in automatically from another field (From Date field to DATA (text) field)

but i don't see this option to choose

Like 1

Like

1 comments

Hello Arkadiusz,

 

unfortunately, you cannot achieve this via Business rules.

 

However, you can build a Business process, which will read the date and insert it to a different text field. The process will automatically change the data type to string so you won't need to do anything else.

 

Hope this way works for you.

 

Regards,

Gleb.

Show all comments

Hi community!

I'm adding a br on the mobile app to filter a custom lookup field based on another field's value.

To do this I have created a separate module and included it in the MobileApplicationManifestDefaultWorkplace.

 

It's not working on the app.

Could you help me out understanding what's missing?

Here's the BR 

Terrasoft.sdk.Model.addBusinessRule("Account", {
	ruleType: Terrasoft.RuleTypes.MutualFiltration,
	triggeredByColumns: ["Industry", "UsrApplication"], 
	connections: [{
		parent: "Industry", //Lookup field on Account
		child: "UsrApplication", // Custom Lookup field on Account (the Obj UsrApplication has a Lookup column "Industry")
		connectedBy: "UsrIndustry" // Lookup field on the "UsrApplication" obj
	}]
});

 

Like 0

Like

0 comments
Show all comments