How do you add a dashboard page as a section in Freedom UI? I have an existing dashboard page which I want users to be able to access as though it were its own section, but I can't add the existing page to the workplace as it doesn't exist in the lookup window. I had a look at creating a new section in the application hub, but this will either create a new entity or have to be based over an existing entity, but this dashboard isn't based over any one particular entity and presumably doing this would create a new Section page which I didn't want. Any info on how to turn an existing page into a Section in Freedom UI?

Like 1

Like

4 comments
Best reply

Hi,

 

In general, there isn't a built-in feature for this. However, for such usage, we have the option to set a Homepage for the workplace. You can set this page instead of the current one.

 

But if you need two of your dashboard pages to be on the same workplace and displayed as a section, you can create a new section in the Freedom UI and replace its SectionSchemaUId with the UId of your dashboard page schema.



update "SysModule" set "SectionSchemaUId" = 'UId of dashboard schema module' where "Id" =  'Id of the section you want to open with the dashboard'

 

For example, I successfully set the SalesEnterpriseHomePage to open from the test section.



Hope this helps!

Hi Harvey!

Please confirm, am I understanding correctly that you want to replace the section ListPage with your own page containing dashboards?

Is your dashboard page implemented in FreedomUI?

Which page does this page inherit from? Is it the Homepage?

Hi Pavlo, Essentially I want to create a standalone section page, so one that isn't tied to a specific entity or have to be created using the section template in the application hub.

Yes, using Freedom UI exclusively.

And the page I have created is inherited from the Homepage exactly. Is it possible to register this page as a section page?

Hi,

 

In general, there isn't a built-in feature for this. However, for such usage, we have the option to set a Homepage for the workplace. You can set this page instead of the current one.

 

But if you need two of your dashboard pages to be on the same workplace and displayed as a section, you can create a new section in the Freedom UI and replace its SectionSchemaUId with the UId of your dashboard page schema.



update "SysModule" set "SectionSchemaUId" = 'UId of dashboard schema module' where "Id" =  'Id of the section you want to open with the dashboard'

 

For example, I successfully set the SalesEnterpriseHomePage to open from the test section.



Hope this helps!

Thanks Pavlo, we already have a page being used as the Home page of the workplace the additional dashboard needs to reside in, so we had to do the database editing you suggested to get it to work, which it now does - thank you! This would be a very useful option to be able to do without custom SQL, no code being the aim of Creatio config going forward!

Show all comments

How can you set the default values created for an Activity when clicking on the Calendar in Freedom UI? I can't see anything in the OOTB code for calendar setup that would pass default values into the calendar activity creation process, but presume there must be some JSON parameters that could be set to specify things like the Activity Type/Category for example. Any help appreciated.

Like 3

Like

3 comments

Hello,

Unfortunately, this logic is hardcoded and cannot be changed at the moment. We have raised an improvement for the development team to make it possible to configure the default Category for this element in future releases.

Thank you for reaching out!

Thanks Pavlo, so no properties in the JSON can be set for this currently at all then? And no overriding of any of the schema handlers would enable setting them either? We currently have a fair amount of handler code, so wouldn't be too worried about adding some more in for now until this is possible in no code.

Unfortunately, it is not possible to change this logic for this scheme at the moment, even using such handlers.

Show all comments

Hello Creatio Community,

I'm encountering an issue within the Creatio environment where the icons in the creation dashboard are not displaying as they should. The sidebar menu items are visible, but the icons that typically appear next to the text labels are missing (please see the attached screenshot). This issue is impacting my ability to navigate the platform efficiently.

Here are the steps I took before I noticed the icons were missing:

  1. Logged into the Creatio system as usual.
  2. Accessed the creation environment through the main dashboard.
  3. No recent system updates or changes to settings were made prior to this issue.

I've tried the following to resolve the problem without success:

  • Refreshing the browser page.
  • Clearing the browser cache and cookies.
  • Attempting to access the dashboard via different browsers (Chrome, Firefox).
  • Checked for any system updates or known issues in the Creatio documentation.

Unfortunately, none of these steps have brought back the icons. I'm reaching out to see if anyone else has experienced this issue and to seek guidance on how to resolve it. Could this be a bug, or is there a setting that I might have overlooked?

Any help or suggestions would be greatly appreciated. Thank you in advance for your time and assistance!

File attachments
Like 0

Like

1 comments

Hello!

 

