Hi,



I have created a business process for auto-filling field values. But, the fields will be auto-populated after saving the record and refreshing the page. But, I need it to be done without saving the record and refreshing the page. Here, I am attaching the business process and desired results screenshots. Please have a look and provide your valuable assistance as soon as possible. 

af.PNG

Requirement:

            After choosing the Existing contact using the Applicant Name lookup, the below fields will be auto-filled with the corresponding values without saving the record and refreshing the page. In my case, Applicant Name is the lookup field which is referencing the Contacts. 

 

af1.PNG

I know it is possible through JS Scripts and the onChange method. But, the fields belong to the Contacts section. How can I get the values from the Contacts section? Please provide your assistance. I was unable to get the values from the Contacts section. These are two different sections. The applications section is the custom section. Whenever the user selects the existing contact, some of his/her details will be auto-populated from the Contacts section. Please provide your valuable suggestions. 

Like 0

Like

5 comments

Hello Nagamani,

 

Could you please provide us with screenshots once again? Files in your post are corrupted.

 

Thank you in advance!

Olga. 

Olga Avis,

I have attached the screenshot below here. Please have a look and provide your valuable assistance.

There's really two main ways this is accomplished, both options do require programming. 

Option 1: Write code on the page that responds to a change of the checkbox property, then sets the values using this.set("Columnname", "Value") accordingly. I have an article on wiring up a change in the page code here: https://customerfx.com/article/triggering-an-event-when-a-field-is-chan…

Option 2: This route might work better since you already have the process in place. For this option, you'll add a script task in the process as a last step that will send a message to the page. The page will listen for this message and then refresh using this.reloadEntity(). I have an article on how to do this here: https://customerfx.com/article/how-to-refresh-a-page-from-a-process-in-…

Hope this helps,

Ryan

Ryan, thank you for the answer.

 

You're right, but there's lack of the "destroy" function in it:



define("DealBasePage", ["DCMUtilities", "UsrWaterfallConstants", "BusinessRuleModule", "css!DealPageCSS"],

function(DCMUtilities, UsrWaterfallConstants, BusinessRuleModule) {

  return {

    entitySchemaName: "Deal",

    methods: {

      init: function() {

        this.callParent(arguments);

        this.Terrasoft.ServerChannel.on(Terrasoft.EventName.ON_MESSAGE, this.onStatusMessageReceived, this);

      },

      destroy: function() {

        this.Terrasoft.ServerChannel.un(Terrasoft.EventName.ON_MESSAGE, this.onStatusMessageReceived, this);

        this.callParent(arguments);

      },

      onStatusMessageReceived: function(sender, message) {

        if (message && message.Header && message.Header.Sender === "DealStatusSender") {

          var result = this.Ext.decode(message.Body);

          if (this.get("Id") === result.RecordId) {

            this.loadLookupDisplayValue("DealRank", result.StatusId);

          }

        }

      }

    }

  };

});





Thank you!

Bohdan Zdor,

Thanks I updated the article to include the unregister.

Show all comments

Hi,



I have to implement access permissions for a Applications in a 7.13.3 version. 

1. Every record in the Applications section should visible to all the users.

2. In my instance, 3 functional roles are there such as Agent, Manager, and Approver.

3. I have assigned 2 users for the Agent role. The records which are created by Agent1 should not be edited or deleted by the Agent2 except the manager. 

Step 1: The records which are created by Agent1/Agent2 are only edited by manager and it's owner. It is working as expected.

Step 2: The records which are created by Agent1/Agent2 are able to delete by every user event Agent2 also. But, in our case the record should not be deleted by other agent, other than manager and its owner.

I have given the default permissions like the attached screenshots below here:



Like 0

Like

3 comments

Hello!

 

You can check what access rights are distributed by going into the record and selecting "set up access rights". DSA Agents will be able to delete records if they created them. Other users may have access to deletion if there are incorrect roles inheritance. It will be better to deny access for delete operation to all roles and allow it only to certain roles. 

Angela Reyes,

