Hi Community,

 

In Edit Page, there is asyncValidate method which validates the record asynchronously before saving. Now I want the same on deleting of records on detail. Is there any asyncValidate method on detail grid I can inherit? I want to perform asynchronous validation before deleting records on detail grid.

 

Thanks

Like 0

Like

1 comments

Hi Fulgen, 



There is no possibility to call validation since records being deleted throughout the detail's grid, not the object's page. 

But you can override methods of the mentioned grid and add your own logic into it. 

Please note that schema should also be added into custom BootstrapModulesV2 to upload it. 



Kind regards,

Roman

Show all comments

Hi;

I create the edit page which contain editable detail on it

When i run this page from section or from process i can edit this detail

when i run it from another edit page by the link in noneditable detail i cant edit it there is no add button and when i enter the detail the data disapear.

 

Regards

Tomek

Like 0

Like

1 comments

Usually, when the data is disappearing, I have had the wrong columns set in the Detail setup in the Page Wizard. If the detail is looking for the wrong columns in the two sections, the link between them is broken. and it will create the records but not show them. It is hard to know without more information. 

Show all comments

I have created 3 new sections using section wizard and changed name of the UsrName field in all of them because I wanted different names.

But now whenever I publish any new object or compile items, I get this error. Is there any way to sort it out.

I am using demo environment.

Thank you

Like 0

Like

6 comments

Creatio does not like it when the UsrName is changed. You will need to change it back. You can change the title, but you cannot change the Name. You can, however, not use it. If you create a new String, you can change the Displayed Value in the Advanced Settings for the object to the new String you made. This changes the blue links to the new string instead of the UsrName.

 

Reid Burger,

 

Thanks for clarification.

I also would like to know if I can change the Required - At application level to No for UsrName.

RAMNATH SHARMA,

 

It is fine to change properties like required at application level to no. If the field is being used as the display value (like the name field) then having it blank would mean nothing would show in a lookup (if its used as a lookup somewhere). 

 

BTW it's usually a good idea to not rename column or object names and only change the titles once they're created. 

 

Ryan

Ryan Farley,

I changed back the names to UsrName using section wizard (which I later realized shouldn't have changed them back). Then I compiled the current workspace from Advanced settings to see if still any error occurs. 

Here are some screenshots

Now The errors are because I changed back the name to UsrName, it says that the old Name - UsrClaimant don't exist.

I also opened the source code where these errors were pointing to - 

 

 

But I can not edit the source code in Cloud demo instance.

Is there any way to change the source code or any process to correct these source codes?

 

Ramnath

Hi Ramnath,



As Reid mentioned, we do not recommend to change the name after the section being created.



If such an issue appears you can simply generate source code for all objects that are mentioned in compilation errors and compile modified items. If all necessary items were not removed this should fix the issue



Thank you.

Bohdan Zdor,

Thanks. I will definitely try this out.

Show all comments

Hi;

My wait for timer element last extreamly long

I set wait for timer for 30 secont it takes almost 3 days

any ideas.

Details in attached file

Regards

Tomek

 

File attachments
Like 0

Like

1 comments

Hi Tomek,

 

Seems that you have a huge number of processes that use the timer element and that's why the scheduler can't process some of them in time and also I can see that the next time the timer got started is in the morning after several days. Please apply these two recommendations and there shouldn't be any problems with the timer in the future:

 

1) Please find the "threadCount" parameter in the root Web.config file of the application and change the value of this parameter from 5 (default) to 10 and check the result after that. We do not have a formula so to count the needed value of this parameter and if it won't help you need to try to change the value to 15 and check the timer after that.

 

2) The fact that the timer job was executed in the morning  can tell us that your application goes to the "idle" mode at night (Idle Timeout in IIS). 

 

If this is a cloud-based application please email us at support@creatio.com and ask us to disable the "idle" mode for your app and also modify the value of the "threadCount" parameter. If this is an on-site application please apply needed changes to the root web.config file and disable IIS timeout in the IIS settings.

 

Best regards,

Oscar

Show all comments

Our client has an issue that any change in object permissions is not being recorded in Audit Log, despite the fact that all the system settings for audit log are enabled. Is there anything missing besides system settings that need to be enabled in front-end?

Like 0

Like

1 comments

Dear Kavian, 