Please contact the Support Team directly via support@creatio.com. Please provide all this data and the instance in which the issue persists.

Show all comments

I'm trying to set a page rule that sets the value of a date field. This was possible in classic UI using a formula value but I can't seem to enter it the same in Freedom UI. 

 

The scenario is simple, if field #1 has a value, the page rule timestamps the current date time in field #2. 

 

Can anyone help instruct on how to do this?

Like 0

Like

2 comments

According to the roadmap this is coming soon. It mentions ability to set things in rules such as:

Set the following field values: system setting, system variable, value from another field.

It's listed as Q1 2024 - however, we're already in April. Not sure which specific version. 

Ryan

Is it available now -- trying to set a default value to current date and time and have the clock ticking in the page 

Show all comments

Hello team,

 

Is it possible to add a custom button in a mobile application that uses the html5-qrcode javascript library to read qr code?

 

Like 1

Like

1 comments

Hello Stefano,

 

Our R&D team has a task to implement a QR scanner in the mobile application (was also discussed here). The task is still in progress on their end and we expect this functionality to appear in the app in the next application releases. Currently it won't be an easy task, html5-qrcode is an external library and cannot be added to the client module.

Show all comments

Hello. In the old interface, we had a filter that filtered the Contact field by the Contact's Career field. Accordingly, when the Account field is filled in, the system will display in the contact directory only those who have this Account in the Career. Here is the code:

 

    "Contact": {

"FiltrationContactByAccount": {

"ruleType": BusinessRuleModule.enums.RuleType.FILTRATION,

"autocomplete": true,

"autoClean": true,

"baseAttributePatch": "[ContactCareer:Contact].Account",

"comparisonType": Terrasoft.ComparisonType.EQUAL,

"type": BusinessRuleModule.enums.ValueType.ATTRIBUTE,

"attribute": "Account"

 

I am currently trying to recreate this filtering in Freedom UI in a test application. Has anyone already implemented such functionality?

Here is the code for the test application:

 

define("UsrTestAPP_FormPage", /**SCHEMA_DEPS*/[]/**SCHEMA_DEPS*/, function/**SCHEMA_ARGS*/()/**SCHEMA_ARGS*/ {

    return {

        viewConfigDiff: /**SCHEMA_VIEW_CONFIG_DIFF*/[

            {

                "operation": "merge",

                "name": "Feed",

                "values": {

                    "dataSourceName": "PDS",

                    "entitySchemaName": "UsrTestAPP"

                }

            },

            {

                "operation": "merge",

                "name": "AttachmentList",

                "values": {

                    "columns": [

                        {

                            "id": "5eaa61fa-469c-4905-9f83-b058775049e5",

                            "code": "AttachmentListDS_Name",

                            "caption": "#ResourceString(AttachmentListDS_Name)#",

                            "dataValueType": 28,

                            "width": 200

                        }

                    ]

                }

            },

            {

                "operation": "insert",

                "name": "UsrName",

                "values": {

                    "layoutConfig": {

                        "column": 1,

                        "row": 1,

                        "colSpan": 1,

                        "rowSpan": 1

                    },

                    "type": "crt.Input",

                    "label": "$Resources.Strings.UsrName",

                    "control": "$UsrName",

                    "labelPosition": "auto"

                },

                "parentName": "SideAreaProfileContainer",

                "propertyName": "items",

                "index": 0

            },

            {

                "operation": "insert",

                "name": "ComboBox_yee7dcu",

                "values": {

                    "layoutConfig": {

                        "column": 1,

                        "row": 2,

                        "colSpan": 1,

                        "rowSpan": 1

                    },

                    "type": "crt.ComboBox",

                    "label": "$Resources.Strings.PDS_UsrColumn3_r9ta6ih",

                    "labelPosition": "auto",

                    "control": "$PDS_UsrColumn3_r9ta6ih",

                    "listActions": [],

                    "showValueAsLink": true,

                    "controlActions": []

                },

                "parentName": "SideAreaProfileContainer",

                "propertyName": "items",

                "index": 1

            },

            {

                "operation": "insert",

                "name": "addRecord_wpani58",

                "values": {

                    "code": "addRecord",

                    "type": "crt.ComboboxSearchTextAction",

                    "icon": "combobox-add-new",

                    "caption": "#ResourceString(addRecord_wpani58_caption)#",

                    "clicked": {

                        "request": "crt.CreateRecordFromLookupRequest",

                        "params": {}

                    }

                },

                "parentName": "ComboBox_yee7dcu",

                "propertyName": "listActions",

                "index": 0

            },

            {

                "operation": "insert",

                "name": "ComboBox_sg63k40",

                "values": {

                    "layoutConfig": {

                        "column": 1,

                        "row": 3,

                        "colSpan": 1,

                        "rowSpan": 1

                    },

                    "type": "crt.ComboBox",

                    "label": "$Resources.Strings.PDS_UsrColumn2_05dsooo",

                    "labelPosition": "auto",

                    "control": "$PDS_UsrColumn2_05dsooo",

                    "listActions": [],

                    "showValueAsLink": true,

                    "controlActions": []

                },

                "parentName": "SideAreaProfileContainer",

                "propertyName": "items",

                "index": 2

            },

            {

                "operation": "insert",

                "name": "addRecord_j2jwfn4",

                "values": {

                    "code": "addRecord",

                    "type": "crt.ComboboxSearchTextAction",

                    "icon": "combobox-add-new",

                    "caption": "#ResourceString(addRecord_j2jwfn4_caption)#",

                    "clicked": {

                        "request": "crt.CreateRecordFromLookupRequest",

                        "params": {}

                    }

                },

                "parentName": "ComboBox_sg63k40",

                "propertyName": "listActions",

                "index": 0

            }

        ]/**SCHEMA_VIEW_CONFIG_DIFF*/,

        viewModelConfigDiff: /**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/[

            {

                "operation": "merge",

                "path": [

                    "attributes"

                ],

                "values": {

                    "UsrName": {

                        "modelConfig": {

                            "path": "PDS.UsrName"

                        }

                    },

                    "PDS_UsrColumn2_05dsooo": {

                        "modelConfig": {

                            "path": "PDS.UsrTestContact"

                        }

                    },

                    "PDS_UsrColumn3_r9ta6ih": {

                        "modelConfig": {

                            "path": "PDS.UsrTestAccount"

                        }

                    }

                }

            },

            {

                "operation": "merge",

                "path": [

                    "attributes",

                    "Id",

                    "modelConfig"

                ],

                "values": {

                    "path": "PDS.Id"

                }

            },

            

        ]/**SCHEMA_VIEW_MODEL_CONFIG_DIFF*/,

        modelConfigDiff: /**SCHEMA_MODEL_CONFIG_DIFF*/[

            {

                "operation": "merge",

                "path": [],

                "values": {

                    "primaryDataSourceName": "PDS"

                }

            },

            {

                "operation": "merge",

                "path": [

                    "dataSources"

                ],

                "values": {

                    "PDS": {

                        "type": "crt.EntityDataSource",

                        "config": {

                            "entitySchemaName": "UsrTestAPP"

                        },

                        "scope": "page"

                    }

                }

            }

        ]/**SCHEMA_MODEL_CONFIG_DIFF*/,

handlers: /**SCHEMA_HANDLERS*/[]/**SCHEMA_HANDLERS*/,

        converters: /**SCHEMA_CONVERTERS*/{}/**SCHEMA_CONVERTERS*/,

        validators: /**SCHEMA_VALIDATORS*/{}/**SCHEMA_VALIDATORS*/

    };

});


 

I apologize right away if I phrased the question incorrectly, I'm not a programmer =(
Like 0

Like

1 comments

Hello,

 

This is something similar to the discussion here https://community.creatio.com/questions/filtering-lookup-freedom-ui-hel…

 

What should be done:

 

1) The same filter built using the dashboard filtration

2) Use the filter part that will be autogenerated in the schema and add it to the LoadDataRequest request handler

