How to loop through and modify collection of records using Business Process

Hi All,

Can some one suggest a better approach to loop through multiple records and modify them. Please note that the trigger is coming from Signal (Record Added).

 

Basically, I am trying to add multiple records using Multi-select lookup detail built using LookupMultiAddMixin.

Reference - https://academy.creatio.com/documents/technic-sdk/7-15/adding-multiple-records-detail?_ga=2.11560502.366292848.1628844467-134737415.1626226816 

This is configured in a custom detail and on add, business process places that many number of rows to that detail. Now based on the detail object specific column value, I want to update all the contact records that is mapped with that detail.

 

But what I notice is it is updating only 1 record. Kindly suggest how this could be achieved.

 

Like 0

Like

2 comments

Hi Anupama, 





 

One of the ways to create a loop in your process to work with the collection of records is  to create a sub-process and pass the collection into the subprocess. 

You can refer to the example below and create the process you need: 

 

 

Signal "Contact Added" element: 

Read Data "Read Contact" element:

 

 

For the sub-process, you would need to specify the [Parameters] of it:

 

 

And make a filter of the element within the sub-process based on the ID:

And finally, you would need to specify this parameter in the parent Business Process:

 

 

You may also find these academy Articles useful:

 

https://academy.creatio.com/docs/user/bpm_tools/process_elements_refere…

 

https://academy.creatio.com/docs/user/bpm_tools/bpm_process_examples/us…

 

Hope this helps!

 

Thank you!

 

Regards,

Yurii

Danyil 

Thanks Yurii Sokil for the detailed instruction and the sequential  Execution Mode is something I haven't tried it before. Would definitely try that.

 

In between I tried another approach where-in at the entry point where the Signal action is placed, I unchecked the option of "Run following elements in the background". With this, until the process is completed, I was able to read the required values and add/edit/delete multiple records.

 

 

Show all comments