Development
FileApiService
pdf
iframe
Studio_Creatio
7.17

Hi Community,

I've this situation where I need to add a new tab "Preview" and the main objective is have a iframe with a preview of the documents in the attachments, however we try first implement the logic if was a website, because we think that the article that we found on academy "https://academy.creatio.com/documents/technic-sdk/7-13/integration-third-party-sites-iframe"partially satisfies what we want to implement;

  1. First, based on the Web field, we were able to do the preview of the website, as you can see on the image below.
  2. Then, we try to call and access to the storage of the pdf that we have on the attachments (image below), but the only link that we have of the pdf is the link/method to download the file, for example: https://..../0/rest/FileService/GetFile/Id.

In this way we want to know if there is any way to acess a link or storage of the file, with objective to implement something like preview of the document with the iframe on the edit page.

Anyone?

 

Best Regards,

Daniel Longo

Like 0

Like

2 comments

Hello Daniel, 



While it is technically possible to open pdf files using iframe tag, it'd require considerable amount of custom development to implement such preview. 

The link you're referring to is the direct link to the attachment file. 



Unfortunately, we don't have examples of such implementation. 

I'll register your idea and it may be implemented in future releases. 

Best regards,

Yurii.

Hello Yurii,

Is there any progress on this implementation?

 

What are the options that FileService gives us beyond the download file link?

Is there any way of call this link and get Data from response?

 

Best Regards,

Igor Matos

Show all comments
Development
event
detail
EditableDetail

Dear Community,

 

I have found multiple posts on how to remove the "+" button on the event audience detail in the event section.

We have created a process where people can add an audience but they're not supposed to use the + (add) button on the detail itself.

 

Does anyone have a solution/experience with removing the "+" from the event audience detail? I have succeeded in removing the "+" from other details, but this one seems to be different.

 

Any help or info will be appreciated!

 

Kind regards,

Yosef

Like 0

Like

2 comments
Best reply

Hello Yosef,

To remove the add button on the event audience detail, add the following to the diff in EventTargetDetailV2

diff: /**SCHEMA_DIFF*/[
	{
		"operation": "remove",
		"name": "AddTypedRecordButton"
	}
]/**SCHEMA_DIFF*/

Ryan

Hello Yosef,

To remove the add button on the event audience detail, add the following to the diff in EventTargetDetailV2

diff: /**SCHEMA_DIFF*/[
	{
		"operation": "remove",
		"name": "AddTypedRecordButton"
	}
]/**SCHEMA_DIFF*/

Ryan

Hello Ryan,

 

This seems to work perfectly, thank you!

Show all comments
debug
Business Process
Development
Studio_Creatio
7.16

Hi, 

 

Is there a a way to debug business processes in version 7.16.4.1473?

 

I found this but it doesn't work: 

https://academy.creatio.com/documents/technic-sdk/7-13/server-code-debu…

 

I found this too: https://academy.creatio.com/documents/technic-sdk/7-16/overview

But in this case, the business process does not generate a file .cs in the schema folder. 

 

Im using Clio to generate the packages projects, but the cs code of the bps its never generated in the packages. 

 

Looking forward to your comments. 

 

Best regards, 

 

Javier

Like 0

Like

3 comments

Dear Javier,

 

Thank you for your question!

The best way to monitor the Business Process error messages is to turn on the Traces parameter of a particular BP.

But please note that this may impact the system`s performance.

 

You may find these Academy Articles useful:

https://academy.creatio.com/docs/node/1790

https://academy.creatio.com/docs/node/1792

 

In addition, you may turn on the Debug mode of the whole Creatio itself by typing in this string in the browser`s console:

Terrasoft.SysSettings.postPersonalSysSettingsValue("IsDebug", true)

 

But please make sure to turn it off as you are finished as it impacts the system performance.

 

Hope this helps!

 

Regards,

 

Danyil

 

 

Hi Danyil, 

 

Thank you for your response, I know about Traces parameter, but actually I'm trying to debug server side business process' c# code(script task) in visual studio. 

 

Isn't that possible? 

 

Best regards, 

Javier

 

Javier Collazo,

 

Hi Javier,

 

This is only possible using C# interactive tools like dnSpy (can be downloaded from here) where you need to connect to w3wp.exe process of your application pool and debug the logic in real time.

 

As for connecting the app to Visual Studio - you can do it, but this feature was developed to allow development in the File system, but not debugging.

 

Best regards,

Oscar

Show all comments
#editable list
EditableDetail
lookup
UI
Development
7.17

Dear Community,

 

This article shows us how to create a detail with an editable list.

The next step for us is to add an option to open this record like how you can open a page in the City lookup: https://prnt.sc/x79h2l

How do we add this functionality? 

 

Thank you in advance!

 

Kind regards,

Yosef

Like 0

Like

3 comments
Best reply

Hello Yosef,

I have an article outlining how to do this here https://customerfx.com/article/adding-an-edit-button-to-the-selected-ro…

Hope this helps. 

Ryan

Hello Yosef,

I have an article outlining how to do this here https://customerfx.com/article/adding-an-edit-button-to-the-selected-ro…

Hope this helps. 

Ryan

Ryan Farley,

Works like a charm!

I do however recommend adding the following for consistency:

{
  "className": "Terrasoft.Button",
  "style": this.Terrasoft.controls.ButtonEnums.style.TRANSPARENT,
  "tag": "edit",
  "markerValue": "edit",
  "imageConfig": {"bindTo": "Resources.Images.CardIcon"}
},

This way you get the same icon as the other details.

 

Kind regards,

Yosef

Yosef,

That is true, I do have that in the article as well (it's at the end of the article), however at the time I was doing this for a system where they wanted the "edit" action more obvious to users. However, for consistency with the rest of Creatio, I'd go the route of using the icon as well.

Glad it worked for you.

Ryan

Show all comments
detail
mixin
Development
Customization
frontEnd
7.15
Sales_Creatio

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
Sections
actions
processes
Development
7.16
Service_Creatio_customer_center_edition

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
development_environment
Development
export
7.16
Marketing_Creatio

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
Development
developer
Development Guide
Javascript
Validation
Field validation
7.16
Sales_Creatio_enterprise_edition

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
pop up
confirmation_message
Development
Development Guide
developer. know-how
7.15
Studio_Creatio

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