Show all comments

How do you set a specific user's Time Zone without logging in as that user? You can modify your own Time Zone in the Profile section, but I don't think you can access this page for users other than your own, and the user's Time Zone isn't shown in the OOTB User card, so I can't see how an admin could set the Time Zone for a specific user. Anybody know how this could be done?

Like 0

Like

2 comments

Hello,

 

The user's timezone is stored in the SysAdminUnit table, in the TimeZoneId column. However, please note that values in this column are stored not as references to time zones from the directory, but as Time Zone Codes.

You can verify the code in the "Time zones" lookup.

So, you can change this value for any user without logging in with a script in the database:

 

update "SysAdminUnit" set "TimeZoneId" = 'GMT Standard Time' where "Id" = '***User's Id***'

Thank you for reaching out.

Thanks Pavlo, in the end we added the Timezone field to the System user page (UserPageV2) so that we can change the timezone of users without executing SQL. For others wanting to do the same, we used the following code for the user page replacing schema:

define("UserPageV2", ["UserPageV2Resources"],
	function() {
		return {
			entitySchemaName: "VwSysAdminUnit",
			diff: /**SCHEMA_DIFF*/[
				{
					"operation": "insert",
					"name": "TimeZone",
					"parentName": "Header",
					"propertyName": "items",
					"values": {
						"dataValueType": Terrasoft.DataValueType.ENUM,
						"value": {"bindTo": "TimeZone"},
						"layout": {"column": 13, "row": 2, "colSpan": 8}
					}
				}
			]/**SCHEMA_DIFF*/,
			attributes: {
				/**
				 * Time zone.
				 */
				"TimeZone": {
					dataValueType: Terrasoft.DataValueType.LOOKUP
				}
			}
		};
	}
);

 