To log changes in object permissions you need to make sure that "Log entity access rights management events" system setting is enabled. It's code is "UseAdminEntitySchemaOperationLog". 

Please note that only changes applied in "Use record permissions" will be logged. 

In order to log changes in column permissions there, you will have to turn on the "UseAdminEntitySchemaColumnLog" system setting. 

As for the Operation Permissions changes, they are not logged in Audit Log. 



Kind regards, 

Roman

Show all comments

Hi. We are starting the NFR licenses cloud implementation. How should we set up separate development / testing / pre-production / production environments ?

Like 0

Like

1 comments

Dear Ricardo, 

 

I guess that it would be better for you to contact your Creatio manager and discuss this information with him, depending on quantity of licenses available and your business needs.  

Please note that you can create only one website for one Customer ID if you have less than 20 full-licenses active on it. In this case if you need to create Test or Dev website you have to request an additional CID and get at least one license on it. 

 

Kind regards,

Roman

Show all comments

When one of our contacts becomes unsubscribed, we would like to notify our manager about it.

How is it possible? With a business process? But I couldn't catch the unsubscribed event. Is there another way?

Like 0

Like

1 comments
Best reply

Yuriy,

 

You won't be able to catch the response on the bulk email using the signal process element (since this data is added to the database directly) however you can create a process with the timer that will review the "Response in Email" object and check if a new "Unsubscribe" response was added. You can create a time parameter and use it as a filtration condition (in the "Created On" field). So you can run this process once per hour, read the collection of records in the process (from the "Response in Email" object) and use this data.

Yuriy,

 

You won't be able to catch the response on the bulk email using the signal process element (since this data is added to the database directly) however you can create a process with the timer that will review the "Response in Email" object and check if a new "Unsubscribe" response was added. You can create a time parameter and use it as a filtration condition (in the "Created On" field). So you can run this process once per hour, read the collection of records in the process (from the "Response in Email" object) and use this data.

Show all comments

I am searching for any article or guidance to add an confirmation message when user tries to change status in a section record, the system first asks user via confirmation message(pop up). The pop message should state whether if you are sure to change state or not with Yes or No option.

I only that there will be use of localizable strings in object schema but how it all adds up to create a pop message.

can anyone help in this matter?

Thank you

Like 0

Like

8 comments
Best reply

I do have this article describing how to show various prompts in Creatio via code, like confirmation dialogs etc.

https://customerfx.com/article/displaying-information-confirmation-and-error-dialogs-in-bpmonline/

 

Is that what you're after?

Ryan

I do have this article describing how to show various prompts in Creatio via code, like confirmation dialogs etc.

https://customerfx.com/article/displaying-information-confirmation-and-error-dialogs-in-bpmonline/

 

Is that what you're after?

Ryan

Hello Ryan,

 

Yes, I am looking for the exact thing. Currently I want to add a Prompting for Choices confirmation dialog written in your article to a section after change in status. 

 

Can you please tell me if any of Creatio CRM section have this in-built (confirmation message) so that I can find the code to understand how to bind functionality or process to the YES or NO button?

 

Thank you

Hello Ramnath Sharma,

 

Current versions of the Creatio CRM don't have such kind of ready in-built pop-up confirmation.

On the other hand you can try to use the methods which were provided by Ryan Farley:

 

https://customerfx.com/article/displaying-information-confirmation-and-…

 

Also in articles below you will be able to find information about other kinds pop-up windows (with input fields, buttons, etc.):

 

https://academy.creatio.com/documents/technic-sdk/7-15/adding-pop-summa…

 

https://academy.creatio.com/documents/technic-sdk/7-15/creating-pop-sum…

 

https://academy.creatio.com/documents/technic-sdk/7-15/creating-pop-sum…

 

https://academy.creatio.com/documents/technic-sdk/7-15/adding-pop-hints

 

You can also analyse the the any minipage code and create a custom page that would open upon your preferred conditions.

 

Best regards,

Roman

RAMNATH SHARMA,

 

Yes, you can use that code in a section, page, or anywhere in Creatio. To do a Yes/No prompt, you'd add code like this (from the article I posted)

Terrasoft.showConfirmation("Would you like to do the thing?", function(result) { 
    if (result === Terrasoft.MessageBoxButtons.YES.returnCode) {
        // the user selected "yes" - do something here if needed
    }
    else {
        // the user selected "no" - do something here if needed
    }
}, ["yes", "no"], this);

