Hi Community!

 

We are trying to find an elegant way of preventing the execution of business processes from create, update and delete elements within other business processes.

Think of it as Outlook's 'Stop processing more rules' flag.

 

We could set a certain flag and add it to the other processes' signal conditions, but this leads to a high coupling of business processes, more complexity, and over the lifetime of a Creatio instance inevitably to errors as everyone needs to know this 'magic' behavior.

 

Ideally, signals in Creatio would have the option to distinguish between different triggering options, like 'user', 'business process', 'import', 'odata', 'event handler', etc. but unfortunately, this is a missing feature.

 

Any thoughts would be more than welcome!

 

Thanks,

Robert

Like 1

Like

2 comments

Hi Community,
any ideas on this?

 

Thanks,

Robert

Hello,
 

At the moment, such functionality is not available in Creatio's OOTB solution for triggering the addition/modification of records. 
Indeed, a workaround in this situation can be to create additional columns at the level of the object model that will be filled in depending on which method the record was created/modified (for example, a special column for OData).
We will register this development idea with our R&D team so that they can consider implementing such functionality in future versions of the Creatio product.
 

Thank you.

Show all comments

Dear colleagues

 

I have a process that runs when a new record is inserted and ‘does stuff’, it works perfectly, but.

 

When I do a bulk upload from Excel to that object, the process runs in isolation, in parallel, for each row in Excel.

 

Is there any way that the process could ‘detect’ that the inserted record comes from an Excel import and wait for FIleImport process to finish loading and then process row by row of excel?
 

Or some another approach?

 

Thanks in advance,

Julio

Like 4

Like

4 comments

Hello!
 

A quick solution would be to add a timer—say, 10 seconds—after which the process will read the data and proceed with the flow. This would be the fastest approach.

Regards,
Orkhan

Orkhan,

Thanks Orkhan, I tried, but didn't works, so if several records are inserted on the "same" time, the 10 seconds are not a difference so all process instances are waiting the same 10 seconds.. :-(

The best approach I found is to import on temporary table and when done run a process who move records to final one, but I want to found some method to avoid this kind of approach.

 

Some ideas?

 

Regards 

Julio.Falcon_Nodos,

have you seen the following post https://community.creatio.com/questions/run-process-after-excel-import ?

 

Show all comments

I’m trying to hide fields in Freedom UI conditionally, but it seems this can only be done with code. Unfortunately, the online resources available did not help me that much. Any guidance would be greatly appreciated!

Like 0

Like

7 comments

Dear Prachi, you have the option to hide/show in field property, see image

 

 

 

Then with business rules you enable to see or to hide the field as you need

 

Regards

Julio

Hi Julio, 
Thank you for your response. But then this is not triggered by condition, right? 

Hi

 

I'm not sure what your question is. You have business rules to hide or show fields, tabs, groups, etc.

 

Julio

Julio.Falcon_Nodos,

In Freedom UI. I did not see an option to do that by using business rules. 

Prachi Bhelkar,

You have access tu BR in this icon

 

There you must add a Page Bussiness rule, like you can see in the image

I do not see these options I do not know why. 

Prachi Bhelkar,

You are viewing the business rules on the object. You need to view the business rules on the page. Open the page for editing, then click the icon shown my Julio to view the page level rules (showing a hiding are page level rules, not object level rules - in the object you can only set object level rules)

Ryan

Show all comments

Good afternoon and Happy Friday! Is there a way to confirm my text messages are getting delivered and read through Twilio?

Like 0

Like

5 comments

Hi Eric,

Are you talking about this Marketplace solution? https://marketplace.creatio.com/app/twilio-sms-connector-creatio

Oleksandr Bilousko,

SMS Message looks like what I am using, but not exactly. When sending a Text, this is what I am seeing . My version is not giving me an option to verify my text was delivered.

Eric J Buglar,


There are a few connectors to Twilio available on the Creatio Marketplace.
Unfortunately, I couldn't recognize the exact app you mentioned.
Could you please check your Application hub or Marketplace catalog and share the link to a certain app?

I am not sure if I have authorization to do so, but I will try. What do you need?

 

Eric J Buglar,


If you’re unsure, I recommend asking the individual responsible for administering Creatio in your organization to access the Application Hub. This tool provides an overview of all installed Marketplace apps.

