Hi all,

 

We have noticed that in formatting options of a Rich Text field there is the possibility to 'Align left', 'Center' and 'Align right'.

 

Is there a way to enable also 'Justify' formatting option?

 

Best Regards

 

Stefano
 

Like 0

Like

1 comments

Dear Stefano,

Unfortunately, currently, there is no option to justify the format in Rich text. 

I have created an idea for the R&D team.


Thank you for making Creatio better!

Show all comments

Hi Community,

I noticed that in the Business Process Configuration, we can set a Static value when open a page.

Is there a workaround to set a static value when opening the page through the page editor configuration or client-side code?

 

Setup via page editor(Can't set static value)

Setup via code (without setup param)

Like 0

Like

4 comments
Best reply

Resolved using client-side code customization

Hello,
If the page is opened outside of a business process but still requires a static value to be applied, the page must represent an object. You can achieve this by setting up a business rule.

In the business rule, you can define an "If" condition to check whether the necessary field is empty. If it is, the rule will automatically assign the desired value to that field.

Hello Nick,

Thank you for your response.

The reason I want to set a static value for the page parameter when opening the page is that I have a modal for confirming the delete process. The value from the page parameter will be used to determine which object is being deleted when the "YES" button is clicked.

That's why I need to assign a static value to the page parameter based on where the confirmation modal is being used. Currently, i can set static value using the Business Process (BP), but I don’t think it’s good practice to rely on BP only for opening the page.

Unfortunately, there are no default values for page parameters at the moment. I will register this idea for future development.
As for now, this can only be implemented via BP or through development.

Resolved using client-side code customization

Show all comments

I recently completed the Development on Creatio guided learning course. With my instructor's assistance, I set up a local Creatio instance—labeled Dev1_DEV—on my Windows server.
 

After switching my D1_DEV local development environment to use File System Development Mode instead of the default Creatio IDE mode, I encountered an issue where my Creatio instance failed to load the necessary JS files related to SectionModuleV2 for Classic UI sections (e.g., System Settings, Lookups). I reverted my Web.Config file changes to disable File System Development Mode, which resolved the issue.
 

For reference, I have attached screenshots of the error messages from my console when attempting to access Classic UI sections while File System Development Mode was enabled.
 

Could you help me understand why switching to File System Development Mode prevents access to the required JS files for Classic UI sections? Aside from modifying the Web.Config file, I did not make any other changes to the system. 

Any guidance on resolving this would be greatly appreciated.

Like 0

Like

14 comments

Hello,

 

We recommend checking if all the steps from the article have been completed:

https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platfor…

 

For example, ensure that these values are set:

<fileDesignMode enabled="true"/>
...
<add key="UseStaticFileContent" value="false"/>


All steps must be completed.

Hello Kalymbet,
Hope all is well. 

Thank you for providing that link. I followed its steps listed on the page as follows: 
Enabled file design mode
Disabled UseStaticFileContent 
Compiled my instance (no errors)
Downloaded packages to file system successfully (no errors)
Gave IIS Usr full access to the Terrasoft.Configuration file

I still received the same error. It looks like it is not able to find the SectionModuleV2.js file. 




 

Kalymbet Anastasia,

 

Hello,
 

We also recommend that the user under which the application pool is running should also have full access to the {rootAppFolder}\Terrasoft.WebApp folder

Folder access

Serhii Parfentiev,

Thank you for the suggestion. I added Full control access to the IIS User for the Terrasoft.WebApp folder and I still received the same issue. For reference, I attached an image of the Terrasoft.WebApp security properties. 

 

Hello,
Could you please verify under which user the Application Pool is running? If you have changed the user, please make sure to grant permissions for this user too.

If this doesn't help, additionally please try the following scenario:
1) Deploy the application.
2) Authorize and allow the inner part of the application to initialize (after login, wait for the application to finish loading).
3) Only after that, make changes in the Web.config file to enable development on the file system and follow further instructions. 

