Hi;

I Run the Creatio proces using ProcessEngineService.svc

and from time to time we get responce

"The remote server returned an error: (400) Bad Request."

the request looks like that

{"ParameterValues":[{"Name":"ClaimQuotationId","Value":"fb805d29-20cb-4148-08f1-08d82c03864d"}],"SchemaName":"UsrManualCostEdit"}



Process starts,  reach to the end but still has status "Running"



where can i Find logs showing the problem?

 

Regards

Tomek

 

File attachments
Like 0

Like

5 comments
Best reply

Tomasz Branicki,

Hello,

 

Please share BusinessProcess.log and Error.log files from your local app (can be found in C:\Windows\Temp\Creatio folder) and also specify the exact time when the process should've been completed. And also please share the name of this process and its UID from SysSchema table.

 

Best regards,

Oscar 

Can you try 'open'ing the process instance from process log, check if any elements show 'error' status. If yes, click on that and then click on the 'show error description' button.

KrishnaPrasad,

Hi;

thanks for replay

all steps have completed status.reason why ProcessEnginService return 

I just looking for the reason why ProcessEnginService return response 400 Bad request.

Mayority of similar requests looks fine

 

Regards Tomek

 

Tomasz Branicki,

Hello,

 

Please share BusinessProcess.log and Error.log files from your local app (can be found in C:\Windows\Temp\Creatio folder) and also specify the exact time when the process should've been completed. And also please share the name of this process and its UID from SysSchema table.

 

Best regards,

Oscar 

Oscar Dylan,

thanks Oscar

I find the deadlock errors so i think that was an reason

But i still wonder why this process anyway starts and has running status even he reach the termination step.

here are the dates

2020-07-22 10:15:25.703

2020-07-22 10:05:24.043

2020-07-22 07:50:28.773

2020-07-22 07:46:50.083

2020-07-22 07:39:57.850

2020-07-22 07:31:23.590

 

 

 

Tomasz Branicki,

 

Hello Tomasz,

 

It will be almost impossible to say without direct access to the database and the application. Please email us at support@creatio.com and we will take a look at the deadlock problem more closely.

 

Thank you!

 

Best regards,

Oscar

Show all comments

I have a fault tolerant installation on-premise where there are 3 nodes running Creatio. Is there a way of configuring node-specific system setting? In other words, is there a way to have different values for different nodes for the same system setting?

 

Thanks in advance...

Like 0

Like

1 comments

Hello,

 

Such an option is not available for fault-tolerant installation. 

Fault-tolerant architecture implies that when one node fails, users will be able to work with the neighbouring one. If two neighbouring nodes are different, then this is no longer a fault-tolerant architecture, but two different applications.

 

Best regards,

Angela

Show all comments

Hi,

While installing a package from workspace console utility I am getting the below error, please help me to understand how to identify the location of error by tracing the sql error stack.

 

Please respond to this ! 

Many Thanks.

Like 0

Like

1 comments

Dear Akshit,

 

Unfortunately, it is impossible to determine the root cause of the issue using the provided stack trace. Please note that it is only possible to define that the issue happened due to the incorrect sql syntax.

 

In order to resolve the issue please check all sql-queries and esq calls that are located in the package.

 

Best regards,

Norton

Show all comments

Hi,

I am following this https://academy.creatio.com/documents/technic-sdk/7-16/how-add-custom-logic-existing-controls article to add custom logic.

below is my conf object for the diff array : 

I have followed the instruction as it is given in the article but when I save the schema and clear the cache, the record pages show a blank workspace. When I comment the above config object of diff array the records opens but I can't able to achieve the task.

 

Please Help me to figure the problem ! 

Many thanks,

Best 

 

Like 0

Like

1 comments

Dear Akshit, 

 

Could you please open web console when the issue occurs and send a screenshot of an error that occurs? 

 

Best regards, 

Dennis 

Show all comments

Hi,