To show this confirmation after the user changes the Status field, you'd need to wire up a change event for that column, I describe how to do that here: https://customerfx.com/article/triggering-an-event-when-a-field-is-changed-on-a-page-in-bpmonline/

 

Inside the method that fires when the Status column is changed, you'd place the code above, and could then react as needed.

 

Hope this helps,

Ryan

Thank you Roman and Ryan.

 I will follow the suggested articles to implement pop up confirmation.

Ryan Farley,

Is it possible to send these informational / confirmation messages from business processes (Script tasks, maybe) ?

Ryan Farley,

Hi,

I want to use this code, but not sure where to add the code to?

Is that in a script task of a process?

Thanks

Chani Karel,

The code listed above and in the linked article are for client-side code (code that would exist on a page). It is possible to send a message from a process that would get received on a page, but that does require some programming on both sides (a script task in a process and also modifying code on a page, or somewhere in the client to receive the message from the process and display the prompt - however, there's no way to get the result of the prompt back to the process so it can proceed according to the value selected). This article explains how to send a message from a process to be received in the client https://customerfx.com/article/sending-a-message-from-server-side-c-to-…

Ryan

Show all comments

Dear mates,

 

Any one please suggest best tool for performance monitoring and supported list of third party backup of software.

 

Thanks.

Like 0

Like

1 comments

Hello!

 

We recommend using the following tools to monitor the performance:

  • Zabbix is an open-source monitoring software tool for diverse IT components, including networks, servers, virtual machines (VMs) and cloud services. Zabbix provides monitoring metrics, among others network utilization, CPU load and disk space consumption.  
  • Grafana is the open-source analytics and monitoring solution for every database. It provides charts, graphs, and alerts for the web when connected to supported data sources. 

Please, let us know in case any additional information is required. 

 

Best regards, 

Olga Avis.  

Show all comments

In order to delete an address on Account page, I need to click Actions first, then press the Delete button.

 

I would like to use a hotkey for this. How could I do it? I've seen this question, but don't know how to adapt it to my needs. Should I modify the code of AccountPageV2 for this? How to get the selected address row?

Or maybe this improvement is already planned in Creatio's next releases?

Like 0

Like

1 comments
Best reply

Hello Yuriy, 



In order to implement the requested functionality please create a replacing module for "AccountAddressDetailV2" and override "onGridDataLoaded" method in it ( It's being called after rendering). 

In this method you can retrieve a detail's grid and get the DOM element from it. You can assign your own handler on it's keydown event whcih will call  "this.deleteRecords()" after pressing the needed button. 



Here is the example for the "Delete" button in "AccountAddressDetailV2":



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

    return {

        entitySchemaName: "AccountAddress",

        diff: /**SCHEMA_DIFF*/ [] /**SCHEMA_DIFF*/,

        methods: {

            onGridDataLoaded: function() {

                this.callParent(arguments);

                var grid = this.getCurrentGrid();

                var wrapEl = grid.getWrapEl();

                wrapEl.on("keydown", this.onKeyDown, this);

            },

            onKeyDown: function(event) {

                if (event.keyCode === event.DELETE) {

                    this.deleteRecords();

                }

            }

        }

    };

});



Kind regards,

Roman 

Hello Yuriy, 



In order to implement the requested functionality please create a replacing module for "AccountAddressDetailV2" and override "onGridDataLoaded" method in it ( It's being called after rendering). 

In this method you can retrieve a detail's grid and get the DOM element from it. You can assign your own handler on it's keydown event whcih will call  "this.deleteRecords()" after pressing the needed button. 



Here is the example for the "Delete" button in "AccountAddressDetailV2":



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

    return {

        entitySchemaName: "AccountAddress",

        diff: /**SCHEMA_DIFF*/ [] /**SCHEMA_DIFF*/,

        methods: {

            onGridDataLoaded: function() {

                this.callParent(arguments);

                var grid = this.getCurrentGrid();

                var wrapEl = grid.getWrapEl();

                wrapEl.on("keydown", this.onKeyDown, this);

            },

            onKeyDown: function(event) {

                if (event.keyCode === event.DELETE) {

                    this.deleteRecords();

                }

            }

        }

    };

});



Kind regards,

Roman 

Show all comments