Show all comments

Hello,

I am currently working on a feature that ensures contracts are not automatically removed from saved surveys when their status changes to a value that does not meet the survey's filtering criteria. For instance, if a survey is saved with contracts in a "Registered" status and then the status changes to "Cancelled", the contracts disappear from the survey. I'm want to retain the list of contracts as it was captured at the time of the survey's save action.

Could anyone guide me on implementing a solution within Creatio that allows capturing a snapshot of contracts at the moment a survey is saved? This snapshot should persist even if subsequent changes to contract status would normally filter these contracts out of the survey view.

What would be the best approach to handle this requirement? Is there a way to hook into the save event of a survey or a contract status change event to trigger this capture?

Any advice or pointers towards relevant documentation would be greatly appreciated.

Like 0

Like

3 comments
Best reply

Yurii Uhorskiy,

Hello,

 

We are not familiar with the structure of the Sales'Up Questionnaire Management for Creatio connector. Thus, we recommend that you contact the developer of this connector directly for further assistance.

 

Best regards,

Yuliya.

Hello,

 

As a variant, you can try setting up the necessary feature via business processes.

 

For us to take a closer look, please specify which survey is meant here. 

Would you please provide more details regarding your business need and what is the expected result?

 

Best regards,

Yuliya.

Yuliya Gritsenko,

 

Hello Yuliya,

Thank you for your response and for suggesting the use of business processes to address my requirements.

I am specifically working with the Sales'Up Questionnaire Management for Creatio, which is utilized to manage surveys and questionnaires within Creatio. The functionality of this product allows for a wide variety of survey types and configurations, crucial for collecting insights across different departments and external users.

The feature I am aiming to implement should ensure that contracts, once included in a survey at the point of saving, remain in the survey results, regardless of subsequent status changes which would normally exclude them based on the survey's current filtering criteria. For example, if a contract's status changes from "Registered" to "Cancelled", I would like the survey to retain the contract's data as it was at the time of the survey's save action.

Could you guide me on how I might leverage business processes to capture a snapshot of the contracts at the time the survey is saved? This snapshot should then be maintained independently of any changes in the contract's status. If there are specific business processes or Creatio functionalities that could be tailored for this purpose, I would appreciate your insights or any documentation you could provide.

Looking forward to your advice on how best to proceed with this implementation.

Best regards,

Yurii Uhorskiy

Yurii Uhorskiy,

Hello,

 

We are not familiar with the structure of the Sales'Up Questionnaire Management for Creatio connector. Thus, we recommend that you contact the developer of this connector directly for further assistance.

 

Best regards,

Yuliya.

Show all comments

Hey everyone! 

How am I able to remove this option from a Expanded list?

Thanks in advance!

Like 1

Like

9 comments
Best reply

You can remove that by overriding the list's rowToolbarItems and just leave it as an empty list. 

 

See this article here: https://customerfx.com/article/adding-row-action-menu-items-to-a-creati…

 

You can override the menu (usually to add other menu items to it). When you do so you override the "Open", "Copy", "Delete" options and need to add them back in. You could override the menu and then just not add back in the delete option. It would look like this (the article will provide more details)

viewConfigDiff: /**SCHEMA_VIEW_CONFIG_DIFF*/[
    {
        "operation": "merge",
        "name": "DataTable",
        "values": {
            //...,
            "rowToolbarItems": []
        }
        //...
    },
    //...
]/**SCHEMA_VIEW_CONFIG_DIFF*/

