In Web instance i want every user to see it's own list of activities but not the other users's . I am currently using classic UI , how can i apply this default filter ?

Like 1

Like

3 comments

Hello,

 

You can use the default quick filter by owner available in Activities section: https://academy.creatio.com/docs/user/platform_basics/business_data/fil…

 

Best regards,

Yuliya

Yuliya Gritsenko,

hello , 

I want it to be applied for all users by default and not editable .

Thank you

developer,

 

 

Hello,

 

Your business task can be only achieved with the help of separate development process. 

You can use 'entity schema query' filters in particular. Here is the guide on this topic:

 

https://academy.creatio.com/docs/developer/front_end_development/data_o…

 

You can also use this community post with the example of such logic:

 

https://community.creatio.com/questions/default-filter-section

 

Best regards,

Yuliya

Show all comments

Hi Community,

I want to place three new fields in the Account panel, of the Contact section.

I have already read the article https://academy.creatio.com/docs/developer/interface_elements/record_pa…

but this article explains how to add a new Connected Account Profile, and not how to extend the existing one.

Any idea how I can achieve this ?

Sasor

Like 0

Like

3 comments
Best reply

Hi Sasor,

 

This is done in the same way with the only difference that:

 

1) Existing AccountProfileSchema should be replaced

2) In the diff array of the replaced AccountProfileSchema you need to add 3 new fields.

 

I've also previously showed how to add new columns to the same profile schema, but in the OpportunityPage (here). Same approach here should be used to add new columns.

Hi Sasor,

 

This is done in the same way with the only difference that:

 

1) Existing AccountProfileSchema should be replaced

2) In the diff array of the replaced AccountProfileSchema you need to add 3 new fields.

 

I've also previously showed how to add new columns to the same profile schema, but in the OpportunityPage (here). Same approach here should be used to add new columns.

Hi oleg,

Thank you for the great answer.

Just to double check , by ' Existing AccountProfileSchema should be replaced' you mean:

Thank you again

Sasor

Sasori Oshigaki,

 

Yes, replacing view model should be created.

Show all comments

Hi folks! How are you?

I've creted a section in Freedom and I want to show a custom page instead the default list page.

default url is: http://uriel:100/0/Nui/ViewModule.aspx#Section/UsrTest_ListPage

Custom url is :http://uriel:100/0/Nui/ViewModule.aspx#Section/UsrPage_ebkv9e8



I tried a redirect inside the method crt.HandleViewModelInitRequest for the list page it works but it has a strange behavior in some cases (window.location). I tried something similar than this.sandbox.publish("PushHistoryState", {hash: "ProcessCardModuleV2/AutoGeneratedPageV2/377caef9-d9ed-48ee-8458-3106e61dfdc6"}); but I didn't find the equivalent.

 

Appreciate your ideas.

Regards.

 

Like 0

Like

2 comments
Best reply

Hello,

 

You can try another approach: the column that is responsible for the section list page that will be opened when going to the section is SectionSchemaUId (in the SysModule table). This column represents data from the UId column of the SysSchema table. What can be done to force custom page to be opened when opening the section is modifying the current SectionSchemaUId column value for the proper SysModule table record to the desired value. So you need to find the SysModule record responsible for your current section (for example using the query like:

 

select * from "SysModule" where "SectionSchemaUId" in (select "UId" from "SysSchema" where "Name" = 'UsrTest_ListPage')

), use an Id of the record found and then use it in the query like:

 

update "SysModule" set "SectionSchemaUId" = 'desired UId of the UsrPage_ebkv9e8 schema' where "Id" = 'Id found previously'

 

and relogin to the app after that. I recently tested it and the Services_ListPage was opened for my custom Freedom UI section:

 

Hello,

 

You can try another approach: the column that is responsible for the section list page that will be opened when going to the section is SectionSchemaUId (in the SysModule table). This column represents data from the UId column of the SysSchema table. What can be done to force custom page to be opened when opening the section is modifying the current SectionSchemaUId column value for the proper SysModule table record to the desired value. So you need to find the SysModule record responsible for your current section (for example using the query like:

 

select * from "SysModule" where "SectionSchemaUId" in (select "UId" from "SysSchema" where "Name" = 'UsrTest_ListPage')

), use an Id of the record found and then use it in the query like:

 

update "SysModule" set "SectionSchemaUId" = 'desired UId of the UsrPage_ebkv9e8 schema' where "Id" = 'Id found previously'

 

and relogin to the app after that. I recently tested it and the Services_ListPage was opened for my custom Freedom UI section:

 