Can you please tell me more clearly. Actually, I didn't get what you said.

Nagamani Dangeti,

 

Open record in Applications section and go to actions -> set up access rights to check who can delete records. To complete your task go to access to objects permissions and deny delete operation in access to object tab for Applications.

Show all comments

Hi,

 

I have implemented the features like Auto Filling and Auto Clearing fields through business processes. But, this happened after saving the record and running the business process. But, we want to implement the above features without saving the record and running the business processes. Can anyone please provide your valuable assistance?

Like 0

Like

4 comments

It's possible to implement Auto Filling and Auto Clearing fields functionality using "dependencies" property of the field attribute. There is an example below. In the example when the "Type" field value is changed, the "Owner" field is cleared. When the "Salutation" field value is changed, the "Gender" field is auto-filled (https://i.imgur.com/KwtOWH1.png).

 

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

    return {

        entitySchemaName: "Contact",

        attributes: {

            SalutationType: {

                dataValueType: this.Terrasoft.DataValueType.LOOKUP,

                dependencies: [{

                    columns: ["SalutationType"],

                    methodName: "onSalutationTypeChange"

                }

               ]

            },

            

            Type: {

                dataValueType: this.Terrasoft.DataValueType.LOOKUP,

                dependencies: [{

                    columns: ["Type"],

                    methodName: "onTypeChange"

                }

               ]

            },

        },

        modules: /**SCHEMA_MODULES*/{}/**SCHEMA_MODULES*/,

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

        businessRules: /**SCHEMA_BUSINESS_RULES*/{}/**SCHEMA_BUSINESS_RULES*/,

        methods: {

            onSalutationTypeChange: function(){

                const salutation = this.get("SalutationType").displayValue;

                if( salutation === "Mr." ){

                    this.set("Gender", {value: "EEAC42EE-65B6-DF11-831A-001D60E938C6", displayValue: "Male"});

                }

                if( salutation === "Mrs." ){

                    this.set("Gender", {value: "FC2483F8-65B6-DF11-831A-001D60E938C6", displayValue: "Female"});

                }

            },

            

            onTypeChange: function(){

                this.set("Owner", null);

            }

        },

        dataModels: /**SCHEMA_DATA_MODELS*/{}/**SCHEMA_DATA_MODELS*/,

        diff: /**SCHEMA_DIFF*/[

            

        ]/**SCHEMA_DIFF*/

    };

});

 

 

 

Alina Kazmirchuk,

Thank you for your response. But, I want it to happen in many fields. Here, below I am attaching the screenshot of desired results.

1. Auto Clearing - Whenever we check the boolean field of New Contact, the below fields will be automatically cleared. 

2. Auto Filling - Whenever we select the existing contact in Applicant Name then the below fields will be automatically filled with related information.



Is it possible to do using business processes?



Alina Kazmirchuk,

Thank you so much. 

I have done auto clearing by following your provided assistance. But, I was unable to do the Auto filling. Can you please provide more guidance on Auto Filling?

Alina Kazmirchuk,

In the above screenshot, the Applicant name is a lookup field that is referencing the Existing contact section. If we choose an existing contact, then some of the fields will be auto-filled with the corresponding values. The solution which was provided to me for auto-filling is not suitable for my problem. In your case, the salutation field is having a few values. So we can easily write if conditions. But in my case Applicant name is having so many values i.e., contacts. So, it is very difficult to write that many number of conditions. Can you please any other alternative for Auto filling the field when we select any value in the Applicant name field?

Show all comments

Hi,

 

I have used Open-popup element to notify the user about approval which was downloaded from Creatio Marketplace and installed in my local instance. It was installed successfully without any errors. But, If I did any changes to the instance I got many errors. Even, I was unable to do "Compile modified items" due to errors. Is there any other element to notify the user about approval  like you have to take approval from so and so person. Please provide your valuable assistance. 

Like 0

Like

1 comments

Hi Nagamani,

 

Instead of a popup element, you can use basic email notifications:

 