The important part there is just the empty array [] for the rowToolbarItems property. This would leave it with an empty menu (and the delete would no longer show)

Ryan

You can remove that by overriding the list's rowToolbarItems and just leave it as an empty list. 

 

See this article here: https://customerfx.com/article/adding-row-action-menu-items-to-a-creati…

 

You can override the menu (usually to add other menu items to it). When you do so you override the "Open", "Copy", "Delete" options and need to add them back in. You could override the menu and then just not add back in the delete option. It would look like this (the article will provide more details)

viewConfigDiff: /**SCHEMA_VIEW_CONFIG_DIFF*/[
    {
        "operation": "merge",
        "name": "DataTable",
        "values": {
            //...,
            "rowToolbarItems": []
        }
        //...
    },
    //...
]/**SCHEMA_VIEW_CONFIG_DIFF*/

The important part there is just the empty array [] for the rowToolbarItems property. This would leave it with an empty menu (and the delete would no longer show)

Ryan

Hey, Ryan ! 

Many thanks, man! 

The thing I've found out is: 

On this new update, the 8.1.1.3635, there's no "rowToolbarItems": []".  so I had to "create" it. 

Awesome knowing about you, tho. I'll seek out your articles on my next doubt. 

Have an awesome week!

Gabriel Henrique Pagotto Otero,

This is true, you won't always see all properties for a List (or any component), especially in the case where the page inherits the list from the base/parent page. However, any of the properties can be added to the merge to override them from how they are implemented in the base page.

Ryan

Ryan Farley,



It would be time to organize advanced Creatio development training from other Creatio partners, it seems you have most advanced documentation/knowledge😅😅

Gabriel Henrique Pagotto Otero,

 

Hi, I didn't found the schema page where I must add this code? in wich schema I must add it? in the schema page where the detail is? in this case, where?

 

Thanks,

Julio

Julio.Falcon_Nodos,

Yes. You'd add this in the page that contains the list object. That's a main difference from classic where the list was a separate schema, now it's just another element on the page. 

  1. Open the page containing the list
  2. Select the list, on the properties pane, on the very bottom, copy the Code for the list
  3. Toggle to the code for that same page
  4. CTRL+F to locate the code for the list element in name property (it will also have a type of crt.DataGrid)
  5. In the values node of that list element, add the rowToolbarItems: []

Ryan

Found and solved! :-). To help someone with the same issue.

 

1.- You need to get the name of the element where the Grid Detail is 

2.- Edit the code of the page where the Detail/Expanded list, search the element code name you get in the previous step, in my case "GridDetail_PartidasObra" 

3.- Add in the values, the rowToolbarItems, like in the image above  (the code is also shared):

 

// OPTION 1 - If you want to maintain Edit option, remove Copy & Delete
"rowToolbarItems": [{
	type: 'crt.MenuItem',
	caption: 'DataGrid.RowToolbar.Open',
	icon: 'edit-row-action',
	disabled: "$Items.PrimaryModelMode | crt.IsEqual : 'create'",
	clicked: {
		request: 'crt.UpdateRecordRequest',
		params: {
			"itemsAttributeName": "Items",
			"recordId": "$Items.PDS_Id"
		}
	}
}], 
 
 
// OPTION 2 - If you want to remove allm just add
"rowToolbarItems": [],

Ryan Farley,

Thanks Ryan, we are answering it at same time :-)

 

Regards

Julio.Falcon_Nodos,

Be aware, for adding items back in the rowToolbarItems, you'll need to make sure the values for the list's Items and primaryColumnValue match in the added items. For Section lists, these are usually "Items" and "PDS_Id", however for list's added to a page (which I am assuming yours is based on your grid element's name), they are typically different. You'll need to get those values to update in the inserted text. Refer back to here for more: https://customerfx.com/article/adding-row-action-menu-items-to-a-creatio-freedom-ui-list/

Ryan

Show all comments

Anyone please clarify the Creatio developer certification exam?

1. How many marks for the case study? 

2. How many marks for the multiple choice questions 

 

Like 0

Like

4 comments

Hello,

 

Could you please describe in more detail what exactly your question relates to?

please clarify the Creatio developer certification exam? 

Hello!

 

Approximately half of the marks can be achieved by test case (50 marks), others are achieved by quiz (50 marks).

You need to have at least an 85% score for the quiz to receive the certificate.

Mariia Sorochan,

Thank you

Show all comments