How can I capture the newly changed field value before saving a record in a crt.SaveRecordRequest in Creatio Freedom UI? Currently, I am getting the old value instead of the new one.

Like 0

Like

0 comments
Show all comments

Full requirement is 
 


Have 4 widgets and Global Area

Each Widgets calls behind the scene API with one key that is present in the global Area

Present that data in the widget

Now each widget can be consider as Page -- 

Now how easily create Page which invokes API and dispaly -- if API is returning 10 or so parameter do we need to create manually the page and have items and map items to API return value

Like 0

Like

0 comments
Show all comments

I have a business process calling some subprocesses, and it should then open a new record page.  but for some reason, the page doesn't open, and the process is left in the running state. does anybody know what can prevent opening a page?

Like 0

Like

2 comments

Check the start of the process (select the green start where the process begins) and make sure it does not have the "run in background" option checked. 

I've checked that, and it's not checked. I did some further analysis, and the record is created and i can open it, it only doesn't want to open during the process flow. Furthermore, if I run the process under my colleague's credentials, the record does open. So, one would think it's a permission problem, although we both have the same permissions, we both have the system administrator role, and i can open the record 'manually'...

Show all comments

Hi Creatio Community,

 

I am looking to consume my own or an external API that returns a JSON response and embed an IFRAME inside a Creatio Freedom UI page to display the relevant data.

 

My Goal:

Call an API that responds with JSON data.

Display the API response inside an IFRAME in Freedom UI.

Ensure the IFRAME updates dynamically based on API data.

  •  

My Questions:

  1. What is the best way to embed an IFRAME inside a Freedom UI page?
  2. How can I dynamically set the IFRAME's src based on API response data?
  3. Are there any security or CORS restrictions I should be aware of when using an external API?

     

If anyone has experience implementing this in Freedom UI or has sample configurations, I'd love to hear your insights!

 

Thanks in advance!

Like 0

Like

1 comments

You can see an example of embedding an IFRAME and setting the src of the IFRAME dynamically here: https://customerfx.com/article/embedding-an-iframe-on-a-creatio-freedom-ui-page/

However, an IFRAME cant just display data from an API. An IFRAME simply embeds another page, it would be the responsibility of the page you're embedding to retrieve and display the API data. 

You could however, use a similar approach to the article for creating an IFRAME and just have that component retrieve the API data and render out HTML as needed. Alternatively, you could create a full Angular component that retrieves and displays the API data, which is likely a better route anyway. See https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/front-end-development/freedom-ui/remote-module/implement-a-remote-module/overview 

As for CORS restrictions, that would be something imposed (or not) by the API, not Creatio.

Ryan

Show all comments

I'm installing Creatio 8.2.2 Studio MSSQL, but after everything is done, I get an error when logging in

 

Error: System.Exception: Library e_sqlite3 not found

 

https://prnt.sc/ds1ZddIu8vdx

Like 0

Like

2 comments

According to the post below, it could be that you need to possibly modify the permissions of the folders under Terrasoft.WebApp. See https://community.creatio.com/questions/error-logging-local-deployment-creatio

Ryan

Ryan Farley,

Still getting the same error, i think that is different case maybe

System.Exception: Library e_sqlite3 not found\r\nplat: win\r\nsuffix: DLL\r\npossibilities (3):\r\n

Show all comments

Hello,

 

I have a master record and a detail where I allow inline editing. Making changes on the detail triggers an update on the master record. Because the table behind the master record has live updates, the changes are immediately reflected on the master record. 

All that logic works fine. The issue I have is that if the user makes changes to the master record and then changes to the detail (like adding a new detail, deleting or editing an existing one,) the changes on the master record are not saved,.

Is there any way to save the master record when the user saves the detail changes?

Thanks,
Jose

Like 0

Like

1 comments
Best reply

Hello,

Thank you for your request. Unfortunately, it is not possible to change this behavior using custom methods.
 

As a workaround, you can achieve this using development methods.

To achieve this you can to implement custom handlers for two requests:


1. When saving changes in the detail list (crt.SaveRecordsRequest)

First, execute the default logic for saving the detail records.

