Hello,

I am developing a custom UI component using the angular remote module provided by Creatio.

The front-end part will be in the angular project. Now, If I want to call a server action(for ex: from my custom component a button click -> pass the record id to server action -> get the record retrieved and perform more server actions) where should I put that logic and how to call that logic from remote module?

Also, how do I run/debug the remote module during the development?

TIA.

Like 0

Like

6 comments
Best reply

You would implement the C# code and expose as a configuration service, see https://customerfx.com/article/creating-a-web-service-and-consuming-it-from-client-side-javascript-in-bpmonline/

Then to consume the service from the remote module, you'd use the devkit sdk as shown here: https://customerfx.com/article/calling-configuration-web-services-from-client-side-code-in-a-creatio-freedom-ui-page/

Ryan

You would implement the C# code and expose as a configuration service, see https://customerfx.com/article/creating-a-web-service-and-consuming-it-from-client-side-javascript-in-bpmonline/

Then to consume the service from the remote module, you'd use the devkit sdk as shown here: https://customerfx.com/article/calling-configuration-web-services-from-client-side-code-in-a-creatio-freedom-ui-page/

Ryan

Ryan Farley,

Thank you.. If I want to ship this source code along with my package.. I have to put it under Resources as shown in the below image?

Can you also tell me if it is possible to run/debug the remote module during the development?

If I run the remote module using ng serve I am getting below error.
 


core.mjs:6531 ERROR Error: Remote entry with name 'angproject' does not exist
   at AppModule.ngDoBootstrap (app.module.ts:28:23)

bootstrap.ts:7 Error: Remote entry with name 'angproject' does not exist
   at AppModule.ngDoBootstrap (app.module.ts:28:23)

Sagar Rodda writes:

Ryan Farley,

If I want to ship this source code along with my package

You could sync your workspace to Creatio, add it in the package there and then download the workspace back and you'll see it under the Schemas folder. Or you could add it under Files\cs

Got it.. thank you so much.. I'll try it and let you know here how it goes..

Ryan Farley,

Can you add your comments on this please - https://community.creatio.com/questions/get-object-context-custom-butto…

Show all comments

Dear,

On Freedom UI, in the list pages, I'd like to display the number of results with a possible filter like we used to with Classic UI with the Summary Sheet.

On Classic UI, you could also display the sum of numeric fields as the amount excluding tax.

Can someone please tell me how to do this ?

Thank you
Nicolas

Like 0

Like

1 comments
ok, I found it's in the summary component of the page
Show all comments

Hi creatio community,

I am developing a custom campaign element (sms element) as described in this link: https://academy.creatio.com/docs/8.x/dev/development-on-creatio-platform/platform-customization/classic-ui/marketing-campaigns-basics/examples/implement-a-campaign-element  

I have implemented it and it works fine. The thing that I'm missing here which is very important in my case, is that I want the "SmsText" parameter to have dynamic values inside it. For example in the "SmsText" message value i want to have "Hi " + Contact.Name. This solution provides only static text which in most scenarios the sms message text should be dynamic. 

Could you give any idea/solution on how i can implement in my case?

Thanks

Like 0

Like

1 comments

Any information about this question?

Show all comments

I am developing a custom button with the remote module. I created and deployed the component using the clio tool.
When I click on the button, I want to get the object context where this button is placed. 

For example:
if the button is used in the Contact form page then I want to access contact record details(Ex: email, name, type, record id etc..) in the click handler.

If the button is used in the Account form page then I want to access account record details(Ex: name, owner, primary contact, record id etc..) in the click handler.

Can you help me to achieve that?
I have searched in the academy but didn't find an example. Also, I have not found documentation about the apis in @creatio-devkit/common module.

Like 0

Like

5 comments

Hi Sagar,

The ability to pass input values to a remote module component via @creatio-devkit/common is available starting from Creatio 8.1. This library is not present in version 8.0.

You can definitely implement this in 8.1+ to access the current record context (like ID, Name, etc.) inside your custom button component.

Helpful links:
- Implement a remote module - Creatio Academy
- @creatio-devkit/common

