Nom et Prénom de l'utilisateur - Bonita Bpm 7.5.4

1
0
-1

Bonjour,
J'essaie depuis un temps de mettre à jour ma variable métier avec le nom et prénom d'un utilisateur dont j'ai l'id dans ma base de données métier.
Vos orientations please.

Cdlt,

Comments

Submitted by wnkela on Tue, 06/04/2019 - 10:04

L'affectation via les setter java à travers les opérations.

2 answers

1
0
-1

Si vous disposez de l'ID d'un utilisateur, l'identityAPI vous permet d'obtenir nom et prénom.
L'affectation des ces infos se fait via les setter java dédiés, à travers des opérations.
Quelle étape pose problème ou vous manque pour achever cette fonctionnalité ?

Comments

Submitted by wnkela on Tue, 06/04/2019 - 09:23

Au fait, c'est le même objet qui possède l id de l'utilisateur en charge de la deuxième tâche. Mais ce qui me bloque est le fait que j'ai pas connaissance du script qui puisse m'aider à mettre à jour cette objet métier avec le nom et le prénom de ce user via les opérations.

Submitted by franck.jeandino... on Tue, 06/04/2019 - 09:58

Je vais détailler les étapes :

Dans l'onglet exécution / tab opération, ajoutez une opération.
Dans la partie gauche de l'opération, choisissez l'objet métier à mettre à jour.
Dans la partie centrale choisissez "méthode java" et choisissez le "setter" correspondant au nom
Dans la partie droit de l'opération cliquez sur le crayon.
Une fenêtre s'ouvre, choisissez script (groovy) et créez votre script sur ce principe :

Votre objet métier est une variable directement accessible dans le script via son nom. Vous pouvez donc accéder à l'identifiant de la personne à rechercher. Passez cet identifiant en paramètre de getUser() comme ci dessous.

def processAPI = apiAccessor.getProcessAPI()
def identityAPI = apiAccessor.getIdentityAPI()
def user= identityAPI.getUser(idUser)

Renvoyez la valeur en ayant pris soin de mettre String en tant que type retourné.

return user.firstName

Cliquez OK.

En toute logique, l'opération va :
- d'abord exécuter ce script (à condition qu'il fonctionne :) )
- affecter la chaine de caractères retournée, de la partie droite vers la partie gauche
Cette opération revient en quelques sortes à faire : objetMetier.SetNom(valeur retournée par le script)

Vous devez faire une seconde opération quasi identique pour mettre à jour le prénom.

Cordialement,

1
0
-1

Bonjour,

Vous pouvez déclarer une opération qui fait appel à un script groovy dans lequel vous vous appuyez sur identityAPI pour rechercher les infos d'un utilisateur.

def processAPI = apiAccessor.getProcessAPI()
def identityAPI = apiAccessor.getIdentityAPI()
def user = identityAPI.getUser()
def firstName= initiator.firstName
def lastName= initiator.lastName

Vous pouvez ensuite retourner le résultat sous forme de chaine de caractères et l'affecter à votre variable métier.

Comments

Submitted by wnkela on Mon, 06/03/2019 - 16:27

Merci.
Mais c'est plutôt retourner le résultat et l'affecter à la variable métier.
J'étais plutôt dans opération avec comme type d'opérateur Utilise une méthode Java pour mettre à jour. Je sais pas si nous disons la même chose.

Submitted by franck.jeandino... on Mon, 06/03/2019 - 16:45

Pas certain que l'on parle de la même chose alors ! ^^". Vous souhaitez mettre à jour un ou plusieurs attributs de la variable métier ou bien la variable métier en elle même ?

Submitted by wnkela on Mon, 06/03/2019 - 17:03

Juste un attribut de la variable métier.
1. En initiant ma variable métier, j'ai pu récupérer ou sauvegarder le nom et le prénom de l'initiateur.
2. Je voudrai now, que je puisse aussi sauver dans base de données métier le nom ou le prénom de l'utilisateur en charge de la deuxième tâche dont l id est déjà stocké dans ma variable métier. Donc, je suppose que je peux en connaissant cet id être en mesure de récupérer le nom de ce user et mettre à jour ma variable métier.

Submitted by franck.jeandino... on Tue, 06/04/2019 - 09:11

Si vous disposez de l'ID d'un utilisateur, l'identityAPI vous permet d'obtenir nom et prénom.
L'affectation des ces infos se fait via les setter java dédiés, à travers des opérations.
Quelle étape pose problème ou vous manque pour achever cette fonctionnalité ?

Notifications