Время создания
Filters
Financial_Services_Creatio_lending_edition
8.0
background
execution
Parallel

Hello,

I am creating a service that calls a number of actions. It passes to the methods the required parameters and a userConnection. I pass the UserConnection to the service class using dependency injection:
 

public class MonitoringService : IMonitoringService
   {
       private UserConnection _userConnection;
 
 
       public MonitoringService(UserConnection userConnection)
       {
           _userConnection = userConnection;         
       }
// the rest of the code here
 
}
 

this service is run in the background declaring an implementation of creatio's IBackgroundTask and  IUserConnectionRequired interfaces. 

The actions are executed in parallel, as shown in the code below:

 public void ExecuteStepsAsync(
    Dictionary<Guid, BlockStepExecution> allSteps,
    BlockExecution blockExecution,
    Guid applicationId,
    Guid appFormId,
    IAppProduct product = null,
    DateTime? requestStartTime = null)
{
    var processors = Environment.ProcessorCount;
    var steps = blockExecution.Steps;
    var workQueue = new Queue<BlockStepExecution>(
        steps.Values.Where(step => step.IsReady(allSteps)).ToList()
        );
 
    while (workQueue.Count > 0)
    {
        var currentBatch = DequeueBatch(workQueue);
        var newSteps = new ConcurrentQueue<BlockStepExecution>();
 
        Parallel.ForEach(currentBatch, new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount }, step =>
        {
            StartStepExecution(step, requestStartTime);
 
            try
            {
                Execute(step, applicationId, appFormId, product);
                step.Complete();
            }
            catch (Exception ex)
            {
                step.Fail($"FAILED: {ex.Message}");
            }
 
            StepExecutionFinished(step);
 
            var followUp = step.GetConditionalFollowUp(steps.Values);
            if (followUp != null)
                newSteps.Enqueue(followUp);
        });
 
        foreach (var next in steps.Values.Where(s => s.IsReady(allSteps)))
            workQueue.Enqueue(next);
 
        while (newSteps.TryDequeue(out var child))
            workQueue.Enqueue(child);
        //if (!workQueue.Contains(child))
    }
}

 

and the method for action execution:

       

public void Execute(BlockStepExecution step, Guid applicationId, Guid appFormId, IAppProduct product)
       {
           if (step.ShouldSkipStep())
           {
               Logger.Info($"Step '{step.FZName}' skipped (ends with '-001').");
               return;
           }
           var action = _methodRegistry.GetAction(step.FZName);
           if (action == null)
               throw new NotImplementedException($"Step not implemented: {step.FZName}");
 
           action(applicationId, appFormId, product, _userConnection);            
       }

 

Some of the actions that are executed in parallel, call business processes. 

In some executions of the business processes I have encountered 2 errors:
 

and 

I think the problem is related to a connection that should be closed but is not and is reused in the next processes.

What could be the cause for these errors and how can I fix this issue?

Thank you in advance!

Like 0

Like

0 comments
Show all comments
local
Studio_Creatio
8.0

Hello, 

I am trying to expose my local creatio instance to public network using a domain. I did all the steps mentioned here - https://academy.creatio.com/docs/8.x/setup-and-administration/on-site-deployment/application-server-on-windows/switch-creatio-website-from-http-to-https

So that I can use Creatio AI locally.

I got a domain and certs(using letsencrypt). 

But the login is not working locally. I can provide more information for debugging.

I am not able to access the app through domain as well.

Like 0

Like

1 comments

Hello!

Usually, this situation occurs when the configuration files -  Web.config have been modified, but the certificate is either invalid or not fully installed.
Please check:

  1. The certificate parameters to ensure it is valid.
  2. The certificate settings on the web server.

 

Show all comments

Hi everyone

I'm trying to install the on-premise enviroment on my local machine and I have a problem, I started my instance with IIS and shows me the login page normally, but once that I login, the shell page is blank, I don't know if I am doing something wrong or if I need to do an extra step, thank you

Error image

Like 1

Like

1 comments

Hello,

To identify what's causing such behavior, I recommend checking the browser console first. If there are some errors, they will indicate where the problem is. If there are no errors, check the Network Tab in the browser dev tools.
If you don't get a response or get a response with an error, it will indicate whether the issue is with the application itself or caused by the wrong configuration.
If none of this gives clarity, you should check the application logs and see if there are any error messages that will indicate what's causing the problem.

For more detailed analysis and assistance with this, I suggest creating a ticket on the success portal or simply by sending an email to support@creatio.com

Show all comments
Sales_Creatio
8.0

I can't find the ‘Export list records’ operation in the Operation permissions section in System Designer

can you help me please?

Like 0

Like

1 comments

Hello Marie!

The operation permission's code is CanExportGrid:



I hope this helps. Have a great day!

Show all comments

Is there a simple way to filter a dropdown to show only those contacts that belong to a particular Role?

I have explored several common approaches, but none have provided the ideal, straightforward method:

  1. No-Code Filtering by Contact Folder: Attempted to create a static "Reviewers" folder in the Contacts section. However, this doesnt seem to work for filtering with Freedom UI.
  2. Business Rules in Page Designer
    • Field‑level rules only expose “Make required” / “Read‑only” / value‑copy actions, no lookup‑filter.
    • Page‑level rules let me “Apply static filter,” but they don’t list Folder or FolderId, or any path through SysUserInRole.
  3. Custom Data Model (Object/View):
    • Using a custom object with BaseLookup as its parent forced a mandatory 'Name' (text) field for the lookup value itself, which isn't suitable for directly linking to a Contact record and requires extra, redundant user input.
    • Using BaseEntity as the parent required adding an extra display field (a lookup to Contact) and the dropdown would store the ID of our custom object record, not the Contact.Id directly, making it less intuitive and adding an unnecessary layer.

Is there an out‑of‑the‑box no‑code way in Creatio Freedom UI to filter a lookup dropdown by all users in a given Role (without creating a separate lookup table or writing custom page schema JSON)?

If that’s not supported today, what’s the best “no‑code” or “low‑code” pattern you’d recommend to maintaining a dynamic list of Reviewer users (ideally driven by Role membership or using a custom object)

Thanks in advance for any guidance or creative alternatives!

 

Like 0

Like

2 comments
Best reply

Hello 
To achieve this in a Contact folder, create a dynamic filter that targets contacts linked to system users who are members of the "Reviewer" role. This is done by referencing the “System administration object” associated with the Contact and ensuring that it has a user type of 4 (standard user) and that it is part of the “Reviewer” role through the “User in roles” relationship. The folder will then automatically include all contacts whose users match these criteria, keeping the list dynamic based on role membership.
Please Refer to the Screenshot

Hello 
To achieve this in a Contact folder, create a dynamic filter that targets contacts linked to system users who are members of the "Reviewer" role. This is done by referencing the “System administration object” associated with the Contact and ensuring that it has a user type of 4 (standard user) and that it is part of the “Reviewer” role through the “User in roles” relationship. The folder will then automatically include all contacts whose users match these criteria, keeping the list dynamic based on role membership.
Please Refer to the Screenshot

Thank you. That worked.  I had to ensure that the Lookup for the Reviewer field was set to Contact, after which I was able to see the System Administration Object and proceed with the rest of the steps in the diagram.

Show all comments