Effectuer plusieurs tâches identiques en une seule fois

Bonjour.

Dans mon process je suis amené à lancer un sous-processus Multi-instancié.
Dans ce sous-processus, je dois saisir une liste d’information (donc je manipule une ArrayList).
J’aimerais pouvoir créer une sorte de processus qui manage tous les sous-processus de ce genre.
Pour cela je récupère donc la liste des processus via la ProcessApi.
J’ai donc une ArrayList.

J’aimerais savoir comment accéder aux informations d’une Instance de Processus (pour récupérer les Data) et comment faire pour terminer la tâche en cours dans ces sous-processus ?

Est ce qu’il existe une fonction du genre :

BonitaUsers.getUserProfessionalContactInfo(apiAccessor, taskAssigneeId).getEmail();

Mais dans une version permettant d’accéder aux données d’un processus ?

Je suppose que si ça existe ça doit ressembler à :

BonitaProcess.getProcessInfo(apiAccessor, processInstanceId).getData();

Merci d’avance.

Bonjour,

il existe une méthode dans ProcessAPI, appelée getProcessDataInstances, as well as getActivityDataInstances .

J’espère que cela vous aidera,
Haris

Salut,
pour récupérer les informations d’une data vous pouvez utiliser le code suivant:

ProcessAPI processAPI = apiAccessor.getProcessAPI();
DataInstance dataInstance = processAPI.getProcessDataInstance(“nom_variable”, processInstanceId);
String name = dataInstance.getName();
Object value = (Object)dataInstance.getValue();

Pour exécuter une tâche vous pouvez exécuter le code suivant:
processAPI.executeFlowNode(activityInstanceId);//activityInstanceId est l’identifiant de la tâche à exécuter

J’espère que la réponse peut vous aider

Karim

Merci, je viens justement de tomber sur ces méthodes en cherchant de la javadoc.
Ca répond déjà à la moitié de ma question.

Il ne me reste plus qu’à trouver comment terminer plusieurs instances dès que j’ai fini de les traiter.

Cette fois-ci, je n’ai pas pris 3 minutes de retard :slight_smile:
Et pour la deuxième moitié (je m’excuse d’avoir raté au premier passage), il y aura executeFlowNode .

Merci, ça m’aide pas mal.

Encore une dernière question. Comment avoir l’activity en cours dans un process ?
J’ai trouvé comment avoir la liste des activities dans un process, mais je ne trouve pas l’activity en cours :
apiAccessor.getProcessAPI().getActivities(processId, min, max);