Hi!

 

I wanted to add a pop-up through a script task and i used this:

 

this.showInformationDialogue("Message");

return true;

 

The problem is that it says that it doesn't recognize showInformationDialogue. I tried to add Terrasoft libraries, but it says that I can't use "using Terrasoft..." in a script task.

 

Does anybody have any idea how I can add a pop-up?

 

Thank you!

Like 0

Like

1 comments
Best reply

The only way this can happen is to send a message to the UI/browser from the script task. On the page or somewhere in the UI you need to listen for that message. Then, when received, display the popup message. 

I have an article here about how to send the message from the backend process/script task to the client: https://customerfx.com/article/sending-a-message-from-server-side-c-to-…

And an article about displaying popup messages from client-side code here: https://customerfx.com/article/displaying-information-confirmation-and-…

Ryan

The only way this can happen is to send a message to the UI/browser from the script task. On the page or somewhere in the UI you need to listen for that message. Then, when received, display the popup message. 

I have an article here about how to send the message from the backend process/script task to the client: https://customerfx.com/article/sending-a-message-from-server-side-c-to-…

And an article about displaying popup messages from client-side code here: https://customerfx.com/article/displaying-information-confirmation-and-…

Ryan

Show all comments

Hi!

 

I found this article where you can add a 'Refresh page' through a script task in a process. It uses this: "Terrasoft.Configuration.MsgChannelUtilities.PostMessageToAll("FXRefreshContactPage", "");"

How to Refresh a Page from a Process in Creatio (formerly bpm’online) | Customer FX

 

Is there a way to do the same for adding a po-up?

I tried with "this.showInformation()" but it doesn't work.

 

Also, I tried the Add-on from the Marketplace but it doesn't work.

 

Thank You!

Like 0

Like

1 comments

Hello,

 

You need to add the client-side handler method for the received message from the server (using ClientMessageBridge described here) and in this method handler (like onNewUserSet in the example) call the showInformation method and display the popup.

Show all comments

Hello!

 

I want to add a pop-up whenever a process starts. For example, I have a process that deleted an opportunity. This will open another process. Through code, I want the pop-up to appear when that second process starts or ends.

 

Does anybody know how I can do this?

 

Thank you!

Like 0

Like

3 comments

Dear Diana,

 

Thanks for your question.

 

 

To have a pop-up windows element in business processes you can use the following marketplace solution: 

https://marketplace.creatio.com/template/popup-element-business-process…

 

Hope this recommendation is helpful to you!

 

Best regards,

Anastasiia

Hi!

 

This add-on doesn't work, that's why I want to add the pop-up through code

Ghiu Diana Stefania,

 

You can refer the following article to understand the logic of how to send websocket message from a process script task and receive the message on the client side.

 

Add message publication logic through WebSocket

 

Hope this helps.

 

Regards,

Sourav

 

Show all comments
Question
Hello!

I'm making a custom widget and ran into a problem, I can't get the pop up out of it.

Like 0

Like

1 comments

Hello,

 

You need to debug the code to find out why this error is returned. Here is the article regarding the client-side debugging.

 

Best regards,

Oscar

Show all comments

Hello Creatio Community!

I want to change the text that appears in this pop-up, "Detail Product Terms is not filled". This pop-up appears when i click save and one of the product terms is not filled.

I have also seen in the SysTranslation table and i havent found it.

Like 0

Like

3 comments

Hello Petrika,

 

Unfortunately, It is not possible to change the text in the error message. The problem here is that the schema that defines it is very hardcoded in the application core. It is not possible to replace and modify it. 



Best regards,

Bogdan

Thank you Bogdan ! Best regards

Petrika,

 

Assuming the field is a text field, you can try the following custom approach in client page schema.

 

1. Make the field not required in the section wizard.

2. In the client page schema, add the following code in the methods:

methods: {
	// Redefining the base method initiating custom validators.
	setValidationConfig: function() {
		this.callParent(arguments);
		this.addColumnValidator("UsrProductTerms", this.ProductTermsValidator);
	},
	ProductTermsValidator: function(){
		var invalidMessage ="";
		var ProductTerms = this.get("UsrProductTerms");
		if(ProductTerms.length != 0){
			invalidMessage ="";
		}else{
			invalidMessage = "Product Term is required in order to proceed"; //Put your custom message
		}
		return {
			invalidMessage : invalidMessage
		};
	},
},

Now you can see your custom validation message. Similar approach can also be used for fields of type Lookup, Date, Integer etc.

 

Regards,

Sourav Kumar Samal

Show all comments

