I have a task of filtering the reference field (Platform) by specific parameters in the page code. Contact-Account-Licenses-Product-Platform.
In the SQL query, it looks like this:
select "Id", "Name" from "UsrPlatformList" as "platforms"
where
exists (select * from "Product" as "product" where ("platforms"."Id")=("product"."UsrPlatformId")and
exists (select * from "UsrLicenceClient" as "license" where ("product"."Id")=("license"."UsrProductLicId")and"license"."UsrAccountId"='601cef3f-aa30-4fc0-b681-18d3e748ec65'))
I'm trying to follow this instruction, but I can't. I will be grateful for your help.
I am sincerely grateful to you. With your help, other answers in the community and articles from the Academy, I learned and managed to write this complex filter. Thank you. The code currently looks like this:
attributes:{"UsrPlatform":{"dataValueType": Terrasoft.DataValueType.LOOKUP,
"lookupListConfig":{"filter": function(){
var platformFilter =this.Ext.create("Terrasoft.FilterGroup");
var accountId =this.get("Account").value;
var licenceFilter = Terrasoft.createExistsFilter("[UsrLicenceClient:UsrProductLic].Id");
licenceFilter.subFilters.addItem(
Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL,
"UsrAccount", accountId));
var productFilter = Terrasoft.createExistsFilter("[Product:UsrPlatform].Id", licenceFilter);
platformFilter.addItem(productFilter);return platformFilter;}}}}
You can create an exists filter by using something like the following. This example would get accounts where an activity exists with a particular owner.
// create the sub filter for the condition inside the exists
var subFilters = Terrasoft.createFilterGroup();
subFilters.addItem(Terrasoft.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, "Owner", "a6b4ea0c-420c-45ab-81e7-6e76c8cc15f7"));// now create the exists filter and pass the sub filter conditions to it// note, this second param of subFilters is optional if all you want is the exists without sub conditions
var existsFilter = Terrasoft.createExistsFilter("[Activity:Account].Id", subFilters);
esq.filters.addItem(existsFilter);
I am sincerely grateful to you. With your help, other answers in the community and articles from the Academy, I learned and managed to write this complex filter. Thank you. The code currently looks like this:
attributes:{"UsrPlatform":{"dataValueType": Terrasoft.DataValueType.LOOKUP,
"lookupListConfig":{"filter": function(){
var platformFilter =this.Ext.create("Terrasoft.FilterGroup");
var accountId =this.get("Account").value;
var licenceFilter = Terrasoft.createExistsFilter("[UsrLicenceClient:UsrProductLic].Id");
licenceFilter.subFilters.addItem(
Terrasoft.createColumnFilterWithParameter(
Terrasoft.ComparisonType.EQUAL,
"UsrAccount", accountId));
var productFilter = Terrasoft.createExistsFilter("[Product:UsrPlatform].Id", licenceFilter);
platformFilter.addItem(productFilter);return platformFilter;}}}}
The above will populate the UsrSomeName column on the detail with the value of the UsrName column on the current page and also populate UsrSomeDate on the detail using the value of the CreatedOn of the page.
You can also use values that don't exist on the page, for example:
Hi, when in a section that contains a multiple cases. you change from one case to another with a field change, a button is shown to validate the case change.
Is there a way to avoid this? I want to progress bar to automatically update from one case to the other without user intervention.
I'm having a scenario where I need to add two custom columns in attachment detail and need to edit that.So I have overridden the LinkPageV2 and added those two columns in diff.Now the fields are displaying in the required section attachment detail.However other section showing error in console stating that the columns are not found in that sectionFile Object
Is there a way to dynamically load diff based on the condition/for a particular section only?
When we are creating a case using single object, the cases are getting created. But when we are trying to create using multiple objects we are getting the null response. I'm posting the requests and response and the screenshots below.
The InsertQuery endpoint in the DataService doesn't support an array of objects in the body. If you are using InsertQuery for data creation, you can pass only one record (object) in the body. You can use BatchQuery, which contains an array of InsertQueries, or other endpoints of the DataService to create multiple records.
Also here is a body for the BatchQuery (example) to insert two case records into the system (maybe it will be helpful). The endpoint to call is /0/DataService/json/SyncReply/BatchQuery (POST request):
The InsertQuery endpoint in the DataService doesn't support an array of objects in the body. If you are using InsertQuery for data creation, you can pass only one record (object) in the body. You can use BatchQuery, which contains an array of InsertQueries, or other endpoints of the DataService to create multiple records.
Also here is a body for the BatchQuery (example) to insert two case records into the system (maybe it will be helpful). The endpoint to call is /0/DataService/json/SyncReply/BatchQuery (POST request):
I am currently facing an issue with the graphical representation of data in Creatio and would appreciate any advice or solutions you might have.
I am trying to demonstrate the data of each month every year using a graph. However, due to the large volume of data, the graph becomes cluttered and the data points overlap, making it difficult to read.
Is there a way to make the graph scrollable in Creatio, or any other method to represent the data in such a way that it becomes more readable and less cluttered?
does the graph need to span such a wide period? Could you not have a graph for each year and one which compares all the years? Try also changing the graph to a bar so the period runs vertically.
I am currently working with two sections in Creatio: "Contact" and "Line Item." Both sections contain a common field, "Territory ID." My goal is to ensure that whenever a User opens the "Line Item" section, they can only access those records where the "Territory ID" matches the "Territory ID" of their contact.
The challenge I'm facing is that the "Line Item" section contains more than 3 million records, and using a business process to apply permission on these records is taking a considerable amount of time.
Could anyone suggest a more efficient way to achieve this filtering? Any advice, examples, or insights would be greatly appreciated.
Could you please clarify how you imagine this being implemented? Do we need to restrict access rights to the entire record or just to specific fields, since the values of the fields can be hidden at the client logic level?
I am writing to request assistance with applying a filter on a lookup field within a detail while performing inline editing of a record on a Freedom UI page in Creatio. The object of this detail resides in the Classic UI.
Could you please provide guidance on how to achieve this functionality? Any examples, documentation, or step-by-step instructions would be greatly appreciated.