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

How to hide Canceled and Closed cases in Agent Desktop?
https://i.imgur.com/uGPHS3Z.png

 

This is the queue config: https://i.imgur.com/LibhjZ3.png

Like 0

Like

1 comments

Hello!

The root cause of the issue is that in addition to new records in the queue, users also see their own records that are in the works on the Agent desktop.

I would be happy to provide you with some information on the basic logic of work in the Agent desktop.

1) The selected contacts/roles in the [ Team ] tab can process the content of the queue from the agent desktop.
2) There are some changes when a user starts working with one of the records from the queue:
-  The record status changes to "In progress".
- The "Operator" column fills as a current contact.
- This record automatically disappears from all other users from the Agent desktop. This is done so that different users do not process the same record at the same time.
But the user who has this record in progress will continue to see this record until the conditions for processing this record are met and its status changes to "Processed".
-Then the record will disappear from the Agent desktop for all users, including the one who processed it.

So, we identified two reasons for this behavior:

1) The case status was changed in the case itself instead of the queue.
2) The case status was changed by another user.

To process the queue element correctly, you need to do all changes in the queue item itself.

Show all comments

I'm trying to filter records of one list by the selection from the other. The example is:

 

I have a Contract record. On the Contract record I added an Invoice list (related to Contract). Under the Invoice list I have a list of Invoice Items (related to Contract and to Invoice, each Invoice can have multiple Invoice Items).

 

I added a checkbox "Selected" on the Invoice and wanted to do it that way, that user clicks "Selected" on the Invoice and saves the record, and then the Invoice Item list is filtered by the Invoice, which has the Selected flag set to True. This doesn't work, system says the query failed, plus when I add "Selected" flag on Invoice Item list (from related invoice record) it's never selected (although on Invoice it is).

 

Do you have any other ideas on how to enable user to see on one page the invoice items for the invoice they select? I tried it with quick filter as well, but I cannot seem to make a filter to show only the invoices related to the opened contract.

 

Like 0

Like

3 comments
Best reply

Yes, as Ryan says, it is possible to configure this in Freedom UI without code. You can see an example of this in the screenshot above - you select the Invoice items list, in your example, and apply a filter by page data, specifying the Invoice list data source.

 

This is definitely available in 8.1.3, and I believe it's been around since at least 8.1.0 but possibly longer.

You can see an example of this in 8.2 on the new Web Analytics page. At the bottom there are two lists, a selected record on one filters the second one. This is all done with no code, however, I am not sure if that is only available in 8.2 or also in prior versions.

Yes, as Ryan says, it is possible to configure this in Freedom UI without code. You can see an example of this in the screenshot above - you select the Invoice items list, in your example, and apply a filter by page data, specifying the Invoice list data source.

 

This is definitely available in 8.1.3, and I believe it's been around since at least 8.1.0 but possibly longer.

Thank you very much Harvey and Ryan - it helped me a lot! 

Show all comments

Hi,

I performed a test load of 30 records into the Account addresses object, the first 30 records were imported but when attempting to re-import those records, the wizard returns this error: 

Column CountryName value cannot be obtained because it has not been loaded.

When i checked the values in the Country lookup, the values its rejecting are already loaded in the lookup, so it doesn't make sense that its saying its not loaded. There maybe something i'm missing here and i would love to know if anyone has experienced this issue in the past. 

Thanks!

Like 0

Like

1 comments

Hello,

 

In order to fix this issue, turn on (or add) feature  "LoadAllColumnValuesInDuplicateSearch" and clear browser cache, then import should load all columns and work as expected.

Show all comments

I am using creatio API to get the object collection data from Creatio, in which lookup values have Ids. I want to replace those Ids with their Name saved in look ups. 

 

@Community, My question is, how can I get data of specific look up from Creatio using creatio API Odata4

Like 0

Like

1 comments

Hello!

 

To get the data of a specific lookup you need to use the following request:

https://sitename.creatio.com/0/odata/Lookup(lookup_id)

 

If you want to get the content of such lookup, then you should make a request directly to the object which the lookup is connected to. For example:
https://110032169-demo.creatio.com/0/odata/Account(record_id)

 

Have a nice day!

Show all comments

Hi All,

 

I need to create a web service to integrate with an ERP. I have a list with all endpoints, methods and parameters.

 

Is there a way where I can import the data from an Excel file into the web service in Creatio or any other way where I don´t have to create one by one?

Like 2

Like

1 comments

Hello!


Unfortunately, this option is not available. We will register the idea with our development team so they can implement the option to import services.


Thank you for helping make Creatio better!

Best regards, 
Orkhan

Show all comments