Hi Community,

 

I would like to know how we can make a column mandatory in an attachment list (the detail here) as soon as we upload a file to the detail.

 

 

Thanks in advance!

 

Regards,

Abilash.S

Like 0

Like

1 comments

To make a column mandatory in FreedomUI, you can follow these steps:

  1. Identify the column you want to make mandatory in the detail view of your form.

  2. Open the code or configuration file associated with your FreedomUI implementation.

  3. Locate the section or code block related to the detail view of your form.

  4. Find the column you want to make mandatory within the code or configuration.

  5. Depending on the specific implementation of FreedomUI, you can typically add a validation rule or attribute to the column to make it mandatory.

  6. Add the necessary code or configuration to enforce the mandatory requirement for the column. This may involve setting a "required" flag, adding a validation rule, or specifying a validation message.

  7. Save your changes and test the form to ensure that the column is now mandatory in the detail view.

It's important to note that the exact steps may vary depending on the version and customization of FreedomUI you are using. Refer to the documentation or consult with the developers or support team of FreedomUI for specific guidance on making a column mandatory in the detail view.



More detail : https://360degreecloud.com/

Show all comments

Is there a way to deploy the security configuration for Organizational & Functional Roles from Development to Production?

Is some kind of binding needed?

Like 0

Like

2 comments
Best reply

Hello,

Thank you for your question. 

Please, note that it's not recommended to bind users, organizational structure, roles, licenses, and other administrative things to a package. It will be very hard to handle that if you decide to install that package after the moment when the client adjusts that administrative things according to his or her needs directly on the production.

Unfortunately, there is no script we could provide you with but in case you decide to bind this data and transfer it to another environment we suggest checking all changes on the copies before delivering it to the production websites. The organizational structure is in the "SysAdminUnit" and "SysAdminUnitInRole" tables and you are right, it's possible to bind it to the package via SQL scripts only.

Best regards,

Hello,

Thank you for your question. 

Please, note that it's not recommended to bind users, organizational structure, roles, licenses, and other administrative things to a package. It will be very hard to handle that if you decide to install that package after the moment when the client adjusts that administrative things according to his or her needs directly on the production.

Unfortunately, there is no script we could provide you with but in case you decide to bind this data and transfer it to another environment we suggest checking all changes on the copies before delivering it to the production websites. The organizational structure is in the "SysAdminUnit" and "SysAdminUnitInRole" tables and you are right, it's possible to bind it to the package via SQL scripts only.

Best regards,

Mykhailo Zeleniuk,

Thank you Mykhailo for the quick response.  Appreciate the callout of the risks.  Based on this, I see makes sense to stick with managing security configuration directly in Production.

Show all comments

Hello all! Which part of the code do I have to edit to show the contact phone number in the contact card visible in leads / opportunities? Thanks for your help.

Like 0

Like

1 comments

Hi,

Due to a system change I now have over 1,000 records that need the change case launched. Is there an efficient and quick way to do this?

Thanks, Mai 

Like 1

Like

3 comments

Hi!



Currently there is no possibility of mass records edition (like assigning an owner to multiple records), however, you can do it with the simple business process. Here is the example with the Accounts.



I used to have different owners:

image.png



 but after running this process

image.png

 all of them were changed to the Supervisor:

image.png



 We have already registered the idea for our R&D team to implement this functionality in further releases. I will assign your case to this project in order to increase its priority.  



Best regards,

Anton

Yes please !

Anton Starikov,

Could you please reshare your pictures - they are not shown now. And changing Case is not the same as changing Owner, as I understand



Thank you!

Vladimir

Show all comments

Hello!

I got a business need to send the users dashboard in xls format according to the schedule.

How can i do that using BPMN functional in Creatio?

Like 0

Like

1 comments

Hello!



We have consulted with the product owners of this feature and we are certain that this task can only be achieved by the means of development.

Also, we have created a request for our developers in order to bring this functionality in future releases.

 

Thank you for this suggestion, this helps to make our product better!

In the meantime, as a workaround, we recommend creating a Word report and generating it within a business process, followed by sending it via email. This approach should help you achieve the desired outcome. 

For detailed instructions on setting up this business process, please refer to the following articles on the Creatio Academy:

https://academy.creatio.com/docs/user/customization_tools/print_ready_r…

https:/academy.creatio.com/docs/user/bpm_tools/process_elements_reference/system_actions/process_file/process_file_element?check_logged_in=1

https://academy.creatio.com/docs/7-17/user/bpm_tools/process_elements_r…

 

Please note that a Word report is generated for each section record separately.

I hope this information helps you resolve your business task.

 

Best regards,

Kate

Show all comments

Hi Creatio Community,

 

I would like to know the name of the function/handler that's called when creating a record and saving it in an editable detail in FreedomUI so that we can override it. We also noticed SaveRecordRequest doesn't seem to be called here.

 

Thanks in advance.

 

Regards,

Abilash.S

Like 0

Like

4 comments

Hello,

 

These should be the crt.CreateRecordRequest request and the crt.CreateRecordHandler handler. Try those in either:

 

1) Page where detail is added

2) Detail schema

3) Edit page of the detail

 

and it should be triggered.

Oleg Drobina,

 

Tried these two methods. They don't seem to be called when creating and saving the records in an editable detail.

Abilash,



I tried this handler:

handlers: /**SCHEMA_HANDLERS*/[
			{
				request: "crt.CreateRecordRequest",
				handler: async (request, next) => {
					return next?.handle(request);
				}
			}
		]/**SCHEMA_HANDLERS*/,

on the schema where detail is added and it's successfully triggered:

It also depends on which handler you have specified in the "Add button" properties, you need to find it in the schema diff (in my case it was crt.CreateRecordRequest):

{
				"operation": "insert",
				"name": "GridDetailAddBtn_z5e8jja",
				"values": {
					"type": "crt.Button",
					"caption": "#ResourceString(GridDetailAddBtn_z5e8jja_caption)#",
					"icon": "add-button-icon",
					"iconPosition": "only-icon",
					"color": "default",
					"size": "medium",
					"clicked": {
						"request": "crt.CreateRecordRequest",
						"params": {
							"entityName": "Contact"
						}
					},
					"visible": true,
					"clickMode": "default"
				},
				"parentName": "FlexContainer_n5yrzkv",
				"propertyName": "items",
				"index": 0
			},

 

Oleg Drobina,

 

The detail we are working with uses an inline record to create new records which doesn't seem to be calling CreateRecordHandler or CreateRecordRequest. 











 

Show all comments

Hi Community,

 

When I click reject in approval in freedom UI, comment field should be mandatory.



 





I followed this community post https://community.creatio.com/questions/make-comments-field-required-when-approval-gets-rejected-0. But its is not working for FreedomUI.



Thanks,

Regards,

Manideep

Like 2

Like

2 comments

Hello,



We don't have such functionality for now in Freedom UI.

 

We've registered it in our R&D team backlog for consideration and implementation in the future application releases. Thank you for helping us to improve our product. 

 

Yes, +1

Show all comments

I'm Getting Error while compiling the workspace everytime. I checked the error log and it's saying as below. Kindly help to resolve this. Have attached the file for reference.



[57] ERROR IIS APPPOOL\Creatio Terrasoft.Core.UserConnection OnCurrentUserConnectionChanged - Overwriting UserConnection.Current in the same context is not allowed    at System.Environment.GetStackTrace(Exception e, Boolean needFileInfo)

File attachments
Like 0

Like

1 comments

Hello Team.

I start BP on the client:

processArgs = {

                sysProcessName : "UsrSomeProcess" ,

                parameters : {

                    UsrParam : paramValue ,

                } ,

                callback : this . someProcessCallback ,

                scope : this

            } ;

            ProcessModuleUtilities. executeProcess ( processArgs )

Question: How to get the value of the output parameters of the running BP in the callback?

 

Like 0

Like

1 comments

The ProcessModuleUtilities module doesn't provide any ability to get output params in the callback. A process could take seconds, minutes, or days to complete, so the callback isn't executing when the process is complete, it's executing when it's been successfully started.

To get the params from the process you'll need to use a script task in the process to send them in a message to the front end UI and then wire up code to listen for that message. You can see an article how to do that here: 

https://customerfx.com/article/sending-a-message-from-server-side-c-to-…

Ryan

Show all comments

Hi Team,

I'm trying to call hierarchical copying from the front-end of my Creatio application, but I'm having some trouble. I've read in the Creatio documentation that I should use the callService() method, but I'm not sure how to use it correctly.

I saw an example in the documentation that uses the "ProductBankCustomerJourney" package and the "ProductConditionDetailV2" schema, but I can't seem to find these in my application.

Can anyone provide me with some guidance on how to call hierarchical copying from the front-end of my Creatio application? Any help or advice would be greatly appreciated.

Thanks in advance!

Like 0

Like

1 comments

Hello,

 

This package is a part of the bank-sales-bank-customer-journey installation files so probably that's why you cannot find it in your app. It would be easier to get such a demo or onsite installation files and review the logic there. Here are the methods from the ProductConditionDetailV2 schema:

getCopyRecordConfig: function() {
                return {
                    serviceName: "HierarchyDataCopyingService",
                    methodName: "CreateRecordCopy",
                    data: {
                        schemaName: this.entitySchemaName,
                        recordId: this.$ActiveRow
                    },
                    scope: this
                };
            },
...
copyRecordServiceCallback: function(response) {
                response = response || {};
                response = response.CreateRecordCopyResult || {};
                this.hideBodyMask();
                if (!response.success) {
                    var errorMessage = this.extractErrorMessage(response);
                    this.showInformationDialog(errorMessage);
                    return;
                }
                const copiedRecordId = response.recordId;
                this.openCard(configurationEnums.CardStateV2.COPY, this.Terrasoft.GUID_EMPTY, copiedRecordId);
            },
...
validateConditionsDueDateCallback: function(result) {
                if (result.success) {
                    this.callCopyRecordService();
                    return;
                }
                this.showInformationDialog(result.message);
            },
....
copyRecord: function() {
                this.isCanCopyRecord(function(isCan) {
                    if (!isCan) {
                        var denyMessage = this.get("Resources.Strings.RecordRightsErrorMessage");
                        this.showInformationDialog(denyMessage);
                        return;
                    }
                    this.validateConditionsDueDate(this.validateConditionsDueDateCallback, this);
                }, this);
            },
 
....
 
callCopyRecordService: function() {
                this.showBodyMask();
                var config = this.getCopyRecordConfig();
                this.callService(config, this.copyRecordServiceCallback, this);
            },

The chain is: copyRecord -> validateConditionsDueDate -> validateConditionsDueDateCallback -> callCopyRecordService -> getCopyRecordConfig -> copyRecordServiceCallback.

 

To call the service the config is used:

serviceName: "HierarchyDataCopyingService",
					methodName: "CreateRecordCopy",
					data: {
						schemaName: this.entitySchemaName,
						recordId: this.$ActiveRow
					},

and the actual call is performed:

this.callService(config, this.copyRecordServiceCallback, this);

callback function determines what should be done once the service response is received.

Show all comments