i have done all the steps and facing the same issue
not able to open lookup, process log , but contact , account , creatio ai dashboard is opening 

Varun Mishra,

Please confirm that you have completed all the steps described in each message in this thread above, including the last one.

Mira Dmitruk,

Any Update

Pranshu Basak,

Could you please specify what update you are expecting?

Mira Dmitruk,

hello, i tried all the steps still not working 

Varun Mishra,

Hello!

Please run a full generation and compilation.

Although from the screenshot it’s clear that the script did not load, it’s possible that you still haven’t granted the necessary permissions to the folder. We recommend giving full access to the folder for the IIS user under which the application pool is running.

If the error persists, please register a ticket via email: support@creatio.com

Regards, 
Orkhan

Orkhan,

I updated my local version from 8.2.1.5446 to 8.2.3 and issue resolve  using this article https://customerfx.com/article/automated-upgrade-procedure-for-on-premise-implementation-of-creatio/

Show all comments

Hi Creatio Community,

 

I'm currently working with batch operations in Creatio and have successfully tested some requests that are working fine.

 

I have a question regarding inserting column values that reference other tables by their respective columns. Specifically, I need to perform operations on a large number of columns and data, which could be time-consuming if I have to manually map the IDs based on their codes.

 

Is there a more efficient way to handle this?

 

Here’s an example of a request I’m working with:

{
	"requests": [
	{
		"method": "POST",
		"atomicityGroup": "g1",
		"url": "City",
		"id": "t3",
		"body": {
			"Name": "TestName",
            "Country.Code": "USA"
		},
		"headers": {
			"Content-Type": "application/json;odata=verbose",
			"Accept": "application/json;odata=verbose",
			"Prefer": "continue-on-error"
		}
	}
	]
}
Like 1

Like

1 comments

Hello,

Creating operations on a large number of columns and data, which could be time-consuming, may lead to performance problems in the future. Please try to avoid big batch operations so as not to face the situation of 100% server CPU utilization.

As a workaround:

  1. You may create a custom Web service and pass the needed data to it.
  2. Create a business process that proceeds with needed data modifications

 

Show all comments

I can't figure out the tutorial, where to update these stages -- the names, etc.

 

Like 0

Like

1 comments

Hello,

Please navigate to the Page Designer, click on the progress bar, and select set up cases.


After that, you will be redirected to the DCM setup page.
Then please use this article to set it up:

Additionally, you can use this video to learn more about DCM.

Best regards 
Antonii. 

Show all comments

How to open section programmatically?

 

i need to open 'home' section programmatically as a result of event/command

Like 0

Like

2 comments

Hello!
 

You can achieve this without code by creating a business process that will be triggered and open the required page.


You can read more about business processes on the Creatio Academy:

https://academy.creatio.com/docs/8.x/no-code-customization/8.1/category/process-administration

Regards,
Orkhan

in my case thats not an option.... 

Show all comments

Hello, everyone! 


I've stumbled upon a request from a client who wants his product images (from the attached files) to be shown to whoever is viewing the product in a tab "Images" from said product. 

I've created the tab without any trouble and associated the "Gallery" component to it, linking the "Uploaded file" (SysFiles) with the correct data souce filter (id from my record = "Record ID" from Uploaded file). It just shows me a picture of a camera.. 

 

 

Inside the "SysFile" object, the only options I have as to "fileType" are "File", "Link" and "Link to object"... Should there be a "jpg" or something like that for the image to be shown there? 

---

What other solution is there for it to be displayed? 

I've searched that on classic UI that was possible, but saw no proof of how it was done. 

 

Btw, i'm on version 8.2.0.4183.

 

Hope yall can help me. 

Thanks! 

Like 0

Like

1 comments
Best reply

Hello,

 

Unfortunately, the "SysFile" object is not suitable for use as an image source for the gallery, as it lacks some key image-related settings.
However, if the images are simple, this can be achieved using "handlers".

 