We have several processes using the popup element addon (https://marketplace.creatio.com/template/popup-element-business-processes).  The popup does not consistently display.  I can see the process runs correctly and shows the popup should display but it does not actually display in the UI in a Creatio hosted 7.18.4 environment.

 

In comparison, on a locally hosted instance of 7.18.2.1236, the popup does consistently display.

 

Please advise how we can get popups to consistently display.

Like 3

Like

9 comments

Hello Melanie,

 

Please keep the following best practices in mind when working with the popup element:

 

1. We recommend using the element after the elements of the User actions block. For example, Perform task, Pre-configured page, etc.

2. Avoid using several popup elements in a row. In this case, the user will see only the last element.

 

If you are already following the best practices, please send us a screenshot of the relevant popup element in the business process.

Hi Ivan,

We are following the best practices.  Here is a screen shot of the successfully executed process (though popup did not display), which is called when a user attempts to complete an activity.  We need to validate if information is filled out, and if not, display a popup of the missing information.

Again, this does consistently display in a locally hosted environment but does not consistently display on a cloud hosted environment.

 

Hello,

 

I am also having this problem with this popup element, same situation, element does not consistently display. It is also situation that it display locally but not in cloud environment.

Did you find solution for this problem?

 

Thank you in advance!

 

Best regards,

Marijana

 

 

Hello again,

 

Just found out solution for my problem. The problem was with the WebSockets ( there were not working on this cloud system). When I tried on other system it is working good. 

I am trying to utilize this plugin and am having the same problem. The process log shows that it run, but nothing appears on the front end for the user. We are using a cloud-based system. 

Has anyone found a solution for this yet?  We are still experiencing inconsistent popups in a cloud environment.

Still looking for a solution on this.  Please advise.

This is happening again for us.  Any updates yet?

Hi to all,

 

I recommend checking your browser extensions. Some of them, ad blockers in particular, could block pop-up windows in Creatio

Show all comments

Hi,

I have a scenario to show a pop up message based on user action (something similar like the screenshot) in the edit page of a section in mobile application.

 

Any ideas / suggestions would be great.

 

 

Thanks,

Mohamed.

Like 2

Like

2 comments
Best reply

Hello,

 

There is no option to add similar custom notifications. But as the workaround it is possible to setup push notifications for mobile app. Here is the Academy article that has step by step description regarding this task https://academy.creatio.com/documents/technic-bpms/7-13/how-set-push-no…

 

Regards,

Dean

Hello,

 

There is no option to add similar custom notifications. But as the workaround it is possible to setup push notifications for mobile app. Here is the Academy article that has step by step description regarding this task https://academy.creatio.com/documents/technic-bpms/7-13/how-set-push-no…

 

Regards,

Dean

dean parrett,

 

Thanks a lot, Works like a charm.

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

Hi,

 

After login, show popup welcome message, it should be auto disappear after 10 seconds.

How to achieve this ?

 

Any help will be highly appreciable

 

Regards

Like 0

Like

1 comments

It's possible to implement the functionality by creating the replacing client module for "BaseIntroPageSchema" schema. Override the init method in the schema in order to show welcome message after login. Every time the IntroPage is loaded the message is shown. In order to show the message only after login please create the replacing object for "Contact" and add column that will save information about was message shown or not. Every time the user is logged in or logged out the column value should be changed.Please use client EntitySchemaQuery to check the column value and change it  when the message was shown.To change the column value when the user is logged out you can create a trigger on an update statement to the SysAdminUnit table the LoggedIn column.

Here is the example below:

define("BaseIntroPageSchema", ["BaseIntroPageSchemaResources", "MainMenuTileGenerator", "AcademyUtilities"],

    function(resources, MainMenuTileGenerator) {

        return {

            attributes: {},

        

            methods: {

                /**

                 * @inheritdoc Terrasoft.BasePageV2#onRender

                 * @override

                 */

                onRender: function() {

                    this.callParent(arguments);

                    

                },

                

                closeDialog: function(){

                    $(".t-btn-wrapper.t-btn-text.t-btn-style-blue").click();

                },

                /**

                 * @inheritdoc Terrasoft.BasePageV2#init

                 * @override

                 */

                init: function() {

                   

                    this.callParent(arguments);

                    this.showWelcomeMessage();

                },

                showWelcomeMessage: function(){

                    

                    let currentUserId = this.Terrasoft.SysValue.CURRENT_USER_CONTACT.value;

                    var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {

                        rootSchemaName: "Contact"

                    });

                    // Add column with name of main contact of accounts that refers to given contact.

                    esq.addColumn("UsrShowWelcomeMessage");

                

                    // Get one record from selection on the basis of [Id] of card object and display it 

                    // in an info window.

                    esq.getEntity(currentUserId, function(result) {

                        if (!result.success) {

                            // error processing/logging, for example

                            this.showInformationDialog("Data query error");

                            return;

                        }

                        if(!result.entity.get("UsrShowWelcomeMessage")){

                             this.showInformationDialog("Hello!");

                             setTimeout(this.closeDialog, 10000);

                             this.updateRecord(currentUserId);

                        }

                    }, this);

                  },

                  

                  updateRecord: function(contactId){

                      var update = Ext.create("Terrasoft.UpdateQuery", {

                        rootSchemaName: "Contact"

                    });

                     

                    update.filters.add("IdFilter", update.createColumnFilterWithParameter(

                        Terrasoft.ComparisonType.EQUAL, "Id", contactId));

                     

                    update.setParameterValue("UsrShowWelcomeMessage", 1, Terrasoft.DataValueType.BOOLEAN);

                    update.execute(function() {

                        // do any needed refreshing here etc

                    }, this);

                }

                

            },

            diff: []

        };

    });

 

Show all comments

Greetings,



I am trying to change the default value of the dropdown in a lookup minipage.

https://prnt.sc/q0igzs





Example: Whenever I open the Owner lookup, it defaults to "Full name" but I want to change it to Account.



Is there a way to change the default value?



Before: https://prnt.sc/q0iq0e



After: https://prnt.sc/q0iqgy



Thank you in advance.

Like 0

Like

1 comments

Dear Yosef,

Yes, it is possible to do either via hard additional development or by changing "Displayed value" in object advanced settings for the object that is represented by the lookup http://prntscr.com/q50jbe. Please note that it is not preferred option since this value will be changed everywhere in the system where lookups based on "Contact" object are used.

Please also note that account field cannot be selected there since account is another lookup, but the system allows using only "String" data type fields when specifying "Displayed value", but you can add your custom hidden field and create a process that will fill this field in with the value of an account that is chosen for the contact specified.

Best regards,

Norton

Show all comments