1) a notification that an approval is required

2) a notification about the approval result.

Show all comments

Hi,

 

I have downloaded the Open-popup element from creatio marketplace and installed it in my local instance thorough installed applications. After successful installation, if I do any changes then it is showing the errors related to that pop-up element. I have attached the errors screenshot below here. Please have a look and provide your valuable assistance.

Like 0

Like

3 comments

Hi Nagamani,

 

please specify the Creatio product and version you use.

If you set up business processes in your project package, please make sure you added the 'GlbOpenPopupWindowUserTask' package on the 'Depends on Packages' tab of your package.

Irina Lazorenko,

I am using Creatio Bank Sales product and the version is 7.13.3.

Irina Lazorenko,

​​​​​​We have added the "GlbOpenPopupWindowUserTask" package to the 'Depends on Packages' tab of my package. The issue is resolved now. 

Thank you.

 

Show all comments

Hi,



Step 1: In an application form, there is a boolean field for "new contact"  and a contact lookup for selecting the existing contact. 

Step 2: If that application doesn't related to any existing contact we can select new contact then contact will disappear. 

Step 3: If that application is related to an existing contact we can select that contact. Then related information of that contact is automatically filled in the application form. 

Step 4: If we get the information by selecting the existing contact. 

Step 5: Suppose if we want to select the boolean "New Contact" then all the updated information has to be cleared.  

We succeed in up to Step 4. But, we are unable to implement the Step 5

Your valuable suggestion or workaround would be a great help for us to implement this feature. Here, I am attaching a screenshot of my issue below: 

 

 

Like 0

Like

6 comments

Hello Nagamani,

 

Please build the process as on my screenshot:

 

http://prntscr.com/r90dih

 

In my example I've created a process that will be triggered once "Will make fields empty" checkbox is filled in and in "Modify data" element I am using formula values for each field:

 

1) For String data type field - "string.Empty" formula value

2) For Lookup data type field - "Guid.Empty" formula value

3) For Date/time data type field you need to use "null" formula value

 

Best regards,

Oscar

Oscar Dylan,

Thank you for your quick response.

I have followed the same procedure which you have said. But, After selecting the boolean field, I am getting the formula values in the text fields which I have given in the business process. I was unable to add the business process to the custom section. Here, I am attaching the screenshots of my issues. Please have a look and provide your valuable assistance.

 

 

 

 

 

Nagamani Dangeti,

 

You also need to paste string.Empty as formula value (by clicking on "Formula" button http://prntscr.com/r91stl). I did exactly the same in my trial application and the process made string empty. Please also get sure that you are using 7.15.2 or 7.15.3 application version.

 

Best regards,

Oscar

Oscar Dylan,

 

I am using 7.13 version

Oscar Dylan,

I need that process should be happen for every record not for a single record. If I use signal element then that business process is not showing when I want to add it to the custom section. 

Oscar Dylan,

Thank you so much. I have implemented that by following your steps. It is working as expected.

Show all comments

I want to write code for "Auto Increment Numbering" when any entry will be added from anywhere in instance like Add page or business process or Data import utility.



Please suggest me the solution.

Like 0

Like

4 comments

Dear Jitendra, 

 

Please check server-side implementation in the article below:

https://academy.creatio.com/documents/technic-sdk/7-15/how-add-auto-numbering-edit-page-field

Dennis Hudson,

Thanks for the reply.

But I am facing an issue while creating the business process.

Insite the formula boxstring.IsNullOrEmpty(Entity.GetTypedColumnValue<string>("Code"))

is not accepted.

Throwing error " 

Formula value error: Parameter "Entity" not found

 

 

Thanks for the reply.

But I am facing an issue while creating the business process.

Insite the formula boxstring.IsNullOrEmpty(Entity.GetTypedColumnValue<string>("Code"))

is not accepted.

Throwing error " 

Formula value error: Parameter "Entity" not found

jitendra,

Most likely you are creating a regular process, you need to create a process in an object (http://prntscr.com/r78hmo)

Show all comments