For further guidance, you can refer to more details here: Application Hub Documentation.

Show all comments

Hi all,

This email for asking additional hints/clarifications.

We are preparing Creatio UI automatic testing using Selenium.

ID locator in Selenium is the most preferred and fastest way to locate desired WebElements on the page. Since IDs are unique for each element on the page, it is considered the fastest and safest method to locate elements.

We have noticed, performing a Creatio UI testing with Selenium, that ID locator method cannot be adopted with Creatio since the IDs are recreated during each Creatio login session.

In order to let Selenium properly works we had to use Xpath in order to find elements on a Creatio UI.

Do you confirm what we are experimenting with Selenium (i.e. no possibility to use ID locator)?

Best regards,

Stefano

Like 0

Like

1 comments

Hi Stefano.

 

The IDs of the elements are autogenerated each time the page loads, so using IDs is impossible during the tests. Theoretically, if it's possible with Selenium, you need to think on how the DOM tree can be retrieved using querySelector\querySelectorAll and using (once again if possible with Selenium) it instead of element IDs.

Show all comments

Good day to everyone! I’ve encountered a task where I need to update the NextSteps component. I used crt.LoadData and crt.ChangeNextStepsStateRequest, but they didn't produce the desired results.

After executing, the component does not update, and data is not displayed; only after a full page refresh does the Next Step appear.

Has anyone encountered a similar issue and could help with a solution? Thanks in advance!
 

