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

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

0 comments
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

So, in a new demo instance of Creatio, you can go to a message template and click the edit template button. When you do this, you will notice that a new tab is opened and a full page content panel is opened.  This is actually a classic module, but you will notice in the url for the page, that it's using the classic shell (/Nui instead of /shell).  Really, it opens without any shell at all.

I have a custom version of the same content editor, but when we open this module page the same way, you can see that it initially pops to the right url (similar to the demo instance), but it is immediately routed to a /shell url and stops there. 

I don't know if there's some internal router exception for the default editor module in Creatio that allows for it to open under the classic shell or if there's something else I'm missing.  In debugging the code, I open the page the same way, simply calling window.open and passing in the url with the same structure. 

For those familiar with this module, it's not entity bound, so you can add an exception in UI management. Wouldn't matter anyway, since the default creatio editor isn't doing this either (url would reflect the /shell path, instead of the /Nui classic path).

Anyone have any experience with this?

Jeremy

Like 0

Like

3 comments

In Creatio 8.3.2, classic UI Shell is officially deprecated. Probably causing some issues ? So although page is classic UI, if there's no more Classic UI shell, I guess that's the reason why it's not showing a shell ? (not ideal I know). I hope message templates will seen be migrated to a Freedom UI designer like bulk emails.

Couple things on this: although they are deprecating it, the classic shell is still available. Starting with 8.3.2, it will simply be turned on by default. We will actually be turning it off after the update for most of our clients, as we are not fully ready to migrate. 

Second, the out of the box editor works exactly like we needed to and like it has in the past, so I know the technology does in fact still support it. I'm guessing it's some sort of static route defined somewhere, that prevents it from being redirected to the freedom Shell. 

Just in case something like this comes up for anyone else, to prevent a page from redirecting to the Freedom UI Shell base url, you need to a the base url for your classic module to the Lookup "Blacklist of redirects from Classic UI". There are various modules that Creatio opens in a new tab, that must use the classic base (e.g content editor and BP designer) and this is how they allow for this. 

Show all comments
Studio_Creatio
8.0

I'm working in in a cloud-based dev environment. I've created a message template and I'm trying to move it to QA. I've created a package, and I've added the EmailTemplate data to that package. I've added SysImage to the package, too, but adding it or removing it makes no difference to my problem.

When I import the package into my QA environment and open the template in the designer, the panel with the controls for adding blocks, image, text, spacers, etc. are all missing and it views the entire email as one large HTML block.