I am following this article https://academy.creatio.com/documents/technic-sdk/7-16/adding-action-edit-page to add action to the edit page.

Below is my edit page code : 

I have found nothing wrong in my code and saved it but when I refresh the cache, records are opening with a blank workspace like below.

 

Please help me to figure out the problem! 

Many Thanks! 

Like 0

Like

3 comments

Dear Akshit, 

 

Could you please open web console and send a screenshot of an error that occurs? 

 

Best regards, 

Dennis 

Hi Dennis Hudson,

 

Yes sure !

 

 

 

Hi Akshit,

 

Could you please also send the schema name and all code in the schema in the text file? It looks like the issue may be in the different parts of the code. 

 

Best regards, 

Dennis 

Show all comments

Hello, 

 

I have a custom section that has a field that only shows cities where country is the US. When I'm in the page and click on the look up I only get the US cities.  However if I am on the section and I add a Simple filter and I select the field for the city, the cities are not filtered out by the US, and all cities in the database are listed (see attachments)

 

How do I filter that look up when the user decides to add a simple filter and chooses the city as the column?

 

Thanks in advance,

Jose

 

 

Like 0

Like

9 comments

Hello Jose,

 

This filtering on the edit page can be either a result of:

1) filtering business rule on the page (see this Academy article for more information)

2) custom filtration rule logic stored in the edit page itself

 

The same filtration logic cannot be deployed using standard business rules in the section list, but you can use additional development so to create a custom filter in the section based on some contidions and it can be achieved via ESQ filtration methods (simial to the one described here).

 

But you need to define some logic that could control this filtration (for example which cities should be displayed in the section list filter?) and then deploy this logic in the ESQ parameters.

 

Best regards,

Oscar

Oscar Dylan,

Hi Oscar, 

 

I read the link that you provide for the section list, but unfortunately it does not say which function I have to override in order to call the logic with the ESQ parameters. 

 

Can you tell me where I need to put the ESQ logic that will filter the cities look up values in the section list? The ESQ logic, I know how o write to get the only cities where the country is the Unites States.

 

Thanks,

Jose

 

Jose Hernandez,

 

Hello,

 

Please see this article https://community.creatio.com/articles/setting-custom-section-filters-section. The ESQ should be placed in your overwritten section schema (like AccountSectionV2 or ContactSectionV2) in the methods of the schema. You can create a separate filter field in the fast filter already available in your section and then display only those cities that ESQ will return.

 

Or you can achieve your task without development and in this case you can create several folders in your section list - one for each city like on the screenshot below:

 

Best regards,

Oscar

Oscar Dylan,

Thanks Oscar. The instructions are for Quick filters, but I was looking for a solution where I could filter the data when the user decides to add a simple filter for a field that is a cities look up. We have several city fields on that custom section (Enrollee City , Rep City, Plan City, etc. ) and it is not practical to put that many Quick filters on the section list. We also have other fields based on the Contact lookup and I was hoping to filter those to when the user adds a simple filter for those fields to list just the users in the roles that are allowed for that custom section. 

 

In short, I was looking for a way to filter the data displayed to the user when they add a simple filter that is based on a Creatio lookup.

 

Thanks,

Jose

Jose Hernandez,

 

The result that is needed is to display not all the cities, but serveral cities in the fast filter based on some conditions (like on the screenshot below where the condition is that they start with "De" combination). So you need to override the base filter https://community.creatio.com/articles/setting-custom-section-filters-section and add your custom ESQ-methods https://community.creatio.com/questions/filteration-lookup-based-detail. As a result not all the cities will be displayed, but only those that you specify in the ESQ-method.

 

If your business task is to simply display records that are related to some city it is better to create dynamic folders that could show you the correspondent data and that will be dynamically updated.

 

Otherwise you need to overwrite the basic fast filter and add your condition that could return possible variants of cities:

Best regards,

Oscar

 

Oscar Dylan,

Thanks Oscar, but the link you provided to override the base filter applies to Fixed filters, not the simple filters the users adds on demand.