{
				request: "crt.HandleViewModelInitRequest",
				handler: async function(request, next) {
					this.applyMethods(request.$context);
					Terrasoft.ServerChannel.on(Terrasoft.EventName.ON_MESSAGE, (await request.$context.ServerMessageReceivedFunc), request.$context);
					await next.handle(request);					
				},
				applyMethods: function(context) {
					let methods = {
						refreshNextStepsStates: async function(date) {
							console.debug(date);
							const handlerChain = sdk.HandlerChainService.instance;
							await handlerChain.process({
								type: 'crt.ChangeNextStepsStateRequest',
								$context: context,
							});
						},						
 
						showWarnDialog: async function(message) {
							const actionsConfig = [
								{
									key: "OK",
									config: {
										color: "warn",
										caption: resources.localizableStrings.BnzShowDialogCloseBtn
									}
								}
							];
							const result = await context.executeRequest({
								type: "crt.ShowDialogRequest",
								$context: context,
								dialogConfig: {
									data: {
										message: message,
										actions: actionsConfig
									}
								}
							});
						},
 
						onSubscribeWebSocket: async function(event, message) {
							if (message.Header.Sender === "Banza_ApprovalAction_WebSocketSender") {
								await this.handleShowWarnMessage(message);
							}
						},
 
						handleShowWarnMessage: async function(message) {
							const sysValuesService = new sdk.SysValuesService();
							const sysValues = await sysValuesService.loadSysValues();
							const caseId = context.attributes.Id;
							const currentUserContactId = sysValues.userContact.value;
							const msgObj = JSON.parse(message.Body);
							if (msgObj && sysValues && currentUserContactId === msgObj.currentUserContactId) {
								if (caseId === msgObj?.recordId) {
									if (msgObj.action === "showWarnDialog") {
										await this.showWarnDialog(msgObj.message);
										await this.refreshNextStepsStates(msgObj?.date);
									}
								}
							}
						},
 
 
					context.ServerMessageReceivedFunc = methods.onSubscribeWebSocket.bind(context);
					Ext.apply(context, methods);
				},
}
Like 4

Like

1 comments

Hi,
Normally, the Next Step component should refresh automatically and show a new step, does it now work in your case? If so, how do you add a new task to it?

Show all comments

How can you set custom field e.g. UsrSecondType on Account as readonly in Mobile app with Freedom UI?

Like 0

Like

1 comments

If you go to Configurations and search for the object, open it on the left hand side you see business rules then you put conditions in a way where a field that is required is set to filled in and the field that you want read only select that. 


Here color is the field you want to make read only and Job number is a required filled. 

Show all comments


Hello Creatio Community,

 

I'm working on integrating Creatio CRM with a third-party application, and I’d like users to access specific Creatio pages without needing to log in each time they navigate from the third-party app.


Here are some specifics of my setup:
When users are logged into the third-party app, they should be able to open Creatio pages directly without being redirected to the login page.

 

I’m using URLs with ?autoOpenIdLogin=true to facilitate automatic login.

 

My main questions are:
Are there recommended ways to keep the SSO session active between the two apps?
Has anyone implemented a solution using silent authentication checks or embedded iframes to keep the session refreshed?


Any insights or best practices would be appreciated!

 

Regards,

Ajay K

Like 1

Like

1 comments

Hello,
 

Could you please provide more technical details regarding your implementation? Are you using OpenID for authentication in Creatio? What specific issues have you encountered with your current setup when using ?autoOpenIdLogin=true in the link?

Have you considered an integration option through SSO with an automatic redirect setup? This would ensure that if the user is already authenticated on the IdP side, they will be automatically redirected back and logged into Creatio. 

With this setup, the user will be redirected to the IdP, logged in automatically if in current session he is logged in on Identity provider side, and then redirected back to the record page without login page.
 

(Steps for achieving this are outlined in the following article: SSO setup guide.

Please note that Step 5 – “Set SSO as the default option” is essential. The rest of the SSO setup instructions should be followed according to the latest version in the Creatio interface.)
 

If you’re using a cloud environment, please inform the support team of the need to enable auto-redirect.
 

We recommend testing this approach, and we hope it will be helpful!

Show all comments

Dear,

 

Each time I reconnect an email (following a problem with the provider) the configured email is added to my contact card.
Is it possible to deactivate the automatic addition of email?

 

Thank you !
Nicolas

Like 0

Like

1 comments

Dear Nikolas,

To avoid this automatic addition, we recommend the following flow:
1. Reconnect the mailbox, the system will ask if you want to download email for the last week, select "Change settings":



2. Go to the settings, and when changing them, the system will ask if you want to add this email address to the contact communication detail, here you can select no:



Please note that the system will only ask you if you want to add this mailbox if it has not been added yet. So, if you already have this mailbox added to the communication option, please remove it from the contact.

Have a great day!

Show all comments

Hi Community,

 

We are inserting records in GivenName and Surname fields in Contact Table via API. We are seeing full name in the Name field in UI (which is a concatenation of GivenName and Surname), but the GivenName and Surname fields are blank. How can we get GivenName and Surname to display values?

 

Thanks

Like 0

Like

5 comments

Dear Puneet

 

You may have some considerations to treat contact names in Creatio:

  1. 1.- Adjust the System Setting called: ContactFieldConverter (Order of first/last names) to Creatio complete Full Name based on the specified selection
  2. 2.- You must select one of the provided choices to Creatio convert the Full name of the contact, see the image
  3.  

3.- Have in consideration Contact field names are as follows (Code/Title):

  • - Full name: Name
  • - First Name: GivenName
  • - Middle Name: MiddleName
  • - Last Name: Surname
  • 4.- Also, if you need to display some of the contact name fields, you need to add them in the Contacts_FormPage

Regards

 

Julio Falcón

Hello !

We're also adding API contacts
I don't fill in the GivenName or Surname when I create the contact, just the Name.
If I check the database, the GivenName and Surname have been filled in.

Julio Falcón (NoCode-Services),

Thanks Julio! My query is little different. I am sending GivenName and Surname using API. Creatio system is creating Full Name automatically using GivenName and Surname. In the contact section list I see Full Name populated; but GivenName and Surname are blank. How can I get GivenName and Surname to display on the section list? Screenshot:

Dear Puneet,

 

You must have in consideration to insert records in Creatio via OData or importing from excel, YOU MUST include all required fields, in this case Full Name is a required field, sou you need provide it in the API JSON.

 

Also if you provide this data in the JSON they must be inserted in Creatio. Can you share the JSON and Method you are using to insert on Creatio?

 

Try to use a tool like SQL Query to made a select to all records to see where are the data you 're inserting

 

Julio

I tried with this JSON and works

{
    "GivenName": "John",
    "MiddleName": "Fitzgerald",
    "Surname": "Kennedy",
    "BirthDate": "1990-01-01T15:24:00Z",
    "TypeId": "60733efc-f36b-1410-a883-16d83cab0980" 
}
Show all comments