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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
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?
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.
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.
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:
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.
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:
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
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).
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.
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.
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.
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....)
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?
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.
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.
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.
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();