Hi community,

I need help with implementing a toggle button in my Freedom UI section.Thanks in advance.

Regards,
Mahalaxmi Ganesan


 

Like 0

Like

1 comments

Hi 

 

I'm currently using the trial version of Sales Creatio in Chrome and would like to integrate Gmail for better email management. Could someone guide me through the steps or provide tips on how to successfully integrate Gmail with Creatio? Any insights on best practices or potential pitfalls to watch out for would be greatly appreciated!

Please refer a Screen Shot : 



 

Like 0

Like

3 comments

In order to add a gmail account you need to create an app specific password (which means you'll also need 2 factor authentication enabled in gmail also). Then, when adding the gmail account in Creatio you'll provide the app specific password instead of your real one. See https://support.google.com/mail/answer/185833?hl=en

Ryan

Hi Ryan

Despite already using an app-specific password, I'm still encountering errors when trying to integrate Gmail with Creatio. What steps should I take to resolve this issue?

Daniel Poveda,


Hello,
 

1. Please make sure you are using the correct parameters for the Google mail server.

  1. 2. Ensure that the web server of the application and the Email listener server have access to the Gmail server.
     

    3. If you're using a local environment, please verify that the microservice is properly deployed and configured.
     

    4. More information regarding the authorization error can be found in the logs of the application and microservice when attempting to add the mailbox.
     

    5. If you are using the site in the Cloud and the mail service parameters are correct, please contact our support for further analysis. (Support@creatio.com)
     

Thank you for reaching out!

Show all comments

Hi,

I often use backend validation in Creatio - I prevent saving a record and throw an exception from an event listener. It works like a charm, but as a result, the end user sees only a toast message, which is small and disappears after a moment, so it's easy to overlook. Is it possible to intercept such an error and display a normal confirmation popup, instead of this one?

It would be great if there is a generic solution, which doesn't require me to change all of my validations.

Like 0

Like

2 comments

Hi Eryk, in your business process you can display a mini page with the process component pre-configured page. 

 

Else you have following component to add in your site:

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

 

Hope this helps.

Hello Eryk,
Thanks for your question.

As an alternative you can use websockets to implement your logic. 

Here i created a custom section and a clientMessageBridge as described in this article. In this section i created a Test Field. To subscribe to message broadcasting in the HandleViewModelInitRequest handler i used schema attribute to store a function that will be called whenever a message is published. Also note, that you should unsubscribe from websocket connection when your view is destroyed. To do this please don't forget to implement such logic in HandleViewModelDestroyRequest handler. 

On the form page when user clicks Save button a custom MyCustomRequest handler is called. In this handler i realized the following logic: call a business process (where i pass Test Field value as well as expected business process parameter value) -> if there is no validation error that is passed back from business process (hasValidationErrors property) i call SaveRecordRequest request -> if there is an error - the SaveRecordRequest is not performed.

Also the function that is triggered when a websocket message is broadcasted does open a pop-up which displays error message.

Here is an example:
page designer
handlers
bp

script task

And the outcome:
3
1

2

Hope this helps and let me know if you have any question left.

Show all comments

Hi all,

 

We want, in Freedom UI, to order as per customer need the options in a drop-down menu.

 

We know that this implementation is possible in Classic UI but we don't know how to address it using Freedom UI.

 

Can anyone help us in addressing our customer request?

 

Thank you very much in advance.

 

Best regards

 

Stefano

Like 1

Like

8 comments

Hello,
Please specify where exactly you need a drop-down menu; 
Please provide us with the screenshots of the Classic UI functionality that you want in Freedom UI.

Antonii Viazovskyi,

I believe Stefano is referring to a lookup displayed as a drop down. I would love to know if those can be sorted as well. They're typically sorted in alphabetical order, any of my attempts to change the order in the load request don't work.

Ryan

Antonii Viazovskyi,

Hello Antonii,

I've a lookup with figures 1, 2, 3, ,4, 5, 6, 7, 8, 9, 10... the lookup values are sorted alphabetically so the result is 1, 10, 2, etc..

I can add a leading 0 or change the collate rule for the "Name" field 

 

CREATE COLLATION numeric (provider = icu, locale = 'en-u-kn-true'); ALTER TABLE "UsrPercentDeductible" 

ALTER COLUMN "Name" SET DATA TYPE character varying(250) COLLATE "numeric";

Hi All,

 

As stated by Ryan I'm referring to a lookup dispalyed as a drop down. Is there a way to configure a custom sorting in that situation?

 

Best Regards

 

Stefano

STEFANO FERRARI,


Unfortunately, there are no basic system tools to change the alphabetical filtration order. To implement a custom filtration order, additional development will be needed. 
You can check the below posts where similar business tasks have been already discussed: https://community.creatio.com/questions/sorting-values-lookup-field-besides-alphabetic-order https://community.creatio.com/questions/sorting-drop-down-lookup https://community.creatio.com/questions/freedom-ui-sorting-lookup https://community.creatio.com/questions/change-order-lookup-values-list 
In addition, a task has already been registered in our R&D team to consider and implement such a feature in future releases

Hi guys,

 

I have decided to take a quick look at this and managed to get it working.

For example, adding this handler on the Accounts_FormPage should filter the "Type" by "Id" descending.


(In the code block change the ">" to ">", can't seem to fix this in the reply editor)

 

{
	request: "crt.HandleViewModelInitRequest",
	handler: async (request, next) => {
		let sortingConfigList = await request.$context.Type_List_Sorting;
		let firstSortingConfig = sortingConfigList[0];
		firstSortingConfig.columnName = "Id";
		firstSortingConfig.direction = "desc"; //desc or asc
		return next?.handle(request);
	}
}

 

 

 

 

So the page context attribute we need to change is attributecode_List_Sorting.
This is a list of "order configurations" (so you can order by multiple columns for example)
So we just need to get the first item in this list and change the columnName from Name to whatever other field we need to order on
And we can optionally change the direction property to "desc" to order descending (it is "asc" by default).

Thanks, I have an additional question. I have more than one lookup to be needed to sort in accounts, use this code, but sort just one. What's wrong?

 

{
	request: "crt.HandleViewModelInitRequest",
 
	// 1.- Typo Empresa
	handler: async (request, next) => {
		//await next?.handle(request);
		let sortingConfigList = await request.$context.Type_List_Sorting;
		let firstSortingConfig = sortingConfigList[0];
		firstSortingConfig.columnName = "NdosOrdenarPor"; // Campo nuevo creado en AccountType
		firstSortingConfig.direction = "asc"; //desc or asc
		return next?.handle(request); 
	}, 
 
	// 2.- Nro de Empleados
	handler: async (request, next) => {
		//await next?.handle(request);
		let sortingConfigList = await request.$context.EmployeesNumber_List_Sorting;
		let firstSortingConfig = sortingConfigList[0];
		firstSortingConfig.columnName = "Position";
		firstSortingConfig.direction = "asc"; //desc or asc
		return next?.handle(request); 
	}, 
 
	// 3.- Annual revenue/Facturacion anual
	handler: async (request, next) => {
		//await next?.handle(request);
		let sortingConfigList = await request.$context.AnnualRevenue_List_Sorting;
		let firstSortingConfig = sortingConfigList[0];
		firstSortingConfig.columnName = "FromBaseCurrency";
		firstSortingConfig.direction = "asc"; //desc or asc
		return next?.handle(request); //next?.handle(request);
	}
 
}

Julio Falcon (Cibernética),

You will need to combine these into one "handler"

 

{
	request: "crt.HandleViewModelInitRequest",
 
	handler: async (request, next) => {
		// 1.- Typo Empresa
		let sortingConfigListType = await request.$context.Type_List_Sorting;
		let firstSortingConfigType = sortingConfigListType[0];
		firstSortingConfigType.columnName = "NdosOrdenarPor"; // Campo nuevo creado en AccountType
		firstSortingConfigType.direction = "asc"; //desc or asc
 
		// 2.- Nro de Empleados
		let sortingConfigListEmployeesNumber = await request.$context.EmployeesNumber_List_Sorting;
		let firstSortingConfigEmployeesNumber = sortingConfigListEmployeesNumber[0];
		firstSortingConfigEmployeesNumber.columnName = "Position";
		firstSortingConfigEmployeesNumber.direction = "asc"; //desc or asc
 
		// 3.- Annual revenue/Facturacion anual
		let sortingConfigListAnnualRevenue = await request.$context.AnnualRevenue_List_Sorting;
		let firstSortingConfigAnnualRevenue = sortingConfigListAnnualRevenue[0];
		firstSortingConfigAnnualRevenue.columnName = "FromBaseCurrency";
		firstSortingConfigAnnualRevenue.direction = "asc"; //desc or asc
 
		return next?.handle(request); 
	},  
}
Show all comments

Hi all,

 

Our need is the possibility link manually an incoming email to the a custom 'object' (a custom object developed in our project). We are not able to add this object in the OOTB panel for linking manually an email to an object (please refer to below image).

  

 

Let us know if it's feasible

 

Best Regards

 

Stefano

Like 0

Like

2 comments
Best reply

The custom section needs to have support for Activities. This basically means that it has a lookup on the Activity object and is added to the EntityConnection table. I believe the Section Wizard and also adding Freedom UI sections does this now for new sections. For older objects (or objects not exposed as sections) you can follow the steps here: https://customerfx.com/article/how-to-add-activities-to-a-custom-section-in-creatio/

Ryan

The custom section needs to have support for Activities. This basically means that it has a lookup on the Activity object and is added to the EntityConnection table. I believe the Section Wizard and also adding Freedom UI sections does this now for new sections. For older objects (or objects not exposed as sections) you can follow the steps here: https://customerfx.com/article/how-to-add-activities-to-a-custom-section-in-creatio/

Ryan

Hi Ryan,

 

Thank you very much for your suggestion. We addressed our need.

 

Best Regards

 

Stefano 

Show all comments

Hello,
I have some questions about lists in Creatio Freedom UI.

1. Is there any way to make a field read-only on a list while allowing it to be edited from the form page? I tried to use object-level business rules, but I couldn't disable the field only on the list. Fields are not available in the page-level business object on the list view.
2. Is it possible to add a custom validation for some fields on the list?
3. Is it possible to handle every field change, like on a form page? Some of my fields are being calculated live on the form page, using `crt.HandleViewModelAttributeChangeRequest`. I'd like to do the same on the list page or at least make those fields read-only on the list page.
4. I found a crt.SaveRecordsRequest request during debugging that allows me to review user changes before saving. But when I try to open a mini page using request.$context.executeRequest, nothing happens.
5/ Do you know of any more helpful requests related to lists? I found some more, like `crt.SaveDataRequest`, but it seems to have a restricted scope, so I can't add my own handler for it.
 

Like 1

Like

2 comments

Hey,
1.Yes you can deselect the inline editing of records option in the designer page for the detail.
2.Yes it is possible through code - but can you pls elaborate on what you mean by custom?
3.No you can't do the live calculation on the list page

Hello Eryk,
Thank you for your question!

Regarding your forth question. The following code should work
handler implementation code
Note that you also need to add @creatio-devkit/common library to your module dependencies as well as pass parameter it's function.
import deps and pass parameter to function
You can find some examples of how to open a page in custom handler here.

Regarding you fifth question. Could you please clarify and provide example on how you are implementing your logic? 
 

Show all comments

I am applying a complex filter to a page using the "Apply filter by page data" option.  I set up two parameter filters, but they are logically connected by an AND condition.  Is there a way to construct these filters allowing for complex structures?

Like 2

Like

3 comments

Hello!
Please provide examples of how you implement filters.

In the List Settings below, I need the results from more than one filter condition, more than just Account.ID=Opportunity.Account. 

Adding a second filter is possible, but the two filters are intrinsically connected by an AND operator, and there is no obvious way to specify a complex filter here.

John DeFayette,


Hello,

At the moment, it is not possible to set up such filtering. 

We have informed the development team about this need and registered an idea for such an improvement, so this feature may be available in the future.

Thank you for helping to make our product better.

Best regards,
Pavlo

Show all comments

Hi team,
I need assistance with hiding the 'Run Process' button and customizing the 'New' button on the desktop page. Thanks in advance for your help.

Regards,
Mahalaxmi Ganesan

Like 0

Like

2 comments

Hi Mahalaxmi

 

You can hide the 'Run Process' button by using this marketplace addon: https://marketplace.creatio.com/app/experceo-ui-wizard-creatio

After installing the Addon, go to Lookups -> ExpUIWizard Configurations and enable the 'Hide Run Process' Configuration.

 

Thank you

Mohamed

Hi Mohamed Ouederni,


Thanks for the reply, this works fine, but is it possible to make it user specific?

Regards,
Mahalaxmi Ganesan

Show all comments

Hi!
Is it possible to show all emply madatory fields in one message? 

Like 0

Like

3 comments

Hello,

Usually, the Mandatory Error message will show all the Mandatory fields that are not filled

Not in Classic UI as i understand

Hello,

Unfortunately, currently, it is not possible to display the names of all required fields that are not filled in. We've registered it in our R&D team backlog for consideration and implementation in future application releases. 

Thank you for helping us to improve our product.

Show all comments

is there a way to rename the "Save"  button on a record page ?

regards, 

Like 1

Like

4 comments
Best reply

I assume you're referring to the caption? You can change the caption for the button by opening the edit page schema (for example, AccountPageV2) and find the localizable string (on the left side) "SaveButtonCaption" then give it a new value.

Ryan

I assume you're referring to the caption? You can change the caption for the button by opening the edit page schema (for example, AccountPageV2) and find the localizable string (on the left side) "SaveButtonCaption" then give it a new value.

Ryan

Ryan Farley,

Thanks Ryan, that worked when creating a new record. When I click New to add a new record the save button became Submit, but when editing the existing record the button appeared to be "Save" again. How to make it Submit on adding and editing a record.

Thanks in advance

You also need to change the "SaveRecordButtonCaption" string in the associated section (such as AccountSectionV2)

Ryan Farley,

Worked ! Many thanks Ryan. 

Show all comments