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

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