Hi Team,

 

I am facing an issue while accessing the lookup tab. The page keeps on loading and it is not displaying any data.

 

Below is the screenshot for your reference:

I inspected the page and I am getting the following error in the console:

Can anyone guide me how to proceed further with this issue?

Thanks!

Like 0

Like

1 comments

Hello,

Please contact support team at support@creatio.com and provide more details of the issue along with an access to the site where it occurs to proceed with the investigation.

Show all comments

Hi Team,

 

I am facing an issue while accessing the lookup tab. The pages keeps on loading and no data is displayed. Below is the screenshot for your reference:

When I inspect the page I am getting the following error:

Can anyone help me with this?

Thanks!

Like 0

Like

1 comments

Dear Gona,

If your application is on version 8.2.1, you can resolve this issue with the following steps:

1) Unlock the package CrtNUI for hotfix.
2) Open SectionModuleV2 schema metadata
3) Delete the block with WebitelCtiProvider schema dependency (see screen below).
4) Lock the package CrtNUI back.
5) Compile system

image.png

If your version differs or the fix doesn't help, please contact Creatio support team.

Have a great day!

Show all comments

When trying to save the page this error popped up. Can you help? What might be the problem?

Like 0

Like

1 comments

Hello!
I recommend checking the application logs, where the error details will be specified. This information can help resolve the generation issue further.

Show all comments

Hi everyone,
 

I'm facing an issue while trying to calculate the total expense amount for an Idea in Creatio using a business process. My process is triggered when an Idea Expense record is added, modified, or deleted. The goal is to sum all Expense Amounts related to an Idea and update the Idea Expenses Total Amount field in the Ideas object.

Data Structure:
 

  • Idea Expenses Total Amount is stored in the Ideas object.
  • Expense Amount is stored in the Idea Expenses object.

    Current Setup:
     
  • Triggers:
    • Triggered when an expense record is added, modified, or deleted.
    •  
  • Read Related Idea (First Read Block):
    • Reads the Idea Expenses record where Id = Trigger-added.Unique identifier of record.
    • Retrieves the Related Idea field.
    •  
  • Read Idea (Second Read Block, SUM Calculation):
    • Reads all Idea Expenses related to the retrieved Related Idea.
    • Applies a SUM function on the Expense Amount field.
    •  
  • Modify Data (Final Step):
    • Updates the Idea Expenses Total Amount in the Ideas object.
    • Condition: Id = Read Related Idea.First item of resulting collection.Related Idea.
    • New Value: Read Idea.Function result (SUM of Expense Amount).
    •  
  • Issue Faced:
  • Error Message: "Parameter 'ResultFloatFunction' link depth exceeded."
  • Despite configuring the Read and Modify blocks correctly, the process keeps failing.
  • The Idea Expenses Total Amount field is visible on the Ideas list page, but not in the form (not sure if that affects calculations).

    What I’ve Tried:
  • -Ensured all fields are of decimal type for calculations.
  • -Verified correct data references between Read and Modify steps.
  • -Confirmed that Idea Expenses Total Amount is available under the Ideas object, while ---Expense Amount is under the Idea Expenses object.
  • -Tried setting a static value (100) in the Modify Data step to check if the update works.

    kindly help. Attached images as well.
Like 0

Like

1 comments

Hello!

You can get an error "Parameter 'ParameterName' link depth exceeded." in case when there is a circular reference. For instance, parameter gets value from process element's field and in the process element there is a parameter in that field. When running, process tries to calculate field's value and gets into recursion.

Have a nice day!

Show all comments

Hi Creatio community,

Where are the logs of batch query calls stored in Creatio? I need to implement a notification logic that triggers every time a batch query is processed in Creatio.

 

Kind regards

Like 0

Like

1 comments

Hello!

 

Such information you can find in your IIS logs, which by default are stored in %SystemDrive%\inetpub\logs\LogFiles

 

If you need, you can set up your own path:

https://learn.microsoft.com/en-us/iis/manage/provisioning-and-managing-…

Show all comments

Hello

 

I'm trying to make the approval comment field mandatory for a DCM. The idea is that  the approval cannot be approved or rejected if a comment hasn't been added to the section. That is, all approvals need to have a comment added to them.

 

I try to marked the comment as obligatory in the object "Basevisa" but it didnt work. 

 

Any idea how can I make the comment mandatory. 

 

Thank you 

 

 

 

Like 1

Like

1 comments

Hello Laura,

 

