FreedomUI
Requests
crt.CreateRecordRequest
Studio_Creatio
8.0

Hi, community! 

Recently noticed that while executing crt.CreateRecordRequest programmatically I cannot pass default values for page attibutes that are not schema fields. I am aware about defaultValues parameters for CreateRecordRequest and it works correctly for page fields so they are filled in, but no such behaviour for attributes. Maybe it possible to access defaultValues array in the opened page in HandleViewModelInitRequest and set a attribute value manually, but I didn't find the way to do it. Any advices on this are much appreciated.

 

const handlerChain = sdk.HandlerChainService.instance;					
await handlerChain.process({
	type: "crt.CreateRecordRequest",
	entityName: "MySuperEntity",
	$context: request.$context,
	defaultValues: [{
		attributeName: "SomeField", //this is MySuperEntity field and it's filled in the form page correctly
		value: "SomeValue"
	},
	{
		attributeName: "SomeAttribute", //this is MySuperEntity_FormPage attribute and and it's empty in request.$context.SomeAttribute in HandleViewModelInitRequest 
		value: "SomeAnotherValue"
	},
});	
Like 0

Like

5 comments
Best reply

As a workaround approach, I've been using BroadcastChannel API to pass other attribute (non-model) values to the opened page. See the comment in this thread from Edward https://community.creatio.com/questions/open-custom-freedom-ui-page-custom-button-opportunity-edit-page-and-pass-opportunity

Ryan

Hi, Sergejs. You should do it as following:

{
	request: "crt.HandleViewModelResumeRequest",
	handler: async (request, next) => {
		await next?.handle(request);
		setTimeout(() => {
			request.$context.Param1 = someValue1;
			request.$context.Param2 = someValue2;
		}, 300);	
	}
}

Dmitry S,

Can you please clarify what is someValue1 and someValue2 in your example? As far as I can understand, you are setting attribute value inside same page in the HandleViewModelResumeRequest.

My scenario is slightly different, I am trying to pass the attribute value from another page. So for instance - I have a button on a page1, this button has a custom click handler, where I call CreateRecordRequest with some parameters. In result page2 opens and I want to set it attribute with the value from the parameter i passed in CreateRecordRequest. I hoped it works automatically, but it's not. I tryed your HandleViewModelResumeRequest code with little modification, but attribute value still is null for me.

			{
				request: "crt.HandleViewModelResumeRequest",
				handler: async (request, next) => {
					await next?.handle(request);
					setTimeout(() => {
						const a = request.$context.SomeAttribute; //a is null here
					}, 300);
				}
			},

Sergejs Sokolovs,

You are sending something from parent page to child page ok. So in data model of the created child page you have them, yes? And page is opened.

So, you can get them on the created page as 

const attribute = await request.$context.UsrAttributeName; 

or the problem occurs when you're trying to fill smth virtual? Which exists on the page, but not present in the entity itself? if so, I'll check this tomorrow.

BTW. 

as a workaround you can do the following:

  1. You can create some process like this one with open preconfigured page element. You can configure some process parameters, which will receive data you want to display. You can link these process parameters to the desired page. On the page are all of those parameters accessible.

2. Instead of using record handlers you can run this process from some custom handler on the page somehow like this (also not forget to define ProcessModuleUtilities). Process should open page with all required fields filled. 

["@creatio-devkit/common", "ProcessModuleUtilities"], function (sdk, ProcessModuleUtilities)

You can use something similar from FD sdk indeed, this example was taken from FD page, but it uses CI logic.

const printableId = reportTemplate.value;
const args = {
	sysProcessName: "UsrGenerateContractByTemplate",
	parameters: {
		ContractId: contractId,
		PrintableId: printableId
	}
};
ProcessModuleUtilities.executeProcess(args); 

As a workaround approach, I've been using BroadcastChannel API to pass other attribute (non-model) values to the opened page. See the comment in this thread from Edward https://community.creatio.com/questions/open-custom-freedom-ui-page-custom-button-opportunity-edit-page-and-pass-opportunity

Ryan

Ryan Farley,

Yeah, already started to think about that solution, but hoped there is more native one. It's little bit frustrating, that params are not supported, but it's great that we have a workaround. Thanks!

Show all comments
Studio_Creatio
Sales_Creatio
Service_Creatio
Marketing_Creatio
Studio_Creatio
8.0

Hello Everyone,

I want to integrate Creatio with a hardware device (such as a signature pad or scanner). The hardware vendor provides a browser-based SDK for integration.

I would like guidance on the following:

  1. What is the recommended approach to integrate a browser-based hardware SDK with Creatio?
  2. Can the SDK be directly integrated using client-side JavaScript in Creatio (Freedom UI)?
  3. Are there any limitations or security considerations when working with browser-based hardware SDKs in Creatio ?
  4. Has anyone implemented a similar hardware integration in Creatio? If yes, what approach worked best?

Any best practices, documentation references, or real-world examples would be greatly appreciated.

Thank you.

Like 0

Like

0 comments
Show all comments
Studio_Creatio
Sales_Creatio
Service_Creatio
Marketing_Creatio
#tab#automation#hidden#Shown
Studio_Creatio
8.0

Hi Everyone,

I’m working with a detail object and want to:

• Sort the Costs and Savings Detail table records statically in a fixed order (not dynamic user sorting)
• Also restrict users from re-sorting by clicking column headers

Has anyone implemented a way to enforce a fixed sequence for detail table data in Creatio (or similar object structure)?

Any guidance or best practices would be appreciated.

Thanks in advance!

Like 1

Like

2 comments

Hi, Ajay.

For first you need to setup sorting by some column at Freedom UI designer and turn off sorting at Appearance, save page. :

appearance

Then restore list settings by default:

restore default settings

Result:

Grygorii Synieok, Thank you for the reply.

But, I am currently working in a lower version where the List Header option is not available. Is there an alternative solution for this?

Show all comments
We_have_a_custom_text_field_Display_Quote_Number_on_the_Quotation_object_that_should_show_QuoteNumber-Version_(e.g.
QN-00045-V2)._A_business_process_is_triggered_on_Quote_modified
reads_Quote_Number_and_Version
and_updates_the_field_via_Modify_Data_with_conditions_(Quote_Number_is_filled_in
Version_>_0)._The_process_executes_successfully
but_the_field_either_remains_blank_or_shows_partial/incorrect_values_(e.g.
-V0)
even_after_refresh._Formula_functions_like_AND
string
ISNULL_are_not_supported
and_delays_do_not_resolve_the_issue._Looking_for_a_supported
reliable_pattern_in_Freedom_UI_to_populate_and_display_a_concatenated_text_field_without_custom_code.
Studio_Creatio
8.0

We have a custom text field Display Quote Number on the Quotation object that should show QuoteNumber-Version (e.g., QN-00045-V2).
A business process is triggered on Quote modified, reads Quote Number and Version, and updates the field via Modify Data with conditions (Quote Number is filled in, Version > 0).
The process executes successfully, but the field either remains blank or shows partial/incorrect values (e.g., -V0), even after refresh.
Formula functions like AND, STRING, ISNULL are not supported, and delays do not resolve the issue.
Looking for a supported, reliable pattern in Freedom UI to populate and display a concatenated text field without custom code.

Like 0

Like

1 comments

Hello,

In Freedom UI there is no out-of-the-box "calculated/formula text field" on the page that would concatenate multiple columns into a single string. The built-in formula capabilities in business rules are intended for calculating dates and numeric values, not composing formatted text.

For this scenario, the supported approach is to store the composed value in a dedicated text column on the Quotation object (e.g., UsrQuoteDisplayNumber) and populate it either via a business process (as you attempted), or via custom logic (client/UI handler) if you need the value to be calculated and displayed immediately without waiting for a save/refresh.

Given your requirements, we recommend continuing with the business process that performs the concatenation and writes it to the Quotation record (Modify data). To address why the value didn’t appear on the form, please verify was the value actually saved to the record? (Confirm in the DB / in the record after reopening). If it was saved, it should appear after a page refresh / reopening the record. Is the page field bound to the same object column you update in the process? (i.e., the UI control must be mapped to UsrQuoteDisplayNumber from the page’s data source). 

If you need the value to appear immediately on an already-open page after the process updates the record, enable "Enable live data update" for the Quotation object so the UI can receive server-side updates without manual refresh.

Creatio Academy reference (object setting): https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/development-tools/creatio-ide/configuration-elements/object#title-2314-1

Best regards.

Show all comments
List_Widget
Export_To_Excel
Studio_Creatio
8.0

I’m having trouble enabling the Export to Excel action for a List Widget.

The built-in Export to Excel action works for List Components, but I can’t find a way to configure it with the newer List Widget released in version 8.3.1.

 

Here’s what I’ve tried:

  • I added a button to trigger the default Export to Excel action.
  • In the button’s settings, under “Which data to export?”, the List Widgets on the page do not appear.
  • If I add a standard List Component to the page, it does show up in the export configuration as expected.

 

Is it possible to use the built-in Export to Excel action with a List Widget?


If not, is there a recommended workaround (e.g., custom code, BPM, or another approach) to export the list widget’s data to Excel?

 

Like 0

Like

2 comments
Best reply

Hello, 

Unfortunately at this moment there is no built-in possibility to enable Export to Excel for List Widget. 

The team is aware of the request to enable the ‘Export to Excel’ option for list widgets in Freedom UI dashboards. There is a corresponding task in progress, but at this time there is no confirmed release date for this functionality.

As a temporary workaround, it is possible to add a button directly to the dashboard schema that will export the list widget to Excel. Below is an example configuration for such a button:

{
    "operation": "insert",
    "name": "Button_cfj1ji4",
    "values": {
        "layoutConfig": {
            "column": 1,
            "colSpan": 1,
            "row": 1,
            "rowSpan": 1
        },
        "type": "crt.Button",
        "caption": "Export list widget to excel",
        "color": "default",
        "disabled": false,
        "size": "large",
        "iconPosition": "only-text",
        "visible": true,
        "clicked": {
            "request": "crt.ExportDataGridToExcelRequest",
            "params": {
                "viewName": "ListWidget_1ocamke",
                "filters": "$ListWidget_1ocamke | crt.ToCollectionFilters : 'ListWidget_1ocamke' : $ListWidget_1ocamke_SelectionState"
            }
        },
        "clickMode": "default"
    },
    "parentName": "Main",
    "propertyName": "items",
    "index": 1
}

In this example, ListWidget_1ocamke should be replaced with the items attribute name of your list widget.

 

Thank you for reaching out! 

Hello, 

Unfortunately at this moment there is no built-in possibility to enable Export to Excel for List Widget. 

The team is aware of the request to enable the ‘Export to Excel’ option for list widgets in Freedom UI dashboards. There is a corresponding task in progress, but at this time there is no confirmed release date for this functionality.

As a temporary workaround, it is possible to add a button directly to the dashboard schema that will export the list widget to Excel. Below is an example configuration for such a button:

{
    "operation": "insert",
    "name": "Button_cfj1ji4",
    "values": {
        "layoutConfig": {
            "column": 1,
            "colSpan": 1,
            "row": 1,
            "rowSpan": 1
        },
        "type": "crt.Button",
        "caption": "Export list widget to excel",
        "color": "default",
        "disabled": false,
        "size": "large",
        "iconPosition": "only-text",
        "visible": true,
        "clicked": {
            "request": "crt.ExportDataGridToExcelRequest",
            "params": {
                "viewName": "ListWidget_1ocamke",
                "filters": "$ListWidget_1ocamke | crt.ToCollectionFilters : 'ListWidget_1ocamke' : $ListWidget_1ocamke_SelectionState"
            }
        },
        "clickMode": "default"
    },
    "parentName": "Main",
    "propertyName": "items",
    "index": 1
}

In this example, ListWidget_1ocamke should be replaced with the items attribute name of your list widget.

 

Thank you for reaching out! 

Thank you for the guidance, Oleksandra!

Show all comments
pivot
Studio_Creatio
8.0

Hi Everyone,

I’m setting up a pivot in the Dashboards section, and I noticed that under the Date part functions we currently have options like PartYear, PartMonth, PartWeek, PartDay, etc., but there’s no option to get the quarter of a date.

My use case is quite common: I’d like to group or report records by the quarter of the Created on date (e.g. Q1–Q4), similar to how months or weeks can be derived.

Is there a recommended workaround for this today (for example using formulas or logic), or is there a plan to introduce something like a PartQuarter function in future releases?

Any tips, best practices, or ideas would be much appreciated. Thanks in advance!

Like 0

Like

1 comments

Hello,

Unfortunately, it is not currently possible to add a quarter as one of the options in the Date part in the chart setup.

However, we have created a request for our R&D team to extend this functionality in future releases of the system.

Thank you for your question!

Show all comments

Hello colleagues,

I'm looking for a way to customize the email composer interface. Currently, the "To" field uses a Dropdown list view (simple listbox), but I would like to change it to a Selection window instead.

Current behavior: The "To" field displays a basic dropdown list with limited search capabilities. However, when the customer has thousands of contacts, this listbox format is not user-friendly and makes it difficult to find the right recipient.

Desired behavior: I want the "To" field to open a Selection window modal, which would allow me to:

  • Search freely across multiple fields
  • Add custom columns to the search grid
  • Have better filtering and selection options

Is there a configuration setting to change the lookup view type for this field? Can this be modified through the Section Wizard, page settings, or would it require development changes?

Any guidance on how to switch from Dropdown list to Selection window for the email composer "To" field would be greatly appreciated!

Thank you in advance.

Like 1

Like

1 comments

Greetings,

Unfortunately, currently there is no option to customize the To field in the message composer. It is a part of the component. 

We have registered the voice with our R&D team. The improvement will be available in one of the future releases.

Please let us know if you have other questions.

Thank you for reaching out!

Show all comments
Studio_Creatio
8.0

Hello,

I've been struggling to get the dockerized version of creatio running fully with no errors.

The first error is at the start of the container like below, the application runs fine after:



The second error is recurring too, also nothing happens when it shows in the container:

The third error happens after every app compilation, no errors in the compilation, but docker container stops with that error:

What I've tried so far:

• Recreating the containers.
• Regenerating the source code.
• Recompiling the environment.
• Restarting the containers.

None helped so far.

Thanks for helping me solve all three errors.

Like 2

Like

0 comments
Show all comments

While trying to create a new record for a custom object through a section list page button, the auto number field for the record gets incremented every time the new form page is loaded.

Similarly, if I switch to expanded view from compact view as well this happens.

Is this an expected behavior. Is there anything that could be done to make sure that the auto number increments only when the record is saved to database and not every time the page loads.

Like 0

Like

1 comments

This is expected behavior for how the auto-number fields work. 

If you're after a true sequential number without gaps, then you'd need to implement something custom to accomplish that. For a no-code approach, you could have a process with a signal of record added that gets a record count and then updates the newly added record with the result.

Ryan

Show all comments

When editing/deleting an existing inhereted data-model, has a compilation error:

This is a cloud Demo environment, so I can't troubleshoot the error from .cs file.

Like 0

Like

2 comments
Best reply

Hello.

Please generate the source code for all schemas and then run the Compile All action. After these steps, the issue should be resolved.

Best regards,
Antonii.

Hello.

Please generate the source code for all schemas and then run the Compile All action. After these steps, the issue should be resolved.

Best regards,
Antonii.

Hi, Antonii.

It worked! Thanks a lot, cheers.

Best Regards,
Ahmed.

Show all comments