Jose Hernandez,

these simple filters are part of fixed filters. For example if you remove this part from the code:

 

name: "PeriodFilter",
                            // Filter header.
                            caption: this.get("Resources.Strings.PeriodFilterCaption"),
                            // The data type – date.
                            dataValueType: this.Terrasoft.DataValueType.DATE,
                            // Start date of the filtering period.
                            startDate: {
                                // Filter the data from the [Date] column.
                                columnName: "StartDate",
                                // Default value.
                                defValue: this.Terrasoft.startOfWeek(new Date())
                            },
                            // Date of the filtering period completion.
                            dueDate: {
                                columnName: "StartDate",
                                defValue: this.Terrasoft.endOfWeek(new Date())
                            }
                        },
                        // Owner filter.
                        {
                            // The name of the filter.
                            name: "Owner",
                            // Filter header.
                            caption: this.get("Resources.Strings.OwnerFilterCaption"),
                            // Filter the data from the [Owner] column.
                            columnName: "Owner",
                            // Current user contact is specified as default value.
                            // Value is received from the system setting.
                            defValue: this.Terrasoft.SysValue.CURRENT_USER_CONTACT,
                            // The data type – lookup.
                            dataValueType: this.Terrasoft.DataValueType.LOOKUP,
                            // Filter.
                            filter: BaseFiltersGenerateModule.OwnerFilter

from the code in this article https://academy.creatio.com/documents/technic-sdk/7-16/adding-quick-filter-block-section (that describes adding this block of filters to the section) the filters will be formed with quick filters\folders and tags selection.

 

Best regards,

Oscar

Oscar Dylan,

Thanks Oscar, but I was asking for a way to do it without having to add Quick Filters or dynamic folders  to the section. Is it not possible to display only certain values when the user adds a field on a simple filter?  e,g Click Filters/Folders, select Add Filter, Select Enrollee City, (custom code filters out any city where country is not Unites States).

 

Thanks,

Jose

Jose Hernandez,

 

Such a feature of custom filters in not present out-of-the-box, but can be added via additional development (by replacing the existing fixed filter in the section by a custom one and specifying the ESQ for the filter).

 

It is also possible to add such a filtration without development by creating a separate lookup where only specific cities will appear. In this case when users want to create a filter they will only see specific cities in the lookup and as a result the task will be achieved. You will only need to fill this lookup in for all existing records. The fastest way to do that is to export existing section records and their actual cities and import this data back, but specifying the city value for the custom column we've added.

 

Best regards,

Oscar

Show all comments

Hi,

My case is to construct this query : 

select SUM("UsrAmountForTheMonth")  from table abc where agent = 'A' and client = 'B' and resolved != 'C'

 

agent , client and resolved all three are lookup column and UsrAmountForTheMonth is of decimal type.

 

I have to do it on the frontend i,e using Edit page schema. I have written the below code but nothing pop up on the screen when I refresh and open the record. 

I want to understand where I am making mistake . It should in esq query formation.

 

Please help,

Many thanks,

Akshit.

 

Like 0

Like

3 comments

Dear Akshit, 

 

Here is an example of the query that you want to build (instead of your object and columns I used OOB Order columns for testing): 

 

var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
    rootSchemaName: "Order"
});
esq.addColumn("DeliveryType");
esq.addColumn("Status.Name");
esq.addColumn("PaymentType");
esq.addColumn("Amount");
 
esq.filters.logicalOperation = Terrasoft.LogicalOperatorType.AND;
 
var esqFirstFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "DeliveryType", "50DF77D0-7B1F-4DBC-A02D-7B6EBB95DFD0");
var esqSecondFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "PaymentType", "0026BDE9-932B-4BAA-BA30-FFA521A255AB");
var esqThirdFilter = esq.createColumnFilterWithParameter(Terrasoft.ComparisonType.NOT_EQUAL, "Status.Name", "2. Confirmation");
 