The main works to be done:
1. Configure a filter for the gallery to ignore invalid files.
In the example, display only files whose names end with ".png".
 

2. Populate the "image" property in "templateValuesMapping" within the gallery settings in the metadata.
In the designer, this field should be empty.
Let's take this one as example:
"image": "Gallery_gckk34fDS_SysFileToImage"
 

3. Implement a handler for "crt.HandleViewModelAttributeChangeRequest" in the metadata.
Here’s an example of the handler:
{
    request: "crt.HandleViewModelAttributeChangeRequest",
    handler: async (request, next) => {
        if (request.attributeName === "Gallery_gckk34f" && request.value?.length > 0) {
            for (var i = 0; i < request.value.length; i++) {
                const record = request.value[i];
                const recordId = record.attributes["Gallery_gckk34fDS_Id"];
                const recordName = record.attributes["Gallery_gckk34fDS_Name"];
                const recordUrl = "/0/img/entity/hash/SysFile/Data/" + recordId;
                const newColumnAttribute = {
                    displayValue: recordName,
                    value: recordId,
                    url: recordUrl
                };
                record.attributes["Gallery_gckk34fDS_SysFileToImage"] = newColumnAttribute;
            }
        }
        return next?.handle(request);
    }
}
 

How the handler works:
When the loaded collection is not empty, we populate the attribute specified in "templateValuesMapping" for each record with a specific object.
In the "url" field, we set the following link:
"/0/img/entity/hash/SysFile/Data/" + recordId
The system will load data from the "Data" column of the "SysFile" object based on a given identifier.
 

If you have any additional questions, feel free to ask.

Hello,

 

Unfortunately, the "SysFile" object is not suitable for use as an image source for the gallery, as it lacks some key image-related settings.
However, if the images are simple, this can be achieved using "handlers".

 

The main works to be done:
1. Configure a filter for the gallery to ignore invalid files.
In the example, display only files whose names end with ".png".
 

2. Populate the "image" property in "templateValuesMapping" within the gallery settings in the metadata.
In the designer, this field should be empty.
Let's take this one as example:
"image": "Gallery_gckk34fDS_SysFileToImage"
 

3. Implement a handler for "crt.HandleViewModelAttributeChangeRequest" in the metadata.
Here’s an example of the handler:
{
    request: "crt.HandleViewModelAttributeChangeRequest",
    handler: async (request, next) => {
        if (request.attributeName === "Gallery_gckk34f" && request.value?.length > 0) {
            for (var i = 0; i < request.value.length; i++) {
                const record = request.value[i];
                const recordId = record.attributes["Gallery_gckk34fDS_Id"];
                const recordName = record.attributes["Gallery_gckk34fDS_Name"];
                const recordUrl = "/0/img/entity/hash/SysFile/Data/" + recordId;
                const newColumnAttribute = {
                    displayValue: recordName,
                    value: recordId,
                    url: recordUrl
                };
                record.attributes["Gallery_gckk34fDS_SysFileToImage"] = newColumnAttribute;
            }
        }
        return next?.handle(request);
    }
}
 

How the handler works:
When the loaded collection is not empty, we populate the attribute specified in "templateValuesMapping" for each record with a specific object.
In the "url" field, we set the following link:
"/0/img/entity/hash/SysFile/Data/" + recordId
The system will load data from the "Data" column of the "SysFile" object based on a given identifier.
 

If you have any additional questions, feel free to ask.

Show all comments

Hello Creatio Friends,

 

I'm stuck. 

 

We are testing out creating additional org roles and want the users to automatically get assigned when they SSO in. One user can have multiple org roles.

 

We saw there’s some SSO fields already mapped to Contact like branch -> Branch, displayname -> Name and that kind of thing, but I’m stuck on figuring out how they get assigned to org role. 

 

I found VwSysRole that spells out all the different roles and SysUserInRole where they give individual role assignments for each user (multiple ok).

 