What to do:
- Add @CrtInput() to the input properties in your Angular component to receive values from the page context.
- In your Freedom UI schema (viewConfigDiff), pass record fields using $ bindings like $Id, $Name, etc.

Example implementation:
button.component.ts:

@Component({...})
@CrtViewElement({ selector: 'usr-button', type: 'usr.Button' })
export class ButtonComponent {
 @Input() 
 @CrtInput() 
 recordId!: string;
 
 @Input() 
 @CrtInput() 
 name?: string;

 handleClick(): void {
   alert(`Record ID: ${this.recordId}\nName: ${this.name}`);
 }
}

In Freedom UI JSON schema:

{
 "operation": "insert",
 "name": "UsrCustomButton",
 "values": {
   "type": "usr.Button",
   "recordId": "$Id",
   "name": "$Name"
 },
 "parentName": "SideContainer",
 "propertyName": "items",
 "index": 0
}
 

Daiana Gavrylenko,

Thanks for the reply.. I want to clarify that the app I am developing using remote module is for marketplace. So, If I'll be not having access to the Freedom UI json(correct me if I am wrong).

All I want is, the app(button) can be placed in any page(Account, Contact, custom app). Upong clicking the button I want access to the details.

Sagar Rodda,

What Daiana mentioned in the approach you need to take. The component is independent of the page. You receive values in the page via binding. The properties with @Input() are bindable and can be bound to properties of the page. The idea is that you'd add your button to a page, then bind properties for pass values from the record to the component.

Ryan Farley,

Okay.. I'll try to implement this..

may I know where I am supposed to put this in my remote module?

In Freedom UI JSON schema:

{
 "operation": "insert",
 "name": "UsrCustomButton",
 "values": {
   "type": "usr.Button",
   "recordId": "$Id",
   "name": "$Name"
 },
 "parentName": "SideContainer",
 "propertyName": "items",
 "index": 0
}