esq.filters.add("esqFirstFilter", esqFirstFilter);
esq.filters.add("esqSecondFilter", esqSecondFilter);
esq.filters.add("esqThirdFilter", esqThirdFilter);
 
esq.addAggregationSchemaColumn("Amount", Terrasoft.AggregationType.SUM, "AmountSum");
 
esq.getEntityCollection(function (result) {
    if (!result.success) {
        console.log("Data query error");
        return;
    }
	if (result.collection.getByIndex(0)){
		console.log(result.collection.getByIndex(0).get("AmountSum"));
	}
	else {
		console.log("0");
	}
}, this);

Best regards, 

Dennis 

Hi Dennis Hudson,

 

If I am using  " esq.addColumn(TitleNameOfLookupColumn) " It shows "Data query error"  : please look at the first snap for this.

 

With little changes in the condition and "esq.addColumn(DB Name)" It shows the sum of total amount = 4720 which is wrong. : snap 2

 

Please help !

 

snap 1

 

snap 2

Hi Dennis Hudson,

 

It is working now ! when I removed all the esq.addColumn(); and using DB Name of the column in the filter and aggregate method.

 

Thanks 

Best 

Akshit.

Show all comments

Hi,

I make a custom section called "Gamma" and I am following this https://academy.creatio.com/documents/technic-sdk/7-16/how-add-section-action-handling-selection-single-record article to add an action and implemented all the required methods in "Gamma" section schema. 

But when I saved it and clear the cache nothing appears on the section workspace.

Does it mean that we cannot add an action to the custom sections? If not then what could be the problem?

 

Many Thanks.

Like 0

Like

1 comments

Dear Akshit, 

 

For those steps, there is no difference if the section is custom or OOB. If you've made all steps of the instruction correctly please clear cache and cookies. If you still don't see the action please check that you've correctly added it in getSectionActions method and that you don't have any errors in the console. If you check that all steps were done correctly and after clearing cache you don't see the button please send your code for adding the action.

 

Best regards, 

Dennis  

Show all comments

Formerly, a detail was added to our Case section using the main Change object instead of a new custom object specifically designed to be a detail that shows the connection between a Case record and Change record. This legacy Change detail has been used a lot over the past few years to create new Change records, so you can see which Change record was created by the detail if you look at the individual Case record where the Change detail was used. The problem is I don't know if I can export all the Change records and be able to see which Case they are associated with. I want to set up a proper detail after I create a new custom "Change in Case" object that has lookup columns for each object. I would like to be able to import data to this new object from the old detail. Does anyone know how I can export data to show which changes were created from which cases? (I can't simply create a lookup for the detail's object, because again, the detail uses the main Change object....)

 

typo....*legacy*

 

Like 0

Like

4 comments

Hello,

 

The Detail column in the settings is set to Id that may not be correct in your case.

Try to change the Detail column value from "Id" to "CaseId" . That should help.

 

Let me know the resuts.

 

Regards,

Dean

Dean Parrett,

It does not look like that will work. CaseId is not a column on the Changes object.

 

I recognize this detail was set up wrong, I am not looking to fix it, I just want to know with the existing settings, is it possible to know which Change records were added on which Case record page?

 

Dear Mitch,

 

It seems like Changes object is not connected to the Case object. The Detail column field doesn't have Case in the drop down list since the Changes object doesn't have the column based on Case object. Most likely the same happens to Case object, it doesn't have any lookup field based Changes object. I might be wrong if the fields just have different titles. Try to look through the lookup field of both objects and see if there are any lookups based on Cases and Changes objects. If they do exist, you can try to build filter in the section to see if the case records that have some existing records in Changes.

 

Regards,

Dean

Dean Parrett,

Thanks Dean. I did find that there is a lookup column for Cases on the Changes object, however the column is blank for all records because the objects are not connected. I think I'm out of luck.

Show all comments

Hi,

