Hi Community,

 

In the new version of crm we couldn't find the option to compile only modified items, the option only under compile is compile all. How can we compile modified items only as compile all is taking too much time to complete?

Like 0

Like

1 comments

Hello Fulgen,

 

Clicking on Compile button performs the same action as the  Compile Modified Items.

 

Compile All items is separate action in the drop-down.



 

Show all comments

Hello!



How is it better to hide specific columns (from column setup in sections and details) in Partner Portal? 

I see two options now:

- use access rights by columns (columns still present, but are empty)

- deny Portal users to setup columns in sections and details (users still can get some information using filters)



Maybe there are more better options?



Thank you!

Vladimir

Like 0

Like

4 comments
Best reply

Vladimir Sokolov,

 

What you are looking for can be achieved by adding only the columns that you want to show to the Portal users into "List of schema fields for portal access" lookup. As a result those fields won't be available on any of the dropdown list.

 

Regards,

Sourav Kumar Samal

Hi Vladimir,



We recommend hiding specific columns in the Partner Portal by the Section Wizard. 

Hi Bogdan,

we can hide columns only from the page (as far as I know), but these columns are still available in Column setup and filters, that :

1) allows client to see all internal infromation in the Portal

2) makes filter and column setup for them much more difficult (as they see all internal fields in the list)



Vladimir Sokolov,

 

What you are looking for can be achieved by adding only the columns that you want to show to the Portal users into "List of schema fields for portal access" lookup. As a result those fields won't be available on any of the dropdown list.

 

Regards,

Sourav Kumar Samal

Sourav Kumar Samal,

Thank you very much!

Show all comments

Hello, community!

This is a selection window for my lookup. Lets take this example, I should not be able to select collaterals that have remaining allocation 0. My problem is that this field is being populated by a process, and the regular lookup filtration does not work. Is there any way to make that select button throw an error/ not let the user save their pick? As in, if remaining allocation equals 0 => select button will do nothing.

Like 0

Like

1 comments

Hello Maria,

Modifying this module window is quite a hard task to do. I believe is your case attribute filter will work just fine:

attributes: {
			"{Your lookup column Name}": {
                "dataValueType": Terrasoft.DataValueType.LOOKUP,
                "lookupListConfig": {
                    "filters": [
                        function() {
                            var filterGroup = Ext.create("Terrasoft.FilterGroup");
                            filterGroup.add("IsNotNull",
                                Terrasoft.createColumnFilterWithParameter(
                                    Terrasoft.ComparisonType.GREATER,
                                    "[{Your lookup column Name}:Id].RemainingAllocation", 0));
                            return filterGroup;
                        }
                    ]
                }
            }
		},

With these records where the remaining allocation is 0 will not be displayed.

Show all comments

Hi community,

I am trying to show/hide a tab based on the group of a user. EX:

User is in Managers Group of Sales Role -> he must see TAB1. Everyone else outside Managers Group of Sales Role MUST NOT see TAB1.

I already tried with object permission on Column permission, but I am not able to make it work. 

Also, I saw some posts here with how to show/hide a tab, but I don't have any information about how to get the Groups for the CurrentUser.

SO: My question is: In Client Module Account, how can I retrieve the Group for CurrentUser? After that I think I can manage the logic of show/hide based on conditions.

Can you help me?

 

 

Like 0

Like

1 comments

Hello!



I would recommend to use Operation permission for that.



Than you can add attribute in the page schema:

            "UsrCanReadSomeData": {

                "dataValueType": Terrasoft.DataValueType.BOOLEAN,

                "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN

            },



