Hi everyone,

 

I´m currently working on a project using documents in Freedom UI, and i was wondering if anyone has successfully implemented PDF generation directly from Creatio using a library in source code without relying on paid marketplace add-ons.

I came across this POST wich outlines an approach that seemed this method may no longer be applicable in the most recent versions of Creatio.

Any insights or shared experiences would be appreciated.

 

Regards,

Like 2

Like

3 comments

Can't really do it without a 3rd party DLL or service. Some of the newer marketplace addons use the Free Spire.Doc .NET library, which is pretty easy to work with and would be easy to implement. There is a paid version of Spire.Doc, but the free version would likely suffice for most purposes (and can be used for commercial purposes)

Ryan Farley,

thank you for your response and for the recommendation,

I actually downloaded the free version of Spire.Doc and started exploring it — it does look quite promising. However, since I’m working entirely within Creatio Cloud, I believe there might be a limitation when it comes to using third-party DLLs directly, though I’m not completely sure.

Do you think it would be viable to integrate Spire.Doc by hosting the functionality externally (for example, as a microservice or an Azure Function) and calling it from Creatio via a REST API? I’d love to hear your thoughts on whether that approach makes sense or if you’ve seen it work in similar cases.

Thanks again for your help and insights.

Paulo Chacoff Leiton,

As Ryan said, we use the paid version of Spire.Doc in our marketplace app: https://marketplace.creatio.com/app/experceo-word-pdf-converter-creatio

It allows you to generate an unlimited number of PDF documents with unlimited pages (the Free version is limited to 3 pages).

Thank you
Mohamed
 

Show all comments

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

5 comments

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..

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

0 comments
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

0 comments
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 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

1 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

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 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

2 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!

Show all comments

I need to set a business process parameter C (integer) as the ceiling of A/B (both integer parameters).

I tried using the following formula:

RoundUp([#A#]/[#B#]) 

but when trying to save I receive this error:

Formula value error: No applicable method 'Ceiling' exists in type 'Math' (at index 5).

Is there anything I need to include in my business process to be able to use the RoundUp function? I already tried RoundOff and it returns the same error.

Like 1

Like

0 comments
Show all comments

 

Hi,

 

One of our objets has started as a lookup, but over time it evolved and we now want it to behave as a regular entity. For example, a page was created to display and manage the contents and we want the business to be able to edit its contents.

Saving changes is now blocked by the business people not having the "CanManageLookup" permission. We don't want to grant that permission to the users, but rather remove the limitation from the object.

How can we achieve this?

Kind regards,

Koen Bonnet

Like 0

Like

1 comments

You'd basically change the Parent of the object from BaseLookup to BaseEntity. However, doing that will have the following impact: BaseLookup gives the object Name and Description, BaseEntity does not have those. This could break a lot of things with the page and also with data in records already saved.

I've not tested making this change, so definitely try this out in a test or dev system before attempting any of this in prod. What I would probably do, before you make the change from BaseLookup to BaseEntity, first create new custom Name and Description columns, for example UsrName, etc (assuming these are being used). Then migrate all data from the lookup columns Name & Description to the new custom UsrName & UsrDescription. Then change the page to map to these new custom fields. Then, change the parent of the object to BaseEntity.

Maybe there is some way to override the check for CanManageLookups for your one object as an exception, but I've never looked into that. I assume you'd need to go the route outlined above.

Ryan

Show all comments