In classic UI there are two approaches: either one provided here (but don't forget to disable the AcceptApprovalWithoutComment system setting) or creating a replacing view module for the PreconfiguredApprovalPage and add this code:

define("PreconfiguredApprovalPage", [],
	function() {
		return {
			attributes: {},
			methods: {
				save: function() {
					const approvalComment = this.get("Comment");
					if (approvalComment.length > 0) {
						this.callParent(arguments);
					} else {
						Terrasoft.showErrorMessage("Comment is mandatory");
					}
				}
			},
			diff: /**SCHEMA_DIFF*/ [] /**SCHEMA_DIFF*/
		};
	});

As for the Freedom UI - as was mentioned here and here - this is not avialable in Freedom UI as for now. I will notify our R&D team about your question to prioritize the task to develop the logic for them.

Show all comments

i try to deploy creatio in linux vmware but i cannot login in the login page when make a succesfull login attempt got comeback to login page again in the console i get this some kind error message can you guys help me

 Failed to resolve type Terrasoft.Core.QueryExecutionRules.IQueryRuleApplier
 
Autofac.Core.DependencyResolutionException: An exception was thrown while activating Terrasoft.Core.QueryExecutionRules.QueryRuleApplier -> Terrasoft.Core.QueryExecutionRules.QueryRuleApplyLogger -> Terrasoft.Core.QueryExecutionRules.QueryRuleApplyLogRepository -> λ:Terrasoft.Core.UserConnection.

 

Like 0

Like

1 comments

Hello!
 

To resolve this issue, please submit a request via email to support@creatio.com.

What we need from you:

  1. Website logs.
  2. Binary files (if possible).
  3. An anonymized copy of the database (if it's a default database and doesn't contain sensitive data, please provide it).


Thank you for reaching out! We’ll be happy to assist you!

Show all comments

Trying to create new Reminding with link to Call or Contact collection objectby oData4 request. Is it possible?
With Action collection everything fine. But with Call (or Contact) collection Id request only red point appears near bell symbol, but list of remindings is empty.

Like 0

Like

2 comments

Hello!

 

If you mean create remindings with link to specific record. You actually can manage something like this with the business process by adding notifications with an edit page element. And then trigger this process by odata.

Kyrylo Atamanenko,

Thank you, Kyrylo

I mean, which collection UId from the list of {{BaseURI}}/0/odata/SysSchema should be specified in the "SysEntitySchemaId" field in the POST request  {{BaseURI}}/0/odata/Reminding in order to create a notification not bound to an Action, but Contact or Call? Is it possible to create this kind of notification without changing the default configuration of Creatio?

Show all comments

Hi, I have a problem when I first start the Creatio application. I followed the instructions shown in the training and after logging in to the application (the login window appears correctly) I get a blank page and in the logs (Temp/Creatio/D1Dev/Log//Error.log) I see an error:


2025-02-18 09:51:32,298 [1] ERROR IIS APPPOOL\D1Dev Terrasoft.Core.SchemaManagerProvider InitializeConfigurationFromDI - Could not initialize manager provider configuration from DI
System.ArgumentNullException: Value cannot be null.
Parameter name: provider
  at System.ThrowHelper.Throw(String paramName)
  at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetServices[T](IServiceProvider provider)
  at Terrasoft.Core.SchemaManagerProvider.InitializeConfigurationFromDI()
2025-02-18 09:51:32,698 [1] ERROR IIS APPPOOL\D1Dev Terrasoft.Core.SchemaManagerProvider InitializeConfigurationFromDI - Could not initialize manager provider configuration from DI
System.ArgumentNullException: Value cannot be null.
Parameter name: provider
  at System.ThrowHelper.Throw(String paramName)
  at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetServices[T](IServiceProvider provider)
  at Terrasoft.Core.SchemaManagerProvider.InitializeConfigurationFromDI()

 

These are screenshot of the blan page with the console and network tabs logs

Like 0

Like

1 comments

Hello,

We have received the results of the research from our development team:

The error “Terrasoft.Core.SchemaManagerProvider InitializeConfigurationFromDI” occurs only at the start of the application, because at this point the DI provider (which is a fairly new functionality in Creatio for back-end engines) is not initialized. This exception is caught, recorded only in the log file, and does not affect the program's operation. You can ignore this message.

Our developers have also opened an issue to fix this behavior in future releases of Creatio.

​​​​​​​Please advise, does the problem recur all the time or is this your first time logging in?

When installing an application, by default the first login always takes a long time to load, as the site needs to fetch all the data. Upon further logins to the site, it loads faster.

 

Show all comments

Hello everyone,

I'm working on a custom duration validator in Creatio, but I'm running into an issue where the function returns invalidMessage before the validation logic completes.

Here’s a simplified version of my function:

durationValidator: function(){
                var invalidMessage="";
                var name=this.get("UsrNameLookup").value ?? null;
                var currentDuration=this.get("UsrDurationMinute");
                if(!name){
                    return;
                }
                var esqDuration = this.Ext.create("Terrasoft.EntitySchemaQuery", {
               rootSchemaName: "UsrPerformances"
           });
                esqDuration.addColumn("UsrDurationMinute");
                // var groupFilters = this.Ext.create("Terrasoft.FilterGroup");
                
                var totalDuration = 0;
                if(this.isAddMode()){
                    var nameFilter = this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "UsrNameLookup", name);
                // groupFilters.addItem(filterId);
                esqDuration.filters.add("esqFirstFilter",nameFilter);
                    esqDuration.getEntityCollection(function(result) {
                   if (!result.success) {
                       this.showInformationDialog("Request error");
                       return;
                   } else {
                       result.collection.each(function(item) {
                               totalDuration += item.get("UsrDurationMinute");
                           }
                       );
 
                   }
                   totalDuration += currentDuration;
                        console.log(totalDuration);
                   this.Terrasoft.SysSettings.querySysSettingsItem("UsrMaximumDuration", function(maxDuration) {
                       // console.log("td"+totalDuration);
                       if (totalDuration > maxDuration) {
                            this.set("Numbervalue", false);
                           this.showInformationDialog("No more than " + maxDuration + " total performances duration is allowed.");
                            invalidMessage= "No more than " + maxDuration + " total performances duration is allowed.";
                            return{
                                invalidMessage: invalidMessage
                            };
                       } 
                        else {
                            this.set("Numbervalue", true);
                            invalidMessage="";
                            return{
                                invalidMessage: invalidMessage
                            };
                       }
                   }, this);
 
               }, this);
                }else{
                    console.log("else");
                    var nameFilter = this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.EQUAL, "UsrNameLookup", name);
                
                
                    var idFilter = this.Terrasoft.createColumnFilterWithParameter(this.Terrasoft.ComparisonType.NOT_EQUAL, "Id", this.get("Id"));
                    esqDuration.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
                    esqDuration.filters.add("esqFirstFilter",nameFilter);
                    esqDuration.filters.add("esqSecondFilter", idFilter);
                    esqDuration.getEntityCollection(function(result) {
                   if (!result.success) {
                       this.showInformationDialog("Request error");
                       return;
                   } else {
                       result.collection.each(function(item) {
                               totalDuration += item.get("UsrDurationMinute");
                           }
                       );
                       // console.log("i am running");
                       // let prevduration=this.get("UsrprevDuration");
                       // console.log("previous duration"+ prevduration);
                       totalDuration += currentDuration;
 
                   }
                    console.log(totalDuration);
                   this.Terrasoft.SysSettings.querySysSettingsItem("UsrMaximumDuration", function(maxDuration) {
                       // console.log("td"+totalDuration);
                       if (totalDuration > maxDuration) {
                            this.set("Numbervalue", false);
                           this.showInformationDialog("No more than " + maxDuration + " total performances duration is allowed minutes.");
                            invalidMessage="No more than " + maxDuration + " total performances duration is allowed.";
                            return{
                                invalidMessage: invalidMessage
                            };
                       } else {
                           this.set("Numbervalue", true);
                            invalidMessage="";
                            return{
                                invalidMessage: invalidMessage
                            };
                       }
                   }, this);
 
               }, this);
            
                    
            }
                console.log(invalidMessage);
                return{
                                invalidMessage: invalidMessage
                            };
                },
 
 