Just can’t find the gap - how they go from SSO JIT to assigned to an org role. Any chance you know?

 

Thanks in advance,

Israel

Like 0

Like

3 comments
Best reply

Hello,

 

In Creatio, organizational and functional roles are transmitted using the "role" attribute. This attribute is not listed in the JIT mapping but can be found in the SsoServiceProvider table under the SamlUserRole column.

 

To pass user roles to Creatio, simply create a claim named "role" on the Identity Provider side. For example, in Entra ID, this would be configured accordingly.

 

The claim should contain the attribute value where your roles are stored.

 

!Important: Role names must exactly match the role names in Creatio, including case sensitivity.

 

Regarding SSO technology and implementation, we can only assign existing roles to a user. Roles are not created automatically because:
 

  1. 1. A role must have predefined permissions or inherit from another role;

    2. The SSO protocol does not allow retrieving a full list of roles from the Identity Provider—only data about the current user can be obtained. So we only get the name of the role of the logged-in user, not the entire organizational role hierarchy.

    I hope this answers your questions.

Hello,

 

In Creatio, organizational and functional roles are transmitted using the "role" attribute. This attribute is not listed in the JIT mapping but can be found in the SsoServiceProvider table under the SamlUserRole column.

 

To pass user roles to Creatio, simply create a claim named "role" on the Identity Provider side. For example, in Entra ID, this would be configured accordingly.

 

The claim should contain the attribute value where your roles are stored.

 

!Important: Role names must exactly match the role names in Creatio, including case sensitivity.

 

Regarding SSO technology and implementation, we can only assign existing roles to a user. Roles are not created automatically because:
 

  1. 1. A role must have predefined permissions or inherit from another role;

    2. The SSO protocol does not allow retrieving a full list of roles from the Identity Provider—only data about the current user can be obtained. So we only get the name of the role of the logged-in user, not the entire organizational role hierarchy.

    I hope this answers your questions.

Hi Pavlo, 

 

That answers my questions more completely than I was hoping. Thank you for your expertise and for including screenshots!

Joshua,

You also need to create the corresponding attribute in the SsoServiceProvider table in the SamlUserRole column, following the instructions above, and then fill it in on your SSO provider side.

Show all comments

Is there anyone that is currently using the Creatio Project Management Section to manage construction based jobs?

Would be interested in hearing how this is working for you and if you are able to track everything via that section.

 

Thanks!

Like 1

Like

0 comments
Show all comments

Hi all,

 

i've set up "next steps" component in my interface so that a user can check what are the pending activities for a record with an associate case

 

Language is in italian in this screen, but "Attività" is the next steps component. In this instance it is a pre configured page routed to a group "Amministrazione". My issue is that users from different group are able to open the pre configured page and work on it.

 

I can toy with object permission and set the record as read only for everyone but those in the group who is owner of the task but other users are still able to open the pre configure page. 

 

The ideal behaviour would be for the complete button in the task to be disabled for those users that are not part of the owner role. Is that even possible?

 

Thanks

 

Like 0

Like

1 comments
Best reply

Hello,
 

Starting from version 8.2.2, we have already fixed this behavior in the product.

 Now, if a user does not have permissions for an activity, business process actions (tasks, pre-configured pages, etc.) will not be displayed in the Next Steps element.
 

If you require a backport of this solution to an earlier version of the application, please contact the support team (support@creatio.com) referring to the current post , and we will check the feasibility of applying this fix to your version.
 

Thank you for reaching out!

Hello,
 

Starting from version 8.2.2, we have already fixed this behavior in the product.

 Now, if a user does not have permissions for an activity, business process actions (tasks, pre-configured pages, etc.) will not be displayed in the Next Steps element.
 

If you require a backport of this solution to an earlier version of the application, please contact the support team (support@creatio.com) referring to the current post , and we will check the feasibility of applying this fix to your version.
 

Thank you for reaching out!

Show all comments