I have integrated SOAP service in trial version of Sales Creatio. The test request was successful and returns the response parameters correctly, but when I'm trying to call the webservice in business process and bind the response parameter to auto-generated page, it shown only "Response body" in Process Elements parameter.
My guess is that it is because the web service is returning an array of records and the MemberNumber is from an element in the array/collection. If the web service is really just returning one record, but wrapping it in an array, you could map the field in the web services setup in Creatio as something like (you might need to modify this to match the structure of the json returned from the API):
$.[0].MemberNumber
To specifically get the value from the record at index 0 of the array.
Unfortunately, this widget is not currently available in Freedom UI.
However, we are pleased to inform you that our development team is already aware of this need and is actively considering adding this functionality in future versions of Creatio. Your feedback is valuable and helps us improve our product.
Hello, I would like to get assistance on how to implement the "Account Addresses" detail within contacts section, inside activities for the mobile app. When you view a contact in the mobile app and see their addresses in the "Account addresses" detail you can click the address and it will open the native maps app on your phone so you can get directions.
How do I set this up within the activities section of the mobile app so that if I put in a location, it can be a clickable field similar to Contacts section?
Also, is there a way to pull in the contact's address to the activity that can be clicked to open the maps app?
Yes, it is possible. For the example, in Configuration menu i added an object (UsrActivityAddress) with a parent object - BaseAddress and a column UsrActivity with data source - Activity, which links UsrActivityAddress with Activity.
Then go to Mobile application wizard. Here i created a custom workplace and added Activity section to the workplace. In page setup:
Save and go to Configuration. There search you need to search for the name of the detail that mobile wizard provides for the detail on the page you just added. For this search for MobileActivityRecordPageSettings[plus the name of workplace you are adding activity with address to]. In my case it was UsrMobileActivityRecordPageSettingsUsrTestMobile. After that scroll down and find items which represent fields that you added to mobile section page wizard. The name of the detail looks might look like this "UsrSchema302ae53eDetailEmbeddedDetail". Copy the value and go to the top of file.
Then you need to add viewConfigDiff: Here you delete those details fields from you mobile page layout and you merge AddressPreview component. If the column name was Address in viewConfigDiff it becomes [name of your detail in mobile wizard]_ItemLayout_[column name].
Also note, that this component is not described on the Academy and designed for internal usage thus in not recommended for public usage in current version.
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!
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
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?
1. Please make sure you are using the correct parameters for the Google mail server.
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)
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 thisone?
It would be great if there is a generic solution, which doesn't require me to change all of my validations.
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:
And the outcome:
Hope this helps and let me know if you have any question left.
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.
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.
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 ascreturn 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).
{
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 ascreturn next?.handle(request);},
}
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).
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/
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/