We have a project where I need to filter a certain lookup by a few booleans, where another lookup has the same booleans and only the true values need to be taken into consideration when filtering, unfortunatley with business rules, it will compare the false ones as well which causes only records whos booleans 100% match the ones in the other lookup to show, I have the following code to filter it, but it doesn't seem to work properly, I tried to debug it, but can't seem to find the issue.

 

		attributes: {
			"UniChargeType": {
				"dataValueType": Terrasoft.DataValueType.LOOKUP,
				"lookupListConfig": {
					"filter": function() {
 
						var priceTemplate = this.get("UniUniPriceTemplate");
 
						var esqCharge = Ext.create("Terrasoft.EntitySchemaQuery", {
							rootSchemaName:"UniChargeType"
						});
						esqCharge.addColumn("UniAir");
						esqCharge.addColumn("UniOcean");
						esqCharge.addColumn("UniInland");
 
						var esqChargeFirstFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
								"UniAir", true);
						var esqChargeSecondFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
								"UniOcean", true);
						var esqChargeThirdFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
								"UniInland", true);
 
						esqCharge.filters.logicalOperation = Terrasoft.LogicalOperatorType.OR;
 
						esqCharge.filters.add("esqChargeFirstFilter", esqChargeFirstFilter);
						esqCharge.filters.add("esqChargeSecondFilter", esqChargeSecondFilter);
						esqCharge.filters.add("esqChargeThirdFilter", esqChargeThirdFilter);
 
 
 
						var esqTemplate = Ext.create("Terrasoft.EntitySchemaQuery", {
							rootSchemaName:"UniPriceTemplates"
						});
						esqTemplate.addColumn("UniSubService.UniService.UniAir", "Air");
						esqTemplate.addColumn("UniSubService.UniService.UniOcean", "Ocean");
						esqTemplate.addColumn("UniSubService.UniService.UniInland", "Inland");
						esqTemplate.addColumn("Id");
 
						var templateFilter = esqTemplate.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL, 
								"Id", priceTemplate);
 
						esqTemplate.filters.add("templateFilter", templateFilter);
 
						esqTemplate.getEntityCollection(function (result) {debugger;
							if (result.success){
 
								if(result.collection.getByIndex(0).$Air == true){
										var esqChargeFirstFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
										"UniAir", true);
										esqCharge.filters.add("esqChargeFirstFilter", esqChargeFirstFilter);
									esqTemplate.getEntityCollection();
									return this;
 
									}else if (result.collection.getByIndex(0).$Ocean == true){
										var esqChargeSecondFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
										"UniOcean", true);
										esqCharge.filters.add("esqChargeSecondFilter", esqChargeSecondFilter);
										esqTemplate.getEntityCollection();
										return this;
 
									}else if (result.collection.getByIndex(0).$Inland == true){
										var esqChargeThirdFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
										"UniInland", true);
										esqCharge.filters.add("esqChargeThirdFilter", esqChargeThirdFilter);
										esqTemplate.getEntityCollection();
										return this;
 
 
									}
 
 
								result.collection.each(function(item) {
																result.collection.getByIndex(0).$Air
									if(item.entity.get("Air") == true){
										var esqChargeFirstFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
										"UniAir", true);
										esqCharge.filters.add("esqChargeFirstFilter", esqChargeFirstFilter);
 
									}else if (item.entity.get("Ocean") == true){
										var esqChargeSecondFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
										"UniOcean", true);
										esqCharge.filters.add("esqChargeSecondFilter", esqChargeSecondFilter);
 
									}else if (item.entity.get("Inland") == true){
										var esqChargeThirdFilter = esqCharge.createColumnFilterWithParameter(Terrasoft.ComparisonType.EQUAL,
										"UniInland", true);
										esqCharge.filters.add("esqChargeThirdFilter", esqChargeThirdFilter);
 
									}
 
 
								}); 
							}
						}, esqTemplate.getEntityCollection(), this);
 
 
 
 
					}
					}
					}

 

