Hello,

 

I am using the following link to create multi select from a detail using my custom sections.

https://academy.creatio.com/documents/technic-sdk/7-16/adding-multiple-…

whenever i add the following :

    mixins: {

            // Connecting the mixin to the schema.

            LookupMultiAddMixin: "Terrasoft.LookupMultiAddMixin"

        },

the detail does not display, when i remove it, the detail displays but i cannot add anything.

Did anyone face this kind of behavior ?

 

Maher.

 

 

 

Like 0

Like

3 comments

Hi maher,

What errors do you see in the browser console?

Ryan

Ryan Farley,

Hello Ryan,

 

I get the below error:

 

 

Ryan thank you for your reply, i fixed it, i forgot to add the LookupMultiAddMixin string at the top of the schema.

 

In fact your article on customerfx made me realize my mistake. 

 

Regards,

Maher.

Show all comments

Hi

I'm developing an anonymous web service based on this tutorial:

https://academy.creatio.com/documents/technic-sdk/7-16/creating-anonymo…

I want to get the full raw request body inside a POST method.

Is there any way to do it since it's not supported in WCF?

Or can I create a web service based on .NET Web API instead of WCF Rest API?

 

Thank you

Mohamed

Like 1

Like

7 comments

Hi Mohamed, 

 

Could you please specify your business target and which task should it solve? Please provide a bit more detailed information on your task and its purpose. Look forward to hearing from you!

 

Regards, 

Anastasiia

Anastasiia Markina,

 

I'm building an endpoint to receive Webhook notifications.

In order to verify the sender identity, I should validate the message signature with HMAC-SHA256 secret key.

To do that, I should get the full request body and create a digest then compare it with the signature.

 

Thank you

Mohamed

 

Mohamed,

 

Can you please also specify if you are going to create a web-service through the internal system resources like a custom package or you want to use outside .NET environment and connect such a web-service to your Creatio platform? 

 

Regards,

Anastasiia

Anastasiia Markina,

 

I'm creating a creatio configuration service that will use ESQ to read/add data.

Hope that explains the situation.

 

Thank you

Mohamed

Mohamed,

 

Thank you for the clarification.

 

To receive the original POST request, you need to inherit your web-service from the base class BaseService and get the request through the BaseService.IHttpContextAccessor.GetInstance().Request.

 

However, please note that this is not the original method but the Creatio's system wrapper. You can find the example in the configuration section, "EsnService" module, ESN package.

 

Regards,

Anastasiia

Anastasiia Markina,

 

Hi Anastasiia, this reply seems to be outdated now as the EsnService module doesn't contain any usages similar to that. Could you advise what the current methodology would be for getting the data from a POST request in Creatio C# code would be please? The documentation on custom web services in Creatio doesn't have much to go on.

Hello,

 

We have documentation detailing the correct data that needs to be entered: Documentation Link

Perhaps this will assist you.

Show all comments

Hello all,

 

I am trying to create a process that can add a selection of contacts to a participants detail by picking select all and then clicking on the action in the actions drop down. I've gotten the process to start but it only grabs 30 records at once. 

 

I know that this is due to Creatio only loading so many records at once as a way to not stress the system too much. However, I need a way to collect more than 30 records. I'm trying to figure out a way to get Creatio to load the records once I've triggered the process.

 

It's fine if there's a delay while Creatio loads the records, I can always put up a message about how it may take some time. I just need to get the records.

Like 0

Like

0 comments
Show all comments

Hi. In order to protect the production instance,  I understand that changes and development should be carried out on a separate instance (a trial instance, for example) and then exported to the production instance. I have tried the "Install application" panel, but I have seen that imported packages cannot be changed, so it will not work...

What is the appropriate environment/procedure for that ?

Like 0

Like

3 comments

Hello Ricardo,

 

Please review this article https://academy.creatio.com/documents/technic-sdk/7-16/development-rules since it describes a complete development process with carrying changes from dev to prod. It is also a good idea to backup the production application database during maintenance hours for your prod so to be able to restore it from backup in case some data was lost accidentally.

 

Best regards,

Oscar

Oscar Dylan,

unfortunately we have less than 20 licenses, and hence we are not entitled to have a separate development system. I understand that we will have to work directly on the production instance, is it true ? 

Ricardo Bigio,

You can request an on-site application from Support and install Creatio on-premise. 

 

Best regards,

Angela

Show all comments

I am trying to implement validation logic in client module edit page of a section.

I want to save the column value of UsrAttributeName (a lookup) into a variable.

To do this, I am using this.get("UsrAttributeName").displayValue. But when Page is loaded it hangs and console shows the error 

message: Uncaught TypeError: Cannot read property 'displayValue' of undefined 

Like 0

Like

2 comments

Hello! 

 

1. To add validation use this.addColumnValidator method in setValidationConfig method.

Please, find the example in the Academy article: https://academy.creatio.com/documents/technic-sdk/7-16/how-add-field-va…

 

2. If the column value is not defined you cannot call for its properties. Check if the column has value:

var attribute =  this.get("UsrAttributeName");

var attributeDisplayValue = attribute  && attribute.displayValue;

 

Please, let us know in case any additional information is required. 

 

Best regards,

Olga. 

Olga Avis,

Hi 

 

After debugging it turns out undefined is coming because Entity/Page is not fully loaded or when I create a new record then all fields are empty.

I could use your suggested way to assign attribute value to a variable but that would not be able to work if entity/page is not fully loaded.

 

So I used a flag in attributes with default value false and set it to true in OnEntityIntilized method.

Then I checked the flag, if it is true then the validation method will run.

 

Thanks

Ram

Show all comments

I am searching for any article or guidance to add an confirmation message when user tries to change status in a section record, the system first asks user via confirmation message(pop up). The pop message should state whether if you are sure to change state or not with Yes or No option.

I only that there will be use of localizable strings in object schema but how it all adds up to create a pop message.

can anyone help in this matter?

Thank you

Like 0

Like

8 comments
Best reply

I do have this article describing how to show various prompts in Creatio via code, like confirmation dialogs etc.

https://customerfx.com/article/displaying-information-confirmation-and-error-dialogs-in-bpmonline/

 

Is that what you're after?

Ryan

I do have this article describing how to show various prompts in Creatio via code, like confirmation dialogs etc.

https://customerfx.com/article/displaying-information-confirmation-and-error-dialogs-in-bpmonline/

 

Is that what you're after?

Ryan

Hello Ryan,

 

Yes, I am looking for the exact thing. Currently I want to add a Prompting for Choices confirmation dialog written in your article to a section after change in status. 

 

Can you please tell me if any of Creatio CRM section have this in-built (confirmation message) so that I can find the code to understand how to bind functionality or process to the YES or NO button?

 

Thank you

Hello Ramnath Sharma,

 

Current versions of the Creatio CRM don't have such kind of ready in-built pop-up confirmation.

On the other hand you can try to use the methods which were provided by Ryan Farley:

 

https://customerfx.com/article/displaying-information-confirmation-and-…

 

Also in articles below you will be able to find information about other kinds pop-up windows (with input fields, buttons, etc.):

 

https://academy.creatio.com/documents/technic-sdk/7-15/adding-pop-summa…

 

https://academy.creatio.com/documents/technic-sdk/7-15/creating-pop-sum…

 

https://academy.creatio.com/documents/technic-sdk/7-15/creating-pop-sum…

 

https://academy.creatio.com/documents/technic-sdk/7-15/adding-pop-hints

 

You can also analyse the the any minipage code and create a custom page that would open upon your preferred conditions.

 

Best regards,

Roman

RAMNATH SHARMA,

 

Yes, you can use that code in a section, page, or anywhere in Creatio. To do a Yes/No prompt, you'd add code like this (from the article I posted)

Terrasoft.showConfirmation("Would you like to do the thing?", function(result) { 
    if (result === Terrasoft.MessageBoxButtons.YES.returnCode) {
        // the user selected "yes" - do something here if needed
    }
    else {
        // the user selected "no" - do something here if needed
    }
}, ["yes", "no"], this);

To show this confirmation after the user changes the Status field, you'd need to wire up a change event for that column, I describe how to do that here: https://customerfx.com/article/triggering-an-event-when-a-field-is-changed-on-a-page-in-bpmonline/

 

Inside the method that fires when the Status column is changed, you'd place the code above, and could then react as needed.

 

Hope this helps,

Ryan

Thank you Roman and Ryan.

 I will follow the suggested articles to implement pop up confirmation.

Ryan Farley,

Is it possible to send these informational / confirmation messages from business processes (Script tasks, maybe) ?

Ryan Farley,

Hi,

I want to use this code, but not sure where to add the code to?

Is that in a script task of a process?

Thanks

Chani Karel,

