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

Hello community,

I'm new in Freedom UI. Question: how to create page for section using Freedom UI for existing object (old style Section schema also exists)? Version is 8.1. Important: I cannot use Application Hub. Thank you!

Like 0

Like

2 comments

Why can't you use App Hub? That's the right way to do it.

Alternatively, you could use a trial, create a section in app hub based on an existing object and see what gets put in your package to duplicate manually. Essentially, you'll manually create the list and edit pages, then register it all with an entry in the SysModule and SysModuleEntity tables, however, that's all quick and easy using the App Hub.

Hello,

As far as we know, in Freedom UI the option to move or create a section page for an existing object is available only through the Application Hub.

It might technically be possible to achieve this by using custom code or scripts, but we strongly do not recommend doing so. Such changes can lead to unexpected issues because of multiple dependencies between section schemas, UI components, and system logic.

For stable work and full support, we suggest using the Application Hub when working with Freedom UI sections.

Show all comments
Studio_Creatio
8.0

I want to use a business process to add a ui element in the form page, for example adding a text field, it will be from the object itself but we need to have users able to add it by themselves and it gets saved in the page design -no issues with placement-

Can this be done? and also how will the new item show, can I control the label/title on page using this process? from user input for example.

Like 0

Like

1 comments

Hello.

Using out-of-the-box functionality in Creatio, it is not possible to dynamically add UI elements to a page via a business process.

The business process tools in Creatio are not designed to modify the UI structure.

This type of customization can only be achieved through additional development in the application source code. 

Best regards,
Antonii.

Show all comments
Studio_Creatio
8.0

How can I define the relations (1:1, M:M :1:M) between two Data Model objects (Tables)?

Like 0

Like

1 comments

Hello!
In Creatio, the relations between Data Model objects (tables) can be configured in the following ways:

1. One-to-Many (1:M)

  • Add a lookup column in the “child” object that references the “parent” object.
  • On the parent object’s page, add a detail that displays related child records filtered by this lookup.

This is the most common relation type in Creatio.

2. One-to-One (1:1)

  • Create a lookup column in object B referencing object A, and add a unique index on that column (so one A record can only have one B).
  • Alternatively, you can use the same Id as the primary key in both objects, establishing a strict 1:1 relation.

Use this type if each record in one table should correspond to exactly one record in the other.

3. Many-to-Many (M:M)

  • Create a link object that contains two lookup columns: one referencing object A and one referencing object B.
  • Add a composite unique index on both columns to avoid duplicates.

Configure details on A and B pages to show related records through the link object.

 

Best practices:

  • Use clear naming conventions for lookup columns and link objects (e.g., A_B_Link).
  • Always add indexes on lookup columns and composite keys in link objects.
  • For 1:1 relations, ensure database uniqueness is enforced.
  • Add details to the UI so users can easily navigate related records ( for #1 and #2 relations).
Show all comments

Hello, 

I have an angular component that I load to my creatio instance via clio, andI place it in a Freedom UI List page. I want to handle some business logic in that component dependent on the current logged in user. How can I get that with JS and Angular? 

Thank you,
Firas 

Like 0

Like

1 comments

Hello Firas,

Since you are working with Freedom UI, the recommended approach is to use crt handlers rather than the old Terrasoft.SysValue. The current logged-in user is available via the $context object in your request handler.

Here’s an example of how you can access the current user in your Angular component logic:

handlers: [
 {
   request: "crt.HandleViewModelInitRequest",
   handler: async (request, next) => {
     await next?.handle(request);
     // Access the current user information from the context
     const currentUser = request.$context?.CurrentUser;
     if (currentUser) {
       request.$context.UserName = currentUser.displayName;
     }
   }
 }
];


You can then use UserName inside your component template or for any business logic you need.

This way, your component will always get the correct logged-in user directly in Freedom UI.

 

Show all comments