Sales_Creatio
Service_Creatio
Sales_Creatio_enterprise_edition
Service_Creatio_enterprise_edition
Studio_Creatio
8.0

Hi Community,

How to to Integrate an electronic signature pad and automatically attach it to a Creatio record (for example, Opportunity or Order). Ideally, the captured signature should also be available for use in printable (Word/PDF templates) as an image.

Has anyone implemented this before?

  • What is the best way to integrate a signature pad with Creatio (JavaScript/SDK)?
  • How can we store the captured signature image in Creatio (File/Image column or Attachments)?
  • Can this be automated so the image is directly embedded into pintable's?

Any examples, recommendations, or best practices would be very helpful.

Thanks in advance!

Like 0

Like

1 comments

Greetings,


The idea to implement e-signature as basic functionality in further releases is already registered for our R&D team. 

We will add your case to it's backlog so to increase it's priority. As f​​​​or now, this issue has already been discussed in another post, this may help you: https://community.creatio.com/questions/capture-signature-mobile-application 

Also, we can suggest using the following marketplace add-on Evrotrust connector for Creatio.

Please see more details here:https://marketplace.creatio.com/app/evrotrust-connector-creatio

Have a nice day!

Show all comments

I'm trying to get a query to return rows 51-100 by using esq (serverside). I thought this would do the trick : 

 var userconnection = UserConnection.Current;
 var esq = new EntitySchemaQuery(userconnection.EntitySchemaManager, "Contact");

 esq.AddColumn("Name");
 esq.AddColumn("Email");

 // Skip the first 50 rows
 esq.SkipRowCount = 50;

 // Return the next 50 rows
 esq.RowCount = 50;

 var entities = esq.GetEntityCollection(userconnection)

 

I assumed the SkipRowCount would skip the first 50 records, and the RowCountt would then return the next 50 records in the table. However, i get 0 records as result. Does anyone see what I'm missing here?

Like 0

Like

1 comments

Hello,

You can refer to these articles for more details: Customer FX article and Creatio Academy documentation.

To resolve the issue, please add this line before setting SkipRowCount and RowCount:

esq.UseOffsetFetchPaging = true;

With this change your query will correctly return rows 51–100.
 

Show all comments
lookups
Business Process
Studio_Creatio
8.0

Hi,

Is there a way to get the lookup name column instead of the guid from a Read Task on a Formula?

From a trace I can see that the Lookup Name is getting loaded but i can't find a way to retrieve it, i can only make a reference to the Type field

 

I tried getting the element and then calling the get column:
 