Oleg Drobina, thank you so much! I tried this approach before and it doesn't work probably because I had a mistake with the IDs. Now it is working. Appreciate your help. Regards

Show all comments

Where can we find documentation on actualization?  Need to understand what it means in different contexts and its impact when actualize.

For lookup fields, we know that actualization refreshes the latest set of available data, from which can select for binding purposes.



What does it mean in other contexts?   eg SysDcmSettings, SysDcmInSchemaSettings, EntityConnection, DocumentState, SysDetail, SysModuleEdit, SysModuleEntity, SusModuleInWorkplace, SysModuleVisa, SysModule, SysWidgetDashboard, TimelinePageSetting, UsrOrderingandAssembly, UsrRequestStage, OAuthAppScope, OAuthApplications, SysSettings.

Like 0

Like

4 comments

Hello,

 

Please provide us with more details regarding your question, so that we can assist you properly.

 

Best regards,

Yuliya

Yuliya Gritsenko,

Hi Yuliya, in Advanced Settings we are viewing items which Need Actualisation (filter next to Type, under All items).  This is showing many items which need actualisation, across multiple packages. 

For Lookups we know what actualisation means, its impact and how to leverage/manage it.

For all other Item types, we are looking to understand what actualisation does in the context of each item type (eg SysDcmSettings, SysDetail, TimelinePageSetting) per list above.

We intend to do the actualisation for each item, then recompile, just want to make sure we will not break anything.

Example screenshot...

 

 

Hello,

 

These are system tables. If you set the data, you will thereby update the existing data. However, it depends on the data settings you specify, whether to update values or directly insert them.

Therefore, it's advisable to create a backup before installation so that you can revert everything back in case of any issues.

 

https://academy.creatio.com/docs/developer/development_tools/creatio_id…

Sergii Zhmurko,

Thanks Sergii, I've read the documentation (Data & the related Operations in Creatio IDE).  2 follow up qus please:

1) what are the considerations "whether to update values or directly insert them"?

2) Does the bulk action "Install data" update the existing data for all selected elements? (see screenshot)

Show all comments

Hi Creatio Community,

We want to customize/extend functioanilty of the Account Form page found in Customer360 app.

Which is the right way to do it ?

Sasori

Like 0

Like

2 comments

Hi Community,

Any update regarding the topic?

Sasori

Greetings,



Firstly, please make sure that you are working in Freedom UI before applying any changes. You may apply the changes directly through UI or via customizing the package contents.

You may do so by following this Academy article:

https://academy.creatio.com/docs/user/platform_basics/freedomUI/turn_on_the_freedom_ui/general_procedure?_gl=1*h5poxo*_gcl_au*NDEwODkzNDYzLjE2ODk1OTEzNjc.



Second, you need to apply a few, certain changes to the app through the configuration. You may find more information on this subject here:



https://academy.creatio.com/docs/developer/development_tools/packages/packages_basics/overview

https://academy.creatio.com/docs/developer/architecture/composable_architecture/overview

https://academy.creatio.com/docs/developer/marketplace_app_development/app_compatibility/configure_the_app_for_composable_architecture_compatibility/overview



If you would like to export your packages for further customization on other applications, you can find more information on this subject using this guide:

https://academy.creatio.com/docs/developer/getting_started/transfer_application/overview



In regards to renaming packages.

Unfortunately, you can't rename the package once it is already exported, renaming the archive wouldn't change the package name itself. You can try to rename the package when it is still in the dev environment in the SQL console changing the name of the corresponding record in the SysPackage table. We don't recommend to do this, however, if it is really needed you can backup the database, change the name, generate the source code for all and compile all. After that, if while testing the functionality no errors would occur you can export the package and transfer it. 



 

Show all comments

Hi all,

 

Our client would like to replace the default loading screen with something in their companies brand.

Modifying the loading screen is not an option in the 'setup appearance' section of Creatio 8. Is there a way around this?

Like 3

Like

4 comments

Interesting question :)

Hello,

 

There is no such possibility for now but we've registered it in our R&D team backlog for consideration and implementation in future application releases. 

 

Thank you for helping us to improve our product

+1 from me!

I would love the ability to customize this - at least to add our own background color and logo. Making the system seem/feel like *theirs* can play a big part in system adoption.

Ryan

Ryan Farley,

especialy for Portal users

Show all comments

Hi community!

 

I have to integrate with a third-party tool that cannot send a request to the auth service and handle the cookies correctly.

 

Is there another method similar to webhooks using an API key in the URL or in the data itself?

 

Thanks in advance,

Robert

Like 1

Like

1 comments

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

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