That is the part that adds the component (your button) to the page. That would exist on the page you add the button to in the viewConfigDiff. When you drag your button to the page, that gets added to the page code, but it also shows it was modified to add the binding properties "recordId" and "name" (which are bound to the current record's "Id" and "Name columns). That part has to get modified manually by the user of your button component since there's currently no designer support for custom components. 

Show all comments

Hi,

i have a use case where i have to load thousand of records in a object and process them as fast as possible. I've built a trial app with an object "staging" where i load the records and one process "elaborate_record" triggered by signal "record inserted in staging". This process has a wait so i can keep track of starting time and and ending time. 

What i've noticed is that 10 "elaborate_record" are started concurrently at the same time, when they finish another 10 processes are started and so on. I can then infer that there is a cap of 10 maximum concurrent processes (at least on the trial instance). 

My question is if it is possible to increase this cap. And if so how? I understand that it might be closely related to the sizing of the environment but i wasn't able to find any documentation about this aspect. I'm working on creatio cloud, not on premise.

Thank you!

Like 0

Like

0 comments
Show all comments

Hi All, 

probably a very silly question, however, I want users to be able to email Invoices as a PDF attachment to clients for payment through Creatio. Is there a simple one-step solution, other than generating a printable, saving the printable on the computer and then attaching it to an email? 

Has anyone build a custom business process for this or is there a simple functionality that I'm missing?

Like 0

Like

1 comments

Hello, 

 

Thank you for your question regarding sending invoices as PDF attachments to clients through Creatio. It’s a valid and common use case, and we’re happy to provide guidance.

To implement this functionality in a streamlined and automated way, we recommend creating a custom business process in Creatio using the following elements:

  1. Read Data – Use the Read data process element to retrieve the necessary invoice information.
  2. Generate File – Use the Process file element to create the invoice file.
  3. Send Email – Use the Send email element to attach and send the generated invoice to the client.

You can refer to this documentation for a detailed example of how the Process file element works:
🔗 Process file element – Creatio Academy

Additionally, to generate the invoice in PDF format, an external connector is required. We recommend using the AsposePDF connector available on the Creatio Marketplace:
🔗 AsposePDF Connector for Creatio

To trigger this process, you can either:

  • Add a custom button to the Invoice section, or
  • Configure a start signal to initiate the process automatically based on specific conditions (e.g., invoice status change).

Have a nice day!

Show all comments

Hi Community,

We’re encountering an issue reported by our customer where the application takes an unusually long time to load when login, and sometimes gets stuck on the loading screen.

After investigation, here are some of our findings:

  • Infrastructure doesn't seem to be the issue—server resources are normal, and the application is deployed on-site based on the Creatio deployment calculator.
  • It's not related to internet connectivity—once the login is successful, all subsequent loading behaves normally and runs smoothly.
  • We noticed an interesting behavior:
    When the user opens the login page again in a new tab (without a return URL) or in an incognito window and logs in, the login is successful and the home page loads instantly.
    However, if the user tries to access a full URL such as [Base URL]/0/shell/... or the login page with a return URL in a new tab, the application remains stuck on the loading screen.

While opening a new tab or incognito as a temporary workaround, it's not a viable solution for business users.

Has anyone experienced a similar issue or found a reliable fix for this behavior? Any suggestions or insights would be appreciated.

Best regards,
Khaerul Anwar

Like 0

Like

2 comments

Greetings,

We have not encountered this specific issue before. It is possible that what you described is related to browser caching, although we cannot confirm this with certainty.

For a thorough investigation, we will need the site logs and the exact time the issue occurred so we can analyze the problem in detail.

Please create a support request by emailing us at support@creatio.com.

Regards, 
Orkhan

Hi Orkhan,

We initially suspected that the issue might be related to browser caching, but strangely, it occurs for all users.

We previously attempted to submit a support request, but because our customer support package ("Business support") does not include "Performance diagnostics," the Creatio support team was unable to provide a solution. That’s why I’m now reaching out to the community for help.

Show all comments

first of all, my requirement is to make 3 pages of the record, the first one is the list page, the second one is the form page, and the third is the view page, the form page is shown when i click the add new button in list page, and the view page is shown when i click the record, and i have an issue on one of the following page.


i have written code page using a feature preview from add on plugins in my form page and this is my code, 
success code

but when i try to make the same code on my view page, the preview button didnt work, this is my code

Like 1

Like

0 comments
Show all comments

Hello, is there a way to filter an activity dashboard metric by distinct values? 

Like 0

Like

2 comments

Hello!

Thank you for your question.

It sounds like you are referring to adding a dashboard to a record page, and having it filter data based on the current record (e.g., showing only activities related to the specific record you are viewing).

Yes, this is possible in Creatio.

To do this, you need to add a filter to the dashboard widget, so that it displays only data related to the current record.

 We’ve attached a screenshot that shows where and how you can configure this filter.

Please let us know if this answers your questions!

Valeriia Ripnevska,

Hello, thank you for the response.

I'm actually referring to the Classic UI. What you suggested will filter for a specific record but that isn't what I'm after. 

In Classic UI if I select the Activities section, there is a dashboards tab within that section.  Inside one of these dashboards I want to use the metric widget to count unique values. 

For instance, it may show one client name multiple times because many activities exist for that client (phone calls, emails, texts etc), however I want it to count the client only once as a unique value. I can filter the type of activity to only (phone call) for example but there still could be many phone calls for one client so I will see the client appear in the count multiple times.

 Another way to think about it, is that in excel I would use =unique - https://support.microsoft.com/en-us/office/unique-function-c5ab87fd-30a3-4ce9-9d1a-40204fb85e1e or conditional formatting to remove duplicate values, I want to apply the same logic to a creato metric widget in a dashboard.

Show all comments

Hello community

on the release notes for 8.2.2 version is described the new feature

Save data without closing the page. You can now let users stay on the page after they save a new record. The functionality is available for full-sized form pages.

I can't find it, could you direct me?

Like 0

Like

3 comments
Best reply

That is a property that shows for the save data button

Ryan

That is a property that shows for the save data button

Ryan

thanks!

Hi Ryan,

This setting works as expected in the cloud environment, but not in my local environment.

Do you have any suggestions?

Show all comments