A package I created yesterday and imported to QA (with a different version of the template)_works fine. I can open the designer with no issues, the individual blocks, images, and text are all individually editable. (I'd use the package I created yesterday, but I thought I no longer needed it so I created a new one.)

When I compare the contents of the exported zip files using Beyond Compare, the one that works has a JSON element like the below (I only include the first part...it's a long string).

"Value": "{\"ItemType\":\"sheet\",\"Caption\":\"Content designer\",\"Width\":600,\"BackgroundColor\":\"#ffffff\",\

I'm assuming the fact the JSON with Content Designer missing is a part of my problem (there are other differences in the package, too - a large number of references to .csproj files that my broken package doesn't have). But I can't figure out why one package included it and the other doesn't. Anyone have an idea?

Like 0

Like

2 comments
Best reply

Hello Jeff,

I suggest you to manually move the template from your dev-site to to your QA. You can easily download the template information and import it using OData.

  1. Copy the email template Id that you want to move
  2. Access the email template information in the EmailTemplate table:
    https://your-dev-site.creatio.com/0/odata/EmailTemplate(template_id)

    You will need to take this JSON and remove the lines that have "@odata." in the name (the first line the last 12 lines) as they are not needed for the import. If you have any fields with value "00000000-0000-0000-0000-000000000000", you will need to remove those lines too. For this example, the result parsed JSON would be:

    {
        "Id": "0dc0759c-80b3-48b3-a832-7e32925d748b",
        "CreatedOn": "2019-07-15T23:30:13.367747Z",
        "CreatedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
        "ModifiedOn": "2025-12-16T20:55:28.568102Z",
        "ModifiedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
        "ProcessListeners": 0,
        "Name": "Case assigned to group",
        "Subject": "Case #[#Number#] \"[#Subject#]\" assigned to group",
        "Body": "<div>\n\t<div>\n\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\">Case <strong>#[#Number#]</strong> \"[#Subject#]\" has been assigned to your group.</em></span></span></div>\n\t<div>\n\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Priority:</strong> [#Priority.Name#]</span></span></div>\n\t<div>\n\t\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Response deadline:</strong> [#ResponseDate#];</span></span></div>\n\t<div>\n\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Resolution deadline:</strong> [#SolutionDate#].</span></span></div>\n\t\t<div>\n\t\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Contact:</strong> [#Contact.Name#].</span></span></div>\n\t\t<div>\n\t\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Account:</strong> [#Account.Name#].</span></span></div>\n\t</div><div> </div>",
        "IsHtmlBody": false,
        "SendIndividualEmailId": "e75ac3fe-be9b-4a01-87db-c7dffd354f8c",
        "SaveAsActivity": false,
        "ShowBeforeSending": false,
        "TemplateConfig": "",
        "ConfigType": 0,
        "Notes": "",
        "TemplateTypeId": "74ff0cee-6593-482f-a62f-6dde6e17ab5e"
    }
  3. Send all this information to your QA site:
    1. If you want to update the existing template, send a PATCH request to https://your-qa-site.creatio.com/0/odata/EmailTemplate(template_id) with the parsed JSON in the body without the Id field
    2. If you want to re-create the template, remove it first and then send a POST request to https://your-qa-site.creatio.com/0/odata/EmailTemplate with the all the parsed JSON in the body.

I have moved a lot of templates from many sites using this method and it is by far the simplest for me when I want to have an exact copy between them. As you already moved the SysImage information, you won't need to migrate anything from that table using this method.

You can find more information about Creatio OData here:

 

Regards

Hello Jeff,

I suggest you to manually move the template from your dev-site to to your QA. You can easily download the template information and import it using OData.

  1. Copy the email template Id that you want to move
  2. Access the email template information in the EmailTemplate table:
    https://your-dev-site.creatio.com/0/odata/EmailTemplate(template_id)

    You will need to take this JSON and remove the lines that have "@odata." in the name (the first line the last 12 lines) as they are not needed for the import. If you have any fields with value "00000000-0000-0000-0000-000000000000", you will need to remove those lines too. For this example, the result parsed JSON would be:

    {
        "Id": "0dc0759c-80b3-48b3-a832-7e32925d748b",
        "CreatedOn": "2019-07-15T23:30:13.367747Z",
        "CreatedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
        "ModifiedOn": "2025-12-16T20:55:28.568102Z",
        "ModifiedById": "410006e1-ca4e-4502-a9ec-e54d922d2c00",
        "ProcessListeners": 0,
        "Name": "Case assigned to group",
        "Subject": "Case #[#Number#] \"[#Subject#]\" assigned to group",
        "Body": "<div>\n\t<div>\n\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\">Case <strong>#[#Number#]</strong> \"[#Subject#]\" has been assigned to your group.</em></span></span></div>\n\t<div>\n\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Priority:</strong> [#Priority.Name#]</span></span></div>\n\t<div>\n\t\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Response deadline:</strong> [#ResponseDate#];</span></span></div>\n\t<div>\n\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Resolution deadline:</strong> [#SolutionDate#].</span></span></div>\n\t\t<div>\n\t\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Contact:</strong> [#Contact.Name#].</span></span></div>\n\t\t<div>\n\t\t\t </div>\n\t<div>\n\t\t\t<span style=\"font-size:12px;\"><span style=\"font-family:arial,helvetica,sans-serif;\"><strong>Account:</strong> [#Account.Name#].</span></span></div>\n\t</div><div> </div>",
        "IsHtmlBody": false,
        "SendIndividualEmailId": "e75ac3fe-be9b-4a01-87db-c7dffd354f8c",
        "SaveAsActivity": false,
        "ShowBeforeSending": false,
        "TemplateConfig": "",
        "ConfigType": 0,
        "Notes": "",
        "TemplateTypeId": "74ff0cee-6593-482f-a62f-6dde6e17ab5e"
    }
  3. Send all this information to your QA site:
    1. If you want to update the existing template, send a PATCH request to https://your-qa-site.creatio.com/0/odata/EmailTemplate(template_id) with the parsed JSON in the body without the Id field
    2. If you want to re-create the template, remove it first and then send a POST request to https://your-qa-site.creatio.com/0/odata/EmailTemplate with the all the parsed JSON in the body.

I have moved a lot of templates from many sites using this method and it is by far the simplest for me when I want to have an exact copy between them. As you already moved the SysImage information, you won't need to migrate anything from that table using this method.

You can find more information about Creatio OData here:

 

Regards

Alejandro González Momblán,

Thank you 100x!

I missed removing some of the odata on my first attempt at an insert but got past that pretty quickly.

Thanks again and I really appreciate this community!

Show all comments
Studio_Creatio
Sales_Creatio
Marketing_Creatio
Service_Creatio
8.0

Hello Community,


        I am developing a custom Angular component to be used in a Creatio instance. As shown in the screenshot, it directly prompts for “Open source code.” Instead, I want to pass inputs to the component in the same way standard components handle input parameters.

 

 

 

 

 

 

 

Currently, in the Angular code, the input is being passed as shown below:

@Input()
@CrtInput()
url: string = "";
 

Questions:

  1. What other approaches are available for passing input parameters to custom Angular components?
  2. Also, which JavaScript library would you recommend for working with fillable PDFs?

Regards,
Ajay Kuthe
(Creatio Developer)

Like 1

Like

2 comments

Hello Ajay,

In the current Freedom UI architecture, values defined inside an Angular custom component are never visible in the Freedom UI designer and cannot appear as configurable fields in the right-side settings panel(feature is under development). Freedom UI does not analyze Angular component metadata at design time, so decorators such as @Input() and @CrtInput() only enable runtime data binding, not visual configuration. As a result, the “Open source code” option is the expected and correct behavior for custom components. Input values can be passed only through page attributes and explicitly bound in the page schema (viewConfigDiff), where they are then delivered to the Angular component at runtime. Creating a custom settings panel or exposing Angular inputs visually, like standard components, is not supported at this time and is a known platform limitation.

 For working with fillable PDF files in Angular within Creatio, the recommended library is pdf-lib, as it supports form filling, runs in the browser, and integrates well with Angular-based Freedom UI components.

Jakub Wieczorek,

Thank you for the valuable information. Using pdf-lib, is it possible to save the modified, fillable PDF back into the Creatio database? Is there any documentation available for this?

Show all comments
system users
organizational roles
functional roles
Studio_Creatio
8.0

I have already created Organizational Roles and Functional Roles, and mapped them to multiple users.

Now I need to move this configuration to another sandbox environment.

My questions are:

  1. Is there a way to export Org Roles, Func Roles, and user mappings (include password, org role, and functional role together?
  2. Can the user–role mappings be directly imported into another sandbox, or do they need to be reconfigured manually?

I would appreciate any insights or best practices from anyone who has done this before. Thank you.

Like 0

Like

1 comments

Hello,

The transfer of organizational structure settings and access rights from one stand to another can be implemented using SQL scripts. To do this on the reference environment, you need to generate insert queries based on records from the following tables:

- SysAdminUnit (Administration object: users and roles)
- SysUserInRole (Direct user entries in roles)
- SysFuncRoleInOrgRole (Entry of a functional role into an organizational role)
- SysAdminOperation (System operations, if required)
- SysAdminOperationGrantee (Access to system operations, if required)
- SysEntitySchemaOperationRight (Access to objects)
- SysEntitySchemaRecordDefRight (Access to default records)
- SysEntitySchemaColumnRight (Access to object columns)
- SysAdminUnitGrantedRight (Delegation)
- SysWorkplace - (User Workplace)
- SysAdminUnitInWorkplace - (Users in Workplace)
- SysModuleInWorkplace - (Partition in Workplace)

You can use Microsoft SQL Server Database Publishing Wizard and similar tools to generate queries. The resulting SQL script must be attached to the package: "SQL script" type schema | Creatio Academy

Show all comments