Dear mates,

Our system display a compilation error warning. If we click on the button, the tooltip displayed is empty.

We had compilation errors in the past, but the issues are resolve.

I tryed to delete records in the Compilation History Lookup but the system refused to delete them.

How can i remove the Warning ?

Thank you,

Nicolas

Like 1

Like

3 comments
Best reply

Hello,

 

Please note that this issue is connected to the 8.1.2 release and in order to fix it you need to create a case directly for our Support team (support@creatio.com) so we could work with the site in question.

Same here in our cloud dev environment with this new 8.1.2 functionality

You are right, we do not have the problem on our production environment, only on the dev env.

Hello,

 

Please note that this issue is connected to the 8.1.2 release and in order to fix it you need to create a case directly for our Support team (support@creatio.com) so we could work with the site in question.

Show all comments

Hi Everyone,

I'm looking to filter a lookup value based on "StartDate" and "EndDate" column field which is present in the lookup object . I attempted to achieve this through the following handler code, where I compare the current date with the End Date. However, it didn't work. Does anyone know of a better approach to filter the lookup value?

Below is my handler code:

{

    request: "crt.LoadDataRequest",

    handler: async (request, next) => {

        // filter the contact lookup for the account

                     

        if (request.dataSourceName !== "LookupAttribute_jw8dbjp_List_DS") {

            return await next?.handle(request);

        }

        // Add filter for UsrEndDate not less than the current date

        const currentDate = new Date();

        const filter = new sdk.FilterGroup(sdk.ComparisonType.And);

        filter.addItem(sdk.Filter.createColumnFilterWithParameter(

            "UsrEndDate",

            sdk.ComparisonType.GreaterThanOrEqual,

            currentDate

        ));

        request.parameters.push({

            type: "filter",

            value: filter

        });

        return await next?.handle(request);

    }

}

Like 0

Like

1 comments

Hello,

Take a look at this discussion, in there you can find an example of how to configure and add a needed filter.

In order to get the exact filter you need, use the test list method described there.

Show all comments

Hi team,



I created a multi select lookup page for a detail in freedomUI using "crt.OpenLookupPageRequest" functionality. I wanted to either remove already selected records in the popup window or show them as checked if they are added into the detail. 

Source for multiselect page : https://customerfx.com/article/invoking-a-multi-select-lookup-dialog-on-a-creatio-freedom-ui-page/

Can anyone help me with this issue?



Expected functionality:





Thanks in advance

Goparna Nasina

Like 1

Like

1 comments

Hello!

You can use the filtersConfig parameter to filter records, as mentioned in the article.

Or you can use the option selectionState to predefine selected rows, which will be pre-selected when the lookup page is opened.

 

Example of selected records:

{
	type: "crt.OpenLookupPageRequest",
	...
	selectionState: {
		type: 'specific',
		selected: [
			'00000000-0000-0000-0000-000000000000',
			'11111111-1111-1111-1111-111111111111',
		]
	}
}

 

An example of pre-filtering records:

{
	type: "crt.OpenLookupPageRequest",
	...
	filtersConfig: {
		filterAttributes: [
			{
				name: 'MyFilter',
				loadOnChange: false
			}
		],
		attributesConfig: {
			MyFilter: {
				value: {
					"items": {
						"29e16d42-36f1-4e04-9029-4321cbb2494d": {
							"filterType": 1,
							"comparisonType": 11,
							"isEnabled": true,
							"trimDateTimeParameterToDate": false,
							"leftExpression": {
								"expressionType": 0,
								"columnPath": "Name"
							},
							"isAggregative": false,
							"dataValueType": 1,
							"rightExpression": {
								"expressionType": 2,
								"parameter": {
									"dataValueType": 1,
									"value": "Super"
								}
							}
						}
					},
					"logicalOperation": 0,
					"isEnabled": true,
					"filterType": 6,
					"rootSchemaName": "Contact"
				}
			}
		}
	}
}

 

Show all comments

I have a subprocess that loops the returned records from an API call and adds a new record in a data object. I want to modify the process to check if the record already exists and if so, modify the existing record with the data changes.

Like 0

Like

1 comments

First read the record using whatever Identifier you have on it from the source data. If the record exists the Id value will be a Guid and if it doesn't exist the Id of the record will be Guid.Empty.

So the condition for the update will look like: 

[Id from the Read] != Guid.Empty (this means the Read found the record)

The "else" will proceed to the Add, just make sure you populate some identifying value from the API call that you'll use when you read if the record exists next time.

Ryan

Show all comments

Hi Team,

 

I am looking to data import for the product section and detail objects using a single excel template. In the contact and account sections, we have the option to import the additional address details.

 

Is that possible to get additional detail objects like this for the product section?

 

Regards,

Kumaran

Like 0

Like

1 comments

Dear Kumaran,

 

Thank you for your question!

 

Allow me to clarify how the import process works. When importing data into Creatio, you are essentially transferring the information from your Excel file into the corresponding database table. Each detail in Creatio corresponds to a different object or database table. Therefore, during an import, data can be inserted into one table or object at a time.

 

Import to Contact/Accounts have custom core logic applied, but all other objects work with logic described above.

 

You can read more about Excel import on Creatio Academy: https://academy.creatio.com/docs/8.x/creatio-apps/creatio-basics/busine…

 

Have a great day!

Show all comments

Hello,



Can anyone tell me How to merge duplicate contact records in freedom UI.

I tried using the classic UI but  can't find any duplicate rule or show duplicates in the action button



Thanks in advance.

Like 1

Like

3 comments

Hello,



To find duplicates in Freedom UI, you need to go to System Designer, then select Setup duplicates rules.



There you will be able to perform all the actions you need.

Malika,

Hi ,

Setup duplicates rules is not sowing under System setup. Is it due to the latest version??



Abhishek,

Is this a cloud or local system?

If it's local, you probably need to set up the deduplication components first to have it available.

Show all comments

Hello,

 

what is your experience or recommendation about deleting custom field from the object? 

If some fields were added by mistake and the package was already installed to another evirnoment. Is it ok to delete such field and install the package again? Or should we keep this 'garbage' in the object forever?

 

Thank you!

Like 0

Like

3 comments
Best reply

Hello,

 

You need to remove it from the development website, install the package on the production website, and the package installation mechanism on the production site will detect the differences in objects between what exists in production and what is in the package, and drop them.



Best regards, 

Orkhan

Hello,

 

You need to remove it from the development website, install the package on the production website, and the package installation mechanism on the production site will detect the differences in objects between what exists in production and what is in the package, and drop them.



Best regards, 

Orkhan

Orkhan,

 

is this valid also for all references to the deleted fields like forms, lists, dashboards, reports,...?

I guess the system will not check js and cs code, so that will need to be handled manually, right?

 

BR

Robert Pordes,

No, system will not check. But this is not a problem to remove such fields from the code



Kind regards,

Vladimir

Show all comments

Dear mates,

On the opportunities product page, when I select a product, the price is filled in automatically. However, I've deleted the business rules and scripts on the opportunity product page.

My problem is that this price includes tax, even though the PriceWithTaxes parameter is unchecked in the system settings.

I've set up a script to enter the price excluding tax but from time to time it's the price including tax that appears (probably an asynchronism problem).

I'd like to know where the script that enters the price of the opportunity products on the page is and how I can change the behaviour.

 

Thank you !

Nicolas

 

Like 0

Like

1 comments
Best reply

Finally we found the problem: the OpportunityProductPageV2 source page in the Opportunity package contains a method that calculates the price of the product including VAT: calculatePrice.

I've overridden the method and the problem is solved.

I thought that creating the OpportunityProductPageV2 page in the Custom package replaced the view model, but in fact it's an extension.

Sorry for the inconvenience.

 

Finally we found the problem: the OpportunityProductPageV2 source page in the Opportunity package contains a method that calculates the price of the product including VAT: calculatePrice.

I've overridden the method and the problem is solved.

I thought that creating the OpportunityProductPageV2 page in the Custom package replaced the view model, but in fact it's an extension.

Sorry for the inconvenience.

 

Show all comments

Hi Academy,

 

We would like to make one of the sections in the 'Connections' on the activity mini page mandatory when the category is "task".

Do you have any suggestions on how we can accomplish this?

 

Thank you in advance.

Like 1

Like

2 comments

Hello,

 

It depends on which column should be required here. One particular example: this method can be added to ActivityMiniPage:

save: function(callback, scope) {
				var opportunity = this.get("Opportunity");
				if (opportunity) {
					this.callParent(arguments);
				} else {
					Terrasoft.showInformation("Opportunity is required");
				}
			}

In this case saving of the mini page is not possible in case an opportunity is not connected to an activity and the information message will be shown on the page.

Hi Oleg,

 

Thank you, it works!

Show all comments

Hello Everyone,



Is there a way to show contacts only to their respective owner as by default and not to other users?



Thanks in advance.

Like 1

Like

1 comments

Hello,

It all depends on the specific requirement:

  1. If you need to display across the system only those contacts created by the users themselves, this can be achieved by configuring record permissions. If you toggle the switch but do not specify any roles, records will only be visible to the users who created them. You can also set up such access rights based on roles.

     

    https://academy.creatio.com/docs/8.x/setup-and-administration/administration/user-and-access-management/access-management/record-permissions



     

  2. If you want contacts across the system to be visible only to those set as the Owner of that contact, you can utilize a business process with the "Change access rights" element. Configure it in a way that when the owner changes, all access rights to the record are removed, and only the new owner is added.

     

    https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/bpm-process-examples/how-to-manage-access-permissions-with-business-processes

     

  3. If you need to display contacts in a specific field where the owner is the current user, you can use a filtering business rule to display only those contacts where "Owner" = "Current User owner".

Thank you for reaching out!

Show all comments