From each selected record I have to update the "UsrAmountForTheMonth" column from "UsrDueAmount" using script task element.

 

var select = new Select(UserConnection)

                 .Column("Id")

                 .From("UsrBeta")

                .Where("UsrConfirmationId").IsNotEqual(new Select(UserConnection)

                                                             .Column("Id")

                                                             .From("UsrCorrect")

                                                             .Where("Name").IsEqual(Column.Parameter("Yes")))                                                               as Select; 

 

var up = (Update) new Update(UserConnection,"UsrBeta").Set("UsrAmountForTheMonth",new                                                                                                                                             Select(UserConnection)

                                                                                                           .Column("UsrDueAmount")

                                                                                                                 .From("UsrBeta")

                                                                                                          .Where("Id").IsEqual(select))

                                                               .Where("Id").In(select);

 

But this way I got the error: Subquery returned more than 1 value

 

Please help !

Many thanks.

Like 1

Like

5 comments

Try change .IsEqual() on  .in(select)

and change .IsNotEqual(   on   ..Not().in(select)

 

Or use CustomQuery for use sql code with creatio

 Smile samples

			var delete = new Delete(UserConnection)
				.From("PersonalAccountRegistration")
				.Where("Id").In(new Select(UserConnection)
					.Column("par","Id")
					.From("PersonalAccountRegistration").As("par")
					.LeftOuterJoin("VerificationCode").As("hvc")
					.On("hvc", "Id").IsEqual("par", "HashId")
					.LeftOuterJoin("VerificationCode").As("svc")
					.On("svc", "Id").IsEqual("par", "VerificationCodeId")
					.Where("hvc", "ExpiresOn").IsLess(Column.Const(nowDate))
					.Or("svc", "ExpiresOn").IsLess(Column.Const(nowDate))
				);
			delete.Execute();

 

Hi Grigoriy,

I make the changes as per your suggestion but still It shows the same error.

 

I think the problem is with this bolded select query inside Set method : 

var up = (Update) new Update(UserConnection,"UsrBeta").Set("UsrAmountForTheMonth", new                                                                                Select(UserConnection)

                                                                            .Column("UsrDueAmount")

                                                                            .From("UsrBeta")

                                                                            .Where("Id").In(select) 
                                                                                                     )

                                                                .Where("Id").In(select);

 

Beacause I have to update the value of "UsrAmountForTheMonth" column with the value of "UsrDueAmount" column for each selected record in the select query.

But the bolded subquery inside Set method returns the collection of "UsrDueAmount" values.

This is how my section looks like!

 

Please suggest any solution to the same.

Thanks.

                 

 

Akshit,

 

As I wrote above, for complex cases, try writing and debugging a sql query and calling it as in the example below

 

var sqlText=@"update ....";

var customQuery = new CustomQuery(UserConnection, sqlText);

var rowCount = customQuery.ExecuteScalar<int>();

 

or

 

                var selectQueryString =
                    @"update ""Lead"" set ""ScpTimer"" = QS.""ScpLifetimeDays"" - (CAST(NOW() AT TIME ZONE 'UTC' AS date) - CAST(LD.""ScpDateTransitionNewStatus"" AS date))
                    from ""Lead"" as LD
                    inner join ""QualifyStatus"" as QS on QS.""Id"" = LD.""QualifyStatusId""
                    where LD.""Id"" = ""Lead"".""Id"" and ""Lead"".""QualifyStatusId"" in  (
                    'd790a45d-03ff-4ddb-9dea-8087722c582c',
                    'ceb70b3c-985f-4867-ae7c-88f9dd710688',
                    '128c3718-771a-4d1e-9035-6fa135ca5f70',
                    '7a90900b-53b5-4598-92b3-0aee90626c56')";
                var selectQuery = new CustomQuery(userConnection, selectQueryString);
                selectQuery.Execute();



 

Hi Grigoriy,

 

This time it works Thank you very much for your constant support! 

 

Best Regards. 

Show all comments