[#Read Account.First item of resulting collection#].GetColumnValue("TypeName")

But i only get a runtime error:

An error occurred while applying the value of the parameter "RecordColumnValues" of the business process element:
    Unable to compute expression "[#[IsOwnerSchema:false].[IsSchema:false].[Element:{3fc842fe-cf6c-447b-96d6-c4a5ad44b60b}].[Parameter:{1b74925e-637e-42f3-982d-c444f038071a}]#].GetColumnValue("TypeName")", error: Object reference not set to an instance of an object.

Any help is appreciated

 

Like 1

Like

3 comments

Hello,

If I understood your question correctly, you would like to retrieve the Lookup Name value instead of its GUID. I’d like to clarify that in a Formula you can only work with the Lookup ID, so the display value of the Lookup field is unfortunately not available directly through Formula.

If you need to use the Lookup Name in your process, the recommended approach is to perform an additional Read of the record. By reading the related object, you will be able to access the Name column and use it further in the process logic.

This way you can safely obtain the Lookup Name and ensure the process works as expected without running into runtime errors.

Hi Anastasiia, 
 

It's seems a was of time and resources to force the user to do another read action when the data is already loaded.

Is it planned as a featured to make the lookup name available to use?

 

It would save time building business processes,  make the business processes less cluttered and  take less actions on the system.
 

Hello,

Thank you for your follow-up.

The runtime error you encountered occurs because the formula was configured to call GetColumnValue on a GUID of item, which is not valid in this context.

For correct configuration of formulas, I recommend reviewing this article: https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/business-process-setup/process-formulas

A simpler and reliable approach is to use a Read Data element: by reading the record by its Lookup GUID, you can retrieve the full information you need, including the Lookup Name, without encountering runtime errors.

Show all comments
Studio_Creatio
8.0

I created list page, but I have an issue.
When add columns from data model, it's allowing me to add same column multiple times also with same data as screenshot.
I need to let user only adds any column one time, once the column added user can't add it again.
How to achieve this?


Like 0

Like

1 comments

Hello,

There is no such ootb functionality available yet. However, we have registered this idea to our R&D department to consider implementation in future releases.

Best regards,
Ivan

Show all comments
Timer_component
FreedomUI
Timer
Studio_Creatio
8.0

Hello

Is it possible to stop the timer component when the condition being monitored is met, for example I have a timer monitoring the Probable Closing Date of an Opportunity, but when it is closed the timer keeps counting... is it possible to stop it?

 

Thanks in advance

Like 1

Like

2 comments

Hello,

You are correct - currently the timer calculates the time from the registration date to the current moment if the record is not yet resolved. Once an incident or Opportunity is marked as resolved (i.e., the resolution date field is filled), the timer continues to count, which can cause the displayed duration to grow inaccurately.

As a temporary solution, we suggest hiding the timer for resolved records using business rules. This will prevent the timer from showing an incorrect duration post-resolution.

We are aware of the importance of this functionality and plan to improve it in the future; however, we do not have an exact ETA at the moment.

Thank you for your understanding and patience.

Valeriia Hromova,

Thanks, we will do it!

Show all comments
local instance
Studio_Creatio
advanced_settings
ApplicationHub
Infinite_loading
8.0

I have a local deployment of Creatio that installed without issue 

I can log in fine, however when I try to access the Application hub or Advanced settings pages Creatio freezes while opening the pages.  Everything in the browser console on the opened pages looks OK without any issues.

Like 1

Like

2 comments
Best reply

This can also be the result of OS websocket limitations on local installs of Creatio. When we use our Windows laptops for local development, the number of tabs is extremely limited by this, as non-server versions of Windows have a limited number of websocket connections, and some Creatio pages use multiple websocket connections each.

Symptoms are that nothing loads in the Network browser developer tab and the page doesn't load - either staying on a splash screen forever or a blank screen. Or your page might be open but something like Business Rules will spin forever while "loading", as this appears to require an additional websocket connection.

Closing a tab or 2 will resolve the issue if that's what you're experiencing, but I wish there was a way to avoid this limitation.

Maybe try either (1) clearing your browser cache or (2) flushing redis (or changing the db number in the config file)

This can also be the result of OS websocket limitations on local installs of Creatio. When we use our Windows laptops for local development, the number of tabs is extremely limited by this, as non-server versions of Windows have a limited number of websocket connections, and some Creatio pages use multiple websocket connections each.

Symptoms are that nothing loads in the Network browser developer tab and the page doesn't load - either staying on a splash screen forever or a blank screen. Or your page might be open but something like Business Rules will spin forever while "loading", as this appears to require an additional websocket connection.

Closing a tab or 2 will resolve the issue if that's what you're experiencing, but I wish there was a way to avoid this limitation.

Show all comments

I need to implement a solution where a parent record has an attachment uploaded. When I click a button, I want to automatically create a copy of this attachment for each related child record, so that every child record will have its own attachment (not just a shared reference). For example, if there are 4 child records, there should be 4 distinct copies of the original attachment, each linked to a different child.

Like 0

Like

6 comments

This sounds like something server code could perform - the File API documentation here has an example that could be adapted to meet that requirement under the collapsed example titled "Copy a file from the original file storage, paste the file to a new file storage, and delete the file from the original file storage".

Also, as a no-code approach, you do this with a Process File element in a process. 

Example to copy opportunity files to account

Ryan

Ryan Farley,

Thank you. I have two section both freedom UI, so I have tried two approaches but nothing worked.

Approach 1. Selecting case(attachment and notes object) 

Approach 2 - Using uploaded File and passing Case record Id

Bulk Update is a freedom UI section so there is no separate attachment object for it.

Thanks,

Akshit

Akshit Saxena,

I think the "What object to save file to?" field should be the object you want the file to be associated to, e.g. in your first example it would simply be "Case". Then the Case's Id would go in the subsequent field. That's how we have Process File elements set up and it works, although that's for a Custom Object, so the file ends up in the "Uploaded file" Object rather than one of the bespoke OOTB XFile Objects that exist for Account and Case.

Harvey Adcock,

Thank you. I have to save file in the case attachment object from Custom Bulk Update attachment object. I tried to select case only in "What object to save file to?" but it does not show option to select only case  in the dropdown.

Hi Akshit Saxena,

The section that you are looking for is Case (Attachments and notes detail object in Cases section).

Show all comments

I need to implement a bulk action in the Case section where users can:

  1. Select multiple case records from the list page.
  2. Click a custom button to trigger a bulk update action.
  3. After clicking the button, a dialog/page should open allowing entry of an invoice number and upload of an invoice file.
  4. On saving the dialog, the invoice number and the uploaded file should be associated with all the selected cases.

Has anyone implemented this kind of bulk update scenario, especially one involving a modal dialog and document upload? Are there example articles, source code samples, or best-practice guidelines for handling both data and file updates for multiple records in Creatio?
Any insights or pointers to relevant documentation would be greatly appreciated!

Like 0

Like

1 comments

Hi Akshit Saxena,

I suggest you use a business process to implement the needed functionality:
1. Add a button to the required list page that will trigger that business process
2. To open a dialog (mini page) use the Pre-configured page process element:
https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/process-elements-reference/user-actions/pre-configured-page-process-element
3. To update record use the Modify data process element:
https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/process-elements-reference/system-actions/modify-data-process-element
4. To save file use the Process file process element:
https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/process-elements-reference/system-actions/process-file-element

Please note the Script task process element, which may be useful for handling complex logic in your business process:
https://academy.creatio.com/docs/8.x/no-code-customization/bpm-tools/process-elements-reference/system-actions/script-task-process-element

Also, check out these articles, they may be useful:
https://customerfx.com/article/launching-a-process-for-multiple-records-in-a-creatio-list/
https://customerfx.com/article/prompting-a-user-for-information-using-a-mini-page-from-a-creatio-process/

Show all comments

When I move to another section from a record FormPage, `crt.HandleViewModelDestroyRequest` doesn't trigger. And as a result, websocket subscription steel remains and works. So is there any real replacement for `destroy()` method from classic ui?

Btw, `crt.HandleViewModelPauseRequest` is not an option, cause it fires if a page of lookup field was opened, when I need to handle message in this case too.

Like 0

Like

1 comments

Hi Dmitry, please have look at this academy article. In Freedom UI there isn’t a “true” page destroy() like in Classic. Since 8.0.6 Creatio keeps the ViewModel alive (module caching), so crt.HandleViewModelDestroyRequest often won’t fire when you leave a record page; the platform recommends treating crt.HandleViewModelPauseRequest as the replacement and pairing it with crt.HandleViewModelResumeRequest.

Show all comments
FreedomUI
Phone
Studio_Creatio
8.0

Hi All,

We are trying to capture clicks that happen on the phone number record on the contact form page. As phone number is clickable and it takes to the phone application, we want to store the information in a custom object about user that clicks on the phone number and also timestamp of the click, record page identifier i.e. contact record on which the phone number is present. What would be the best way to accomplish this? 

Thanks

Like 0

Like

1 comments

Hi Puneet Mehta,

Unfortunately, you cannot capture phone link click events from the UI using low-code/no-code tools, as this is handled at core level by the CTI provider. However, you can modify your CTI provider's makeCall function at your own risk to track information such as callerId, calledId, etc.

I hope this helps.

Show all comments