Then, trigger crt.SaveRecordRequest to ensure that the master record is also saved.
 

Be careful not to confuse the requests—crt.SaveRecordsRequest is for saving multiple records, while crt.SaveRecordRequest is for a single record.
 

2. When deleting records from the detail list (crt.HandleModelEventRequest)

Execute the default logic first.

Then, check if request.modelEvent.type === 'delete'.

If it is a delete operation, trigger crt.SaveRecordRequest to save the master record as well.

Hello,

Thank you for your request. Unfortunately, it is not possible to change this behavior using custom methods.
 

As a workaround, you can achieve this using development methods.

To achieve this you can to implement custom handlers for two requests:


1. When saving changes in the detail list (crt.SaveRecordsRequest)

First, execute the default logic for saving the detail records.

Then, trigger crt.SaveRecordRequest to ensure that the master record is also saved.
 

Be careful not to confuse the requests—crt.SaveRecordsRequest is for saving multiple records, while crt.SaveRecordRequest is for a single record.
 

2. When deleting records from the detail list (crt.HandleModelEventRequest)

Execute the default logic first.

Then, check if request.modelEvent.type === 'delete'.

If it is a delete operation, trigger crt.SaveRecordRequest to save the master record as well.

Show all comments

Hi. 

 

Im trying to save a script task in the open process of a lookup but when I try to save it the next message appear: An item with the same key has already been added

 

And i can´t save the process. I already  generate all schemas and compile. But i still have the same problem 

 

 

Do you have any idea why is this happening? 

 

Thank you 

 

 

 

Like 0

Like

1 comments

Hello!
I recommend checking the application logs for error details. Based on them, we can decide on the next steps.

Show all comments

Hi, all mentors,

 

   I use Clio in visuall c#, and the connection seems okay. 

But I failed to see the SQL output console when I use the SQL

 

   Select * from "Contact", it's seems the sql output console disappear. 

 

How to activate it, please kindly help. 

 

Like 1

Like

2 comments

Have you installed clio api (cliogate) in the instance? That is a requirement to execute SQL using clio. 

If not, in VSCode click the clio explorer main menu button (see https://share.customerfx.com/v1uGwpWw) and select "Install clio api" to install the clio API package into the system. 

 

Also, make sure you've installed .NET 8 - Also, install the clio command line as well from that same menu. 

You can follow the complete setup steps here: https://customerfx.com/article/how-to-install-clio-explorer-for-creatio/

Ryan

Show all comments

In the classic version we can communicate between modules, for example from page to detail or vice versa using messages.

I have case in my form page there is a modal page, when the modal page is closed it will send data to the form page to do something.
How to implementation in freedom?

Thank you

Like 2

Like

1 comments

It would likely work to use requests with the correct scopes set for message exchange like how sandbox worked, but I've not really tried to implement that across different pages. It might also work to just use Javascript's built-in Broadcast Channel API for that as well. It exists for purposes like this, messaging between different contexts. See details here: https://developer.mozilla.org/en-US/docs/Web/API/Broadcast_Channel_API

Ryan

Show all comments

Hi Team,

 

I am seeing some compilation error in the configuration tab after working on oData. Below is the screenshot for your reference:

Below are the error message descriptions for your reference:

 

Could not copy "obj\Release\Terrasoft.Configuration.ODataEntities.dll" to "bin\Terrasoft.Configuration.ODataEntities.dll". Exceeded retry count of 10. Failed. The file is locked by: "IIS Worker Process (24568)"

 

Unable to copy file "obj\Release\Terrasoft.Configuration.ODataEntities.dll" to "bin\Terrasoft.Configuration.ODataEntities.dll". The process cannot access the file 'C:\Academy\Builds\D1_Dev\Terrasoft.WebApp\Terrasoft.Configuration\bin\Terrasoft.Configuration.ODataEntities.dll' because it is being used by another process.

 

Can anyhow let me know how to fix these issue?

Thanks!

Like 0

Like

1 comments

Hello,

 

To fix this, you need to generate code for all schemas and then compile the site.

The main reason for this behavior is that the file system mode (fileDesignMode) is enabled.

Show all comments