The code listed above and in the linked article are for client-side code (code that would exist on a page). It is possible to send a message from a process that would get received on a page, but that does require some programming on both sides (a script task in a process and also modifying code on a page, or somewhere in the client to receive the message from the process and display the prompt - however, there's no way to get the result of the prompt back to the process so it can proceed according to the value selected). This article explains how to send a message from a process to be received in the client https://customerfx.com/article/sending-a-message-from-server-side-c-to-…

Ryan

Show all comments

I am excited to share the results of voting for the most anticipated improvements in Creatio filtering tools with you. 453 participants from all over the world voted between January 17 and 24, 2020. Almost all participants selected three improvements, according to the voting conditions. The average number of selected options per participant was 3.3.

If you know what can make Creatio products even better, more useful and more convenient, you are always welcome to post your suggestions in the section “Ideas” of Creatio Community. The development team will definitely consider them. In the “Ideas” section, you can also view suggestions from other Community Members, participate in their discussion and vote for the ideas you support.

Thanks to everyone who participated in this voting! In two weeks we will share the estimated time when the improvements will be available in Creatio products. 

Here is the rating of improvements according to the number of votes

#1 – Comparing field values ​​in filters. Users will be able to select a field and compare it with a value in another field of the same data type. For example: select all accounts where the payment amount is less than a specific invoice total; select all customer requests, where the actual response time exceeds the planned response time.

#2 – Aggregate filters and filters by related objects. Currently, users face difficulties when filtering by reverse connection and implementing aggregate filters. For example, it is a complicated process to get a list of customers who made purchases in a given period or some time ago. We plan to make filtering by related objects more intuitive and convenient.

#3 – The ability to filter records from one or more dynamic groups. We plan to enable selection of several dynamic groups in the filtering conditions and application of filters to them. As a result it will be possible to get data that correspond to common conditions from different dynamic groups.

#4 – Working with the advanced filter. Currently, grouping and moving multiple conditions in advanced filters is complicated and is not obvious to the user. We plan to simplify working with groups of conditions in filters.

#5 – Standard filters. Quick access to frequently used filters in each section. Users can shorten the list of available fields in a filter and reorder the fields in the list.

#6 – Visibility of the applied filters. The users often do not notice that the data in the section is filtered. We plan to make the currently active filters more prominent.

#7 – Accessing the advanced filter. Currently, switching to the advanced filtering mode is complicated and is not obvious to the user. We plan to make it more intuitive and simple.

Like 0

Like

Share

1 comments

FYI if anyone was hoping for #6 (better visibility of selected or applied filters), I do have a free add-on in the marketplace that does this as well https://marketplace.creatio.com/app/filter-highlighting-creatio

Ryan

Show all comments

What will you do during the course? You will learn how to set up configurations on the Creatio platform, create new objects, lookups, pages, sections, details, as well as program custom and server logic. Additionally, business processes development, standard customizations, implementation of web services and integrations will be covered.

Who is the course for? It’s for the beginner Creatio platform developers who require practical platform development skills and methods for configuring design solutions.

Format: Practical online course, guided by a trainer of Creatio Academy.

Language: English

Dates: January 21-24, 2020

Detailed program of the course: http://bit.ly/35P8gZN

Price for one participant: $700

Sign up for the course: http://bit.ly/2QSko89 (Note that if you are not currently registered at Creatio Academy you will need to register first.)

Like 0

Like

Share

0 comments
Show all comments

Hi

In order to increase our developers' productivity, we're looking for ways to test server-side C# code before using it in process designer task script.

I've followed this guide: https://academy.creatio.com/documents/technic-sdk/7-15/developing-configuration-server-code-user-project

In the onsite scenario and after enabling file system mode and recompiling the application, I got this error message:

The "Default" workspace assembly is not initialized

 

PS: The second method worked well (Cloud Executor) but it didn't allow debugging which is cruicial for our developers.

Thank you

Mohamed

Like 0

Like

2 comments

Hi Mohamed,



I checked on my end - there is key missing in workspace arguments: confRuntimeParentDirectory. In this key you should specify path to [rootAppFolder]\Terrasoft.WebApp



For example:

-filename="C:\Users\D.Smishchenko\source\repos\ExecutorLibrary\ExecutorLibrary\bin\Debug\ExecutorLibrary.dll" -typeName=ExecutorLibrary.Executor -operation=ExecuteScript -workspaceName=Default -confRuntimeParentDirectory="C:\bpmonline\7.15.0.634_SalesEnterprise_Marketing_ServiceEnterprise_Softkey_MSSQL_ENU\Terrasoft.WebApp"



Thank you. We will transfer this to our academy team to include the changes.



Regards,

Dmytro

Dmytro Smishchenko,

Thanks! It's working now.

Show all comments

Hi,

I would like to know how can i trigger 'someMethod' by adding, editing or removing something in my detail.

 

Like 1

Like

4 comments

Dear Pedro,

Please find the options to trigger your custom method:

adding:

you can override the addRecord method of BaseGridDetailV2 to launch your custom method along with parent realization.

editing:

You can create a new attribute on the page schema, which will trigger method "methodName" based on the changes in indicated columns:

"Probability": {
    // Determination of the column dependency.
    "dependencies": [
      {
        // Depends on the "Stage" column.
        "columns": [ "Stage" ],
        // The name of the handler method for the "Stage" column change.
        // setProbabilityByStage() method is defined  in methods property
        // of schema object.
        "methodName": "setProbabilityByStage"
      }
    ]
  }

delete:

you can override the basic deleteRecords method on the detail schema, so to run your custom method after, or before parent realization of the method.

Regards,

Anastasia

Anastasia Botezat,

 Hi,

I've tried to override "deleteRecords" method on my detail schema page, and didn't work, I think its because of package dependencies but I'm not sure.

Pedro Pinheiro,

The "deleteRecords" method does work on the detail schema. Please debug the code, so to narrow down the possible cause. Here is an instruction on the client side debug:

https://academy.bpmonline.com/documents/technic-sdk/7-13/client-code-debugging

Regards,

Anastasia

Anastasia Botezat, I manage to fix my problem using "onDelete" instead of the "deleteRecords" method.

Thanks for your response.

Show all comments