The console.log(invalidMessage); statement always prints an empty string.
  • The function returns <strong>invalidMessage</strong> before the asynchronous operations (getEntityCollection and querySysSettingsItem) complete.
  • As a result, validation messages do not appear correctly.
Like 0

Like

4 comments

Jerome BERGES,

Thanks for answering, I tried different approach like this https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/getting-started/first-app/develop-application/step-3-add-page-validation and it works.

Is there any i can perform same validation on detail of some custom page.

Darshan Dev Prajapat,

The problem with the article you linked to and what you're trying to accomplish is that you're using asynchronous methods inside the validator, which won't work with a synchronous validation method since the validation method will return before you've retrieved the asynchronous results. You need to switch to the asyncValidate (see link provided by Jerome) in order to use asynchronous methods (such as EntitySchemaQuery, SysSettings retrieval, etc).

The main difference in the article you linked to and your code is that the article performs the ESQ outside of the validator, when the onEntityInitialized fires, not inside the validator (which is what you're doing). To do asynchronous operations like ESQ (and using SysSettings) you need to use the asyncValidate method.

Ryan

Ryan Farley,


Thanks for the detailed explanation. I am using onEntityInitialized for validation, and it is working for me. However, I would like to know if there is a way to perform the same validation where this performance detail is being used, such as on a custom page.

 

Show all comments