Début avec Bonita - PB sur l'exercise 6

Bonjour,

 

Je débute avec bonita studio afin de creér un workflow.

Nous avons comencé par les exercices.

Tout est OK jusqu'à l'exercise 6 : http://bonitasoft-community.github.io/bonita-camp/fr/06-applications.html

au final quand ke clique sur le bouton 'créer une nouvelle demande' il ne se passe rien, il n'enchaine sur rien !

Pouvez vous me dire pourquoi ?

Merci d'avance

Michel

Bonjour,

si vous êtes sur la page d'application, lorsque vous créez une nouvelle demande Le processus n'affiche pas de nouvelle page et reste sur la page d'application, mais il va mettre à jour le nombre de demandes dans votre liste.

Pour voir le processus avancer, il faut retourner dans Bonita Portal, dans la session utilisateur (http://localhost:8080/bonita/portal). Et du coup vous logger en tant que helen.kelly pour voir la demande à valider

Cependant il y a bien une erreur dans l'exercice que je vais corriger, la variable nouvelleDemandeConges ne récupère pas correctement l'idDemandeur, indispensable pour voir s'afficher la nouvelle demande justement dans la page.

voici les modifications à apporter :

La variable nouvelleDemandeConges doit être de type Javascript expression et indiquer :

 

var demande =  { 
  demandeInput : {
    dateDebut : null,
    nombreJours : null,
    idDemandeur : $data.sessionInfo.user_id
  }
} ;

 

return demande;

(le nom de la variable utilisée dans le javascript n'importe pas)

Voilà j'espère que ça fonctionnera désormais

Bonjour Michel,

pouvez-vous m'indiquer ce que vous avez donné comme inforrmations dans la configuration du bouton, et les variables que vous avez créées pour le formulaire?

il faut bien créer les 2 variables informationDefinitionProcessus de type External API et initialiser la variable JSON nouvelleDemandeConges car en y faisant référence dans les widgets, c'est l'information qui va être envoyée par une requête HTTP au processus ensuite (via le bouton)

Je ne sais pas si vous avez pu participer à la session d'hier et aujourd'hui, mais le cas échéant une 2ème session "live" du Bonita Camp en français est prévue en avril : https://fr.bonitasoft.com/ecosysteme/evenements/bonita-camp-online-en-francais-1

Bonjour,

Voici la conf des 5 variables au niveau du formulaire :

ajoutLibelleStatutDemandeConges     if($data.hasOwnProperty('demandeConges') && $data.demandeConges) { for (let demande of

 $data.demandeConges) { if(demande.estApprouvee) { demande.estApprouveeLabel = "Approuvée"; } else if(demande.estApprouvee === false) { demande.estApprouveeLabel = "Rejetée"; } else { demande.estApprouveeLabel = "En cours"; } } } return $data.demandeConges;     Javascript expression     
 

demandeConges     findByIdDemandeur [com.company.model.DemandeConges]     Business data     
 

informationDefinitionProcessus     ../API/bpm/process?p=0&c=100&o=version%20DESC&f=name=DemandeConges     External API     
 

nouvelleDemandeConges     { "demandeInput" : { "dateDebut" : null, "nombreJours" : null } }     JSON     
 

sessionInfo     ../API/system/session/unusedId     External API     

 

puis la conf du bouton


Action  : POST
URL à appeler  : ../API/bpm/process/{{informationDefinitionProcessus[0].id}}/instantiation
Données envoyées au clic : nouvelleDemandeConges
Valeur de réponse en cas de succès : /bonita/apps/demande-conges

 

Je pense que tout cela est conforme à la demande !

Merci pour l'info du live prévu en Avril

 

Salutations

Michel

 

Bonjour,

Je suis en train de retester de mon côté, à priori je pense qu'il manque l'information liée au demandeur. En regardant dans la console de votre navigateur, quelle erreur s'affiche?

 

Bonjour,

Il n'y a pas d'erreur , après click sur le bouton l'appli n'enchaîne sur aucune page (formulaire)

re bonjour

ça ne fonctionne toujours pas car le formulaire est un formulaire "page" indépendant de tout processus et donc je pense que l'on ne peut rien lancer

Effectivement et c'est ce que je vous explique ci-dessus : vous êtes sur une page d'application contenant un container de type formulaire.

  • Une partie de la page va donc récupérer et afficher toutes les demandes en cours.
  • La partie dans le container, elle, fait office de formulaire et va lancer l'intantiation d'un formulaire (un nouveau cas) au moment où le bouton est enclenché.

Comme vous êtes sur une page, il n'y a pas de lien direct avec le processus, il faut donc le créer. C'est la requête POST qui va faire ça en appelant l'API du processus. Mais pour cela il faut identifer aussi quel sera le demandeur (l'initiateur de la tâche)

C'est la raison pour laquelle je vous ai proposé des modifications, il manquait cette information dans l'exercice.

Ensuite, au test, si vous appuyez sur le bouton vous verrez une ligne supplémentaire apparaître dans la liste des demandes, preuve que la demande a été soumise.

Par contre pour voir le cas et son avancement, cela ne peut pas se faire depuis la page, il faut aller dans le portail, dans l'utilisateur qui fait la tâche suivante de validation, en l'occurence helen.kelly

Si besoin, vous pouvez télécharger les corrections des exercices ici https://github.com/Bonitasoft-Community/bonita-camp/releases/download/2021.1-1.0/solutions-fr.zip

 

OK

Merci à vous

Je vous en prie smiley. N'hésitez pas à participer à la session d'avril du Bonita Camp si vous pensez que ça peut être utile pour bien appréhender tous les concepts autour des exercices que vous avez réalisé. Elle est ouverte à tous.

Je vous en prie smiley. N'hésitez pas à participer à la session d'avril du Bonita Camp si vous pensez que ça peut être utile pour bien appréhender tous les concepts autour des exercices que vous avez réalisé. Elle est ouverte à tous.