Hello, community,

I am running a business process, but after 100 iterations, the process stops, and I get this error: 'Operation interrupted to prevent recursive execution. The maximum allowed background recursion depth of 100 has been exceeded while performing these operations.'
I researched the issue and adjusted the 'Maximum Number of Repetitions' in the business process configuration, as well as a system setting called 'MaxProcessLoopCount.' However, I am still encountering the same error.

Like 0

Like

1 comments

Good day,

The issue you're encountering is related to the number of records being passed to the subprocess. Here are some suggestions for resolving this situation:

1. Add or adjust recursion trigger conditions:
   - For instance, if the trigger is based on changes to the `Contact.Age` field, consider adding a condition to ensure the age is not empty before initiating recursion.

2. Redesign the process to avoid recursion:
   - Replace recursion with iteration: Instead of processing records one by one with recursion, you can read and process multiple records in a sequential manner, ensuring that you do not handle a new record until the current one is fully processed.
   - Consolidate changes into a single process: Rather than reacting to various changes across different processes, use one process to handle all necessary changes at once. For example, initiate triggers in a single business process (BP) with all modifications related to a specific entity, which helps in minimizing and managing recursion more effectively.

It is crucial to first review the process logic with the above suggestions, as increasing the `MaximumBackgroundRecursionDepth` parameter could lead to application performance issues, such as slowing down or exhausting server memory, which might result in application restarts or stops.

In your system, the `MaximumBackgroundRecursionDepth` parameter is currently set to 100 (default is 100). The issue arises when the number of subprocess calls exceeds this value.

To address this problem, you may need to increase the `MaximumBackgroundRecursionDepth` parameter to accommodate all records, rather than only the initial 100.

Regards,
Orkhan

Show all comments

Can I combine the Result from business process and the data from object in the same report?

Like 0

Like

1 comments

Hello,
 

It is not possible to insert data from the process directly into the report, as the report uses information obtained from columns/related objects.
 

However, you can add an additional column at the object level (or create an object that has a connection to the record, depending on the task) and include it in the report template. 

Before generating the report element, you can fill this field(s) with values generated during the process.
 

After generating the report, you can clear this column if needed. This way, during the execution of the business process, you will fill the column with the results of the business process, generate the report, and thus the process data will be reflected in the report. Afterwards, you can clear the column if necessary.
 

I hope this helps! Thank you for reaching out!

Best regards,
Pavlo!

Show all comments

Hi  creatio Community 

can formula Calculate the sum for fields ?

Like 1

Like

1 comments

Hello!

Could you please share a bit more information with us?

 

  • Where are you using the formula?
  •  
  • Which fields are you trying to calculate?
  •  

If you can let us know your goal, we’ll be happy to assist you further and provide the best solution.

 

 

 

Show all comments

can i add any aggregation function in report to return the sum for any fields ?

Like 1

Like

1 comments
Show all comments

Hi,

Is there a way to alter the open record event of a detail row in Freedom so that it runs a particular event that I want? I see some example of HandlerChain, but those are primarily from a button.



Example, instead of opening the edit record page of the product when clicking "Motherboard..." I want to change what it does.

Regards,
Solem A.

Like 0

Like

1 comments
Best reply

Hello,

 