Like 0

Like

1 comments

The problem is that inside the lookupListConfig.filter you're doing an ESQ, and ESQs are asynchronous. So the filter is returned (which would be undefined or nothing) before the ESQ inside your code ever returns. You'll either need to rethink your filter and how to get the data you want, or prefetch the ESQ to UniChargeType earlier in the page lifecycle, like in the init and then store the results in an attribute, so they'll available to use when needed in the filter function.

Ryan

Show all comments

Hi community,

We need to change the CSS of the detail’s header, inline editable column input text color, and the other non-editable grid text color.

What client module we should replace, and what classes we should change?

Thank you very much!

Like 0

Like

3 comments
Best reply

Andrew Sheng,

I got the answer! All I had left to do was to fill the JS code with:

 define("BaseGridDetailV2", ["css!UsrDynasafeDetailV2CSS"], function() {
	return {
		methods: {},
		diff: /**SCHEMA_DIFF*/[ ]/**SCHEMA_DIFF*/
	};
});

 

Hello Andrew,



It could be achieved by development, please find similar questions bt the links below:

https://community.creatio.com/questions/text-area-field-editable-detail….

 

https://community.creatio.com/questions/detail-styles-css?_gl=1*1850rv9….

Bogdan,

Hi Bogdan, thank you for the solution links. But the screenshots in the reply are no longer visible. I followed the two steps in the reply, but had no luck. I put my screenshots below, can you correct them for me?

Step1, I created a module in our package Dynasafe1, kept JS empty

Step2, I put the CSS in the LESS

 Step3, I created a replacing view model under Dynasafe1 package

Then I chose "Base schema - Detail with list" as the parent object.

And finally saved this replacing view model with JS kept empty. Did I miss something here?

 

Thank you for your answer in advance!

Andrew Sheng,

I got the answer! All I had left to do was to fill the JS code with:

 define("BaseGridDetailV2", ["css!UsrDynasafeDetailV2CSS"], function() {
	return {
		methods: {},
		diff: /**SCHEMA_DIFF*/[ ]/**SCHEMA_DIFF*/
	};
});

 

Show all comments

Hi community,

 

I am currently researching the Relationship which function shows as [Connect to] in Account or Contact in Classic UI

But I want to ask if there is any way to set up permission for that function.

For example, I want only the admin could allow to add or edit the relationship. Others can only read the relationship

 

Thank you!

 

Like 0

Like

1 comments
Best reply

Hello!

 

To set up object permissions in that way you need to go to System settings - Object permission - Relationship connection. There you can set up permissions in that way as you provided in the request.

Hello!

 

To set up object permissions in that way you need to go to System settings - Object permission - Relationship connection. There you can set up permissions in that way as you provided in the request.

Show all comments

Hello !

We are having the following error on all our pages :

How can we disable google analytics ?

thank you !

nicolas

Like 0

Like

3 comments

We are also facing the following error :

Same here 

Hello!

 

Please note, that in the next version that issue should be already solved.

 

Now if it does not affect the site using, you can ignore it, but if it is affecting, then you need to follow the following instructions:

 

In root .\Web.config under section:

 <configuration>

   <system.webServer>

       <security>

          <requestFiltering>

             <denyQueryStringSequences> 

please add two new sequences "../" and "..\" and delete the old one "..".

 

Please find the sample with the target configuration below

<configuration>

...

  <system.webServer>

  ...

    <security>

      <requestFiltering>

         <denyQueryStringSequences>

            <add sequence="../" />

            <add sequence="..\" />

         </denyQueryStringSequences>

      </requestFiltering>

   </security>

  </system.webServer>

...

</configuration>

Show all comments

I am sure I have forgotten a very basic something... but I am refreshing on the detail wizard but when I have gone to try and add a detail to the place in Creatio I want it... I realised there is no VIEW section button as there is in other sections... just a settings wheel and it opens a 'page'

Like 0

Like

3 comments

Hello Gemma,



There are differences between section wizard and detail wizard. 