and add reading this permission in init method:



 RightUtilities.checkCanExecuteOperation({operation: "UsrCanReadSomeDataOperationPermission"}, function(result) {

                    this.set("UsrCanReadSomeData", result);



Than you can use this attribute in business rule to show/hide Tab



Kind regards,

Vladimir

Show all comments

Hello I got that error after configurated Zapier and Creatio (1.0.1) with Leadfeeder.

 

Error Message

Creatio (1.0.1)

Unexpected token < in JSON at position 4

 

What does it mean? 

Like 0

Like

1 comments

Hi Lebouteiller,
We recommend using the "Run business process" event. In that case, Creatio's internal logic will handle creating a record rather than DataService.

Show all comments

Hello,

 

I want to disable the open, copy and delete button for the records in which a lookup column has a certain value. Example: only diable the buttons when the case category is "Incident".

 

I tried to use a query to get that lookup value but I need to use the read value outside the query in order to call the base fuction (this.callParent(arguments)) if the disable condition is not matched.

 

I hope you can offer me a solution. Thank you in advance!

Like 0

Like

2 comments
Best reply

I have an article that shows how to do this (conditionally allow based on values of the selected row). See https://customerfx.com/article/conditionally-allowing-delete-copy-or-ed…

Hope this helps.

Ryan

I have an article that shows how to do this (conditionally allow based on values of the selected row). See https://customerfx.com/article/conditionally-allowing-delete-copy-or-ed…

Hope this helps.

Ryan

It worked! Thank you very much Ryan!

Show all comments

Hello,

When we attempt to install a package from our dev environment to our production environment, we get a package installation error. And in the install log the error reads:

 

" Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: =. Path '', line 0, position 0."

 

I have searched the community here, and found several posts related to this error. But I cannot find any missing lookup fields nor any missing objects. Could someone tell me a way that I can find the source of the error? 

Like 0

Like

1 comments

Hi Josh,



Please make sure that your exported package doesn't have additional strings appended to it like a date.



Whenever we export a package, the package is downloaded into a ZIP file with the current date appended to the filename followed by an underscore (_). After exporting the package, please remove the newly appended date and make sure the downloaded package name is exactly the same as the package in the configuration section. 



This is one of the reasons that cause an error while installation (parsing of package). Please post your install_log.txt to understand this more better.





BR,

Bhoobalan Palanivelu.

Show all comments

Hello,



we need to improve lookup selection for several section. The main idea is to reduce quantity of records for selection, but still give user to search through full list.



We tried to use multiLookup feature to give 2 options: "All products" and "Active products" (like we select Account/Contact in the Order)



 

"UsrProductLookup": {
    "dataValueType": Terrasoft.DataValueType.LOOKUP,
    "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
    "multiLookupColumns": ["UsrProductA", "UsrProductB"],
    "caption": "Product",
    "onChange": "setProduct"
},
"UsrProductA": {
    "dataValueType": Terrasoft.DataValueType.LOOKUP,
    "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
    "isLookup": true,
    "referenceSchemaName": "Product"
},
"UsrProductB": {
    "dataValueType": Terrasoft.DataValueType.LOOKUP,
    "type": Terrasoft.ViewModelColumnType.VIRTUAL_COLUMN,
    "isLookup": true,
    "referenceSchemaName": "Product"
}

But then got an error, that we cannot use the same object for both lookups. 



message: Item with key "Product" Already exists 

date: Tue Oct 18 2022 02:01:40 GMT+0400 

moduleId: CardModuleV2_02b6b083-3cfa-4daf-a93c-632cb2420805_AccountPageV2_LookupPage

moduleName: MultiLookupModule



How is it possible to use multiLookup for this purpose? 

Or what alternative is for user-friendly quick filter in Lookup window?



Thank you.

Vladimir

Like 0

Like

4 comments

Hello Vladimir,



Please find the information about up filtering of lookup field values on a record page in this article

 

Bogdan,

thank you for link to Creatio basics.



But combination of quick filters (tabs in this case) gives possibility to search by second condition - by product name.



If you use search in lookup for one criteria (e.g. Inactive), you cannot search by another criteria - name. 

Besides, search in lookup requires much more actions (more than 4 clicks) comparing to 1 click in quick filter



That's why we are searching for smart solution



Kind regards,

Vladimir

Vladimir Sokolov,

 

We recommend creating a business rule on the page depending on a particular checkbox: if the checkbox is activated, then display the field in which the code filtering is implemented, if deactivated - hide the column with filtering in the code and show the column without filtering on the page.

 

You might need two columns so that you control the visibility of one depending on a particular checkbox. It can be achieved by using a business rule. 

 

Please try using the filters described in the article above for one column, and for the other one - do not apply the filters from the code (so that all Lookup records are displayed). This way, you may not use code elements as you just implement the business rule - filtering on the page.

Alla Blinova,

Thank you. Yes, we use solution with field and business rules, but customer should open lookup, search, then close lookup, change checkbox, open lookup again... 



Sometimes it can be acceptable, sometimes not. That's why we are looking for better option - to allow user change lookup filtration directly in lookup window. It can be a checkbox in lookup window or several predefined tabs. Maybe it sounds like an idea for future versions, maybe it is possible implement with current one



Kind regards,

Vladimir

Show all comments

Hi, 

 

I'd liket to create a script task in a business process, that given an email template, it executes it on a specific context. I mean, if the email template is based on a custom macro related with the Lead entity, I can pass the LeadID and the emailTemplateId to the script task, and the result is the text of the email template executed for that specific lead. 



Is there way to do that?



Thanks!

Ignacio 

Like 0

Like

4 comments

Hi Ignacio,

 

You can pass LeadId and the TemplateId as process parameters (create two Guid parameters in the process settings). Then you can use the "Read data" element and read specific columns of the lead record (use the LeadId parameter in the "Read data" filtration to get the value for needed columns). Then you can create additional text parameters and pass the read column values to them (using formulas for example). The same approach is for the "Email template" object and TemplateId parameter (you need to get the template body, so you need to read it in the "Read data" process element). And finally you can use string interpolation (or String.Replace method) in the script task to replace macroses (macorses, not their values, like [#UsrSomeColumn#], it's passed in the template body) with the actual values read from the "Lead" object using the "Read data" element (the ones that we wrote to the process parameters). To get process parameters values in the script task you need to use Get<string>("ParameterCode") (see more examples here) construction in the script task, then you can use String.Replace in the following manner:

string UsrStringParameterValueToUse = Get&lt;string&gt;("UsrStringParameterValue");
string EmailTemplateBody = Get&lt;string&gt;("UsrEmailTemplateBodyParamter");
EmailTemplateBody= EmailTemplateBody.Replace("[#UsrSomeColumn#]", UsrStringParameterValueToUse);

And then you can return EmailTemplateBody to some another string parameter value using Set<string> command and as a result you will get the result needed.

Thank you for your response Oleg!

 

Right, that would be the "manual" approach. I was hoping I could reuse the same service that is being used when creating an email from a template. For example, I can use a ReportService to generate a printable inside a business process. I was hoping that we have in Creatio something like "EmailService" that processes an email template and returns the generated text.

Pavel Shkomov,

 

You need to use the script-task to send the email from the code directly. Please see this Academy article that describes how to form and send the email from the code (this article also have examples of implementations, please use the "Examples" tab at the top of the article).

Ignacio Alvarez,

 

there is another approach:

var macrosHelperClassFactory = ClassFactory.Get&lt;MacrosHelperV2&gt;(new ConstructorArgument("userConnection", UserConnection));
 
string emailTemplateCode = Get&lt;string&gt;("ResultEmailTemplatePlain");
string templateEntityName = Get&lt;string&gt;("ContactEntityName");
Guid templateEntityId = Get&lt;Guid&gt;("ContactRecordId");
 
var replacementResult = macrosHelperClassFactory.GetTextTemplate(emailTemplateCode, templateEntityName, templateEntityId);
Set&lt;string&gt;("ResultEmailTemplateHTML", replacementResult);
return true;

There should be also the following parameter values:

1) the code is ContactEntityName - Text (50 characters) data type ("Contact" value by default) - represents the object from which data for macros is selected

2) the code is ContactRecordId - Unique identifier data type - represents the record Id to get data for macroses

3) the code is ResultEmailTemplateHTML - Unlimited length text data type - contains the template with filled macroses

4) the code is ResultEmailTemplatePlain - Unlimited length text data type - contains the template without filled macroses

 