Find the _sendRequest method in the core file like 1964.1a6d8f3494eb48eb.js. This will show that the request sent when clicking the record is "crt.UpdateRecordRequest" (on the screenshot below I've clicked the Account column value for the record in the "Job experience" list on the contact page):

So in case you need to modify the logic you need to add a check for the UpdateRecordRequest and make sure it's called when clicking the needed column value (using the recordId parameter for example).

Hello,

 

Find the _sendRequest method in the core file like 1964.1a6d8f3494eb48eb.js. This will show that the request sent when clicking the record is "crt.UpdateRecordRequest" (on the screenshot below I've clicked the Account column value for the record in the "Job experience" list on the contact page):

So in case you need to modify the logic you need to add a check for the UpdateRecordRequest and make sure it's called when clicking the needed column value (using the recordId parameter for example).

Show all comments

We have a requirement where client would send data as csv file. This file will be later processed via BPM process and record will be loaded into the creatio object. How and where this file can be stored within Creatio Cloud ?  

Please note the file is not an attachment to any record but rather records which is to be loaded in Creatio Database.

Like 0

Like

2 comments

Hello,
 

For product sites that are hosted in the Creatio cloud, AWS S3 buckets are connected by default and are used to store files.
You can also use the option of storing files in the database as well, but please note that this will lead to increased memory consumption at the database level.
When developing functionality that covers file uploads, we recommend using the "API for file management" that is built into Creatio products.
You can find a detailed description and examples of how to use the "API for file management" in an article on Creatio Academy, as well as the File storage options for storing files in Creatio.
 

Thank you.

Serhii Parfentiev,

Before deploying this on Creatio Cloud I need to develop this on my local Creatio set up

How to Validation of S3 Configuration:

"I have configured Amazon S3 as file storage in Creatio local following the 'File storage options ' guide. 
How can I validate that this S3 configuration is working correctly (I don't see anything in log)?
"Any existing API i can use to see how this work

What  Tables and Objects Involved in File Upload:

"Which Creatio tables or objects are involved in file upload and storage when using external storage like Amazon S3? Specifically, what tables store metadata and file details for uploaded files when it is not associated with any entity like Accounts or Contacts?

 Need these to access file from BPM"

Show all comments

I have a local deployment of Creatio that installed without issue (except for this fix, ref. Error logging into local deployment of Creatio | Community Creatio).

 

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.

 

Any clue appreciated,

Like 0

Like

4 comments

Hello,

Please provide us with the screenshots of the browser console when the issue is reproducing.

I am able to configure the log in, timezone, log in timeout, etc., the following screenshot is from attempting to open the Application hub:  

Hello,

The problem seems to be the number of browser tabs (WebSocket connections) open at the same time.
Supposedly, the problem is due to a third-party blockage. Please disable antivirus (if installed), and third-party utilities and restart the server. Check the functionality again.
Also, check that the proxy is turned off (if it is used).

If that doesn't help, then presumably the problem is in the infrastructure. Can you try to deploy the same environment on a different server?

I have disabled all the browser extensions and restarted the server, same result.

 

Note after leaving the page loading for 20 mins the following error appears:

 

 

Show all comments

Hi,


We're currently developing and customizing pre-existing applications in Creatio, and we’ve encountered an issue that we need your assistance with.

For example, when we purchase the Sales module, Creatio comes with an Order Management app and others. We need to customize it by adding new columns and data tables to the Order package. However, we're unsure how to export these additional objects to another environment.


Here’s what we’ve tried:

  1. Using the Application Hub, we were able to install the entire Order Management app with the additional customizations the new objects we added (which are visible in the package) don't appear in the "All Apps" section.
  2. In advanced setting, we noticed that when we add new items to the Order Management app, a folder named "UsrCrtOrderContractMgmtApp" is automatically created, containing all the new elements we’ve added. But we’re unable to migrate this folder to the other environment because the system can’t find the schema ID.


We’re wondering if there’s a proper way to migrate these customizations to another environment, especially when the base module already exists.

Like 1

Like

1 comments

Hi,

You can read about App management and Package management by following links to articles on the Creatio Academy:

    App management
    Packages overview
    Packages transfer 

Thank you!

Show all comments

Hello,

 

We are on the process of implementing SSO and the users testing are getting confused because they are used to enter their credentials on the Creatio Login page (basically clicking on the Single Sign on link is foreign to them.)

Is it possible to have two different login pages? One with the Creatio Login page and another just with the SSO link?

Thanks,
Jose

File attachments
Like 0

Like

1 comments

Hi Jose,

You can achieve this goal by activating SSO auto-redirect for your site. This way, users who enter your site's link will be redirected to the SSO login page. Meanwhile, users who want/need to log in using credentials can use a bypass link to open the regular login page.

To activate this auto-redirect, please contact our support team.

Have a great day!

Show all comments

Hey Community,

I'm looking to access the `onclick` / 'FolderTreeVisibleChanged' handler of the Folders button on Freedom UI list pages. What is the name of the handler method that i can use?


Like 0

Like

3 comments

Hello sprity,

If i understood you correctly, you want to control visibility state or togle mode of the folders tree. The handler you provided, well, is responsible for this logic.  

Here is an example of how you can do it:

Toggle mode (open if closed, close if open):

    request: 'crt.FolderTreeVisibleRequest', 
    params: { 
        folderTreeName: "FolderTree_blabla", 
        togglePanel: true 
    } 
}

Explicit visibility mode (always open or always close, regardless of current state):


    request: 'crt.FolderTreeVisibleRequest', 
    params: { 
        folderTreeName: "FolderTree_blabla", 
        visible: true  // or false to close 
    } 
}

As mentioned, this handler also saves the state to the user profile, meaning that when the page is reopened, the folder tree will be in the same state (open or closed) as it was before. If you'd prefer not to save the state in the profile, you can manually update the visibility attribute, like so:

{folder tree name}_visible => FolderTree_blabla_visible

Hope this helps! Let me know if i understood you correctly and if you have any questions let.

Yevhenii Grytsiuk,

Thank you for this Yevhenii. One of the more difficult parts of working with Freedom UI is the inability to dig into the out of the box code to see how to change the behavior. This was easy with classic, but for Freedom we have to dig through all the minified code to see if we get lucky finding what we are after. 
Until there's better documentation outlining what all the various requests are to handle, it would be great to have some sort of switch (like the IsDebug setting to enable debug mode) that just dumps all the fired requests to the console (and maybe include what object/component fired the request?) Not sure how reasonable that would be since it's likely quite a bit of stuff would show there, but might make it easier to see the requests that fire when some action is taken.

Ryan

Ryan Farley,

Sounds great to me. I will register your idea so that our r&d team hopefully would implement it.

Show all comments