Answered

Multiple subprocess - Performers

Hello,

In my process, I've a multiple subprocess which create a number of instances equal to my collection's rows has.

I use a expression similar like this one bellow, in the performers step to assign a user from WFUSER to the activity.

Although the subprocess creates the right number of instances, It assigns all the subprocesses all to all collaborators. The goal is that the subprocess assign ONE case to ONE collaborator.

How can I solve that?

____________________________________________________________________________________________________

// Create an array

var Users = new ArrayList();

// Save in a variable the requester

var Requester = <Onboarding.Requester.Id>;

// Get all users whos boss is the requester

var SearchUsers = CEntityManager.GetEntity("WFUser").GetEntityList("","","idBossUser = "+ Requester,"");

// Count how many users comply

var HowManyUsers = SearchUsers.Length;

if(HowManyUsers > 0)

{

// Add each user to the array

for (var i=0; i < HowManyUsers; i++)

{

var idUser = SearchUsers[i].SurrogateKeyValue;

Users.Add(idUser);

}

}

Users;

____________________________________________________________________________________________________

Best regards,

Francisco

Comments (1)

photo
1

Dear Francisco,

Expressions in allocation rules are usually needed when you need to evaluate complex conditions and select some user that comply conditions given in said expression.

To use expressions select the User property User id and the Expression option.

The expression created should return an array of ids, of the users that comply with the condition needed. Those users ids will be allocated.

hmfile_hash_e1e30f74

Using the same idea, you can add the result to a collection. In order to create items (records) in a collection using a business rule, Bizagi offers a function called newCollectionItem.

Visualize your collection as a table. Creating a new item is comparable to adding a new row to a table. First you need to create the new row and then set the desired values for each column.

The new record (row) is created using the newCollectionItem function. This function is available in the Functions list of theCollections category.

addrelation6

For further information:

Regards