If you want to add new detail to the page, you should do it via the section wizard:

But when I open up the part in creatio I want to add the detail - it opens up a place to edit a page not the section wizard

Gemma Davies,

 

It's a Freedom UI section, so you need to create [ Expanded list ].

Show all comments

Dear mates,

On opportunity detail page, I've added a filter to display only the contacts in the account:

Here is the business rule :

As a result, if the contact's professional experience is not his or her main experience, the contact does not appear in the list.

For example, this account has two contacts :

For Julie LEZORAY, this job is not her main job :

As show on the first image, this contact does not appear in the opportunity contact list because the contact's account is not the main job.



Is it possible to make a business rule based on the contact's professional experience, which would allow the contact to appear in the list even if it's not their main experience?

I can not find the contact career object in the business rules.

 

Thank you,

Nicolas

Like 0

Like

4 comments

Hello, 

 

Unfortunately, there is no possibility to use complex filters for business rules setup. We have this idea registered for our R&D team and I will notify them about this question to increase the importance of implementing this functionality.

Hello Sergii,

Is is possible to disable Job Experiences management in Creatio ?

or

is it possible adding code on the OpportunityClient object in order to select all account's contacts even if the contacts job experience is not the primary one ?

if it is a current job experience, it's enough.

 

Hello Nicolas,

 

Simply make sure that both your contacts are connected to the account:

The filtration business rule you have returns contacts related to the selected account and in your case one of the contacts is not connected to the account selected in the opportunity from your example.

hello oleg

that's the meaning of my question

if the contact's professional experience is not the main one, but if the contact is still part of the company, then the system filter doesn't display the contact.

I'd like to change this behavior.

Show all comments

Hi all,

 

I have a requirement for an HR application regarding searching in the attached files. The use case is that the recruiters want to be able to search in the attached CVs in Creatio (like typing "JavaScript" in the search bar, and Creatio should list every attachment containing "JavaScript").

 

Thank you in advance!

Like 0

Like

1 comments

Hello,

 

Unfortunately Global Search functionality cannot be applied to the attachments for now.

We've registered a query for our responsible R&D team to implement such functionality in the upcoming releases but due to complexity of the task there is no specific ETA as of now.

 

Best regards,

Anastasiia

Show all comments

Hi Guys,

 

I want to set a default value to a lookup in classic UI. Kindly let me know how this is possible in Classic UI. I have set up a default value in Freedon UI through rules but rules in Classic don't support the same process. How to do it in classic? Thanks!

Like 0

Like

1 comments
Best reply

Hi Hassan,

Try to set the default value from object settings.





Thanks.

 

Hi Hassan,

Try to set the default value from object settings.





Thanks.

 

Show all comments

Hi all, 

 

Does anyone have a clue why the following error would appear when trying to run any business process? All our business processes suddenly stopped at 01.00 on Sunday night.

 

I have asked support, but received an estimate resolution of 2 days, so asking here in the hope someone has seen this before as currently the system is unusable. 

 

And on that note. Does anyone have any suggestions on what they do in these situations? 2 days seems a bit ridiculous when 40+ users are unable to do their jobs!

 

Thanks!

 

 

Like 0

Like

1 comments

Hello,

 

Try to generate source code for all schemas and compile the application.

Show all comments

Hi community,

 

I want to merge duplicated records under the section Cases. I have a ton of cases that have common information and in my situation, there is a key field created by me which stores an external identifier of the record, which is different from the default Case autogenerated number field. If I filter cases by the value of that field I find more than one record, which means that there is redundancy that I need to fix.se

 

I can't do a excel file upload trying to overwrite the information as it will fail when it encounters duplicates. I think the only way to approach this is with a business process, but in the available operations there is one called Find and merge duplicates

But it only lets me search for records from the sections Contacts and Accounts, so I can't access Cases as I want.

 

Could you please help me implement this or suggest a possible solution?

 

Thanks in advance for your help.

Like 0

Like

1 comments