Also you need to add the following namespaces to the process usings:

Terrasoft.Configuration.Utils

Terrasoft.Core.Factories

 

You need to use the "Read data" process element and read specific email template (the object is "Message template") and you need only the "Body" column value. Then the read body of the template should be passed to the "ResultEmailTemplatePlain" parameter using the "Formula" process element.

 

As a result of the script-task process element you will get the formed email template body with filled macroses in the ResultEmailTemplateHTML parameter that can be then displayed for example using the autogenerated page.

Show all comments

Hi community,

 

I am developing an application only for the "Sales" module which includes the Sales enterprise, the sales team and the sales commerce edition. Actually, I am developing the application in a "Sales Enterprise" environment and I only have the "SalesEntepriseSoftKey_ENU" package.

 

Which should be the right package to set to work with all the Sales product versions ?

 

Many thanks for your help.

 

Best regards,

Jonathan

Like 0

Like

3 comments

Hello,

 

Please refer to this Academy article (+ this) to define the package dependencies.

 

Best regards,

Mira

hi @Jonathan,



It's recommended to have the package that has access/connected to all the base packages of the Creatio bundle. Also, the package dependency diagram in the configuration section will give insight into the structure of the package of products (Sales, Service, Marketing, Studio).







In your case (i.e., sales bundle), the package SalesEntepriseSoftKey_ENU shall be added in dependency. Please be informed that SalesEntepriseSoftKey_Obselete package shouldn't be added in dependency as this might be removed in the product updates.





BR,

Bhoobalan Palanivelu.

Bhoobalan Palanivelu,

 

Hi @Bhoobalan,

 

The problem here is that if I put the dependency on "SalesEnterpriseSoftkey_ENU" package, it will only work with the "SalesEnterprise" products of Creatio, not SalesTeam nor SalesCommerce.

 

Best regards,

Jonathan

Show all comments