Il permet généralement un suivi et identifie les acteurs en précisant leur rôle et la manière de le remplir au mieux.
1 - Définir un worflow :
* name: nom du workflow .
* osv: nom de l'objet .
* on_create: instancie en création .
2 - Définier une liste de noeuds :
* wkf_id
* flow_start
* flow_stop
* kind
- dummy (ne fait rien)
- function (appelle une methode objet )
- subflow (appelle un subworkflow)
* Action (= nom de methode)
- si kind est une “function” ou un “subflow”
* subflow_id
- si kind = “subflow”
- < name="subflow_id" search="[('name','=','account.invoice.basic')]">
3 - Définier une liste de transactions :
* Champs :
- act_from: id de l'activité source .
- act_to: id de activité destination .
- condition: expression python .
- signal: nom d'un bouton attendu .
- role_id: role necessaire pour l'execution de la transition .
** Exemple :
Commencez par créer un fichier nom_module_worflow.xml dans le dossier qui contient les .py et les vues que vous avez créer déja .
Dans la partie qui suit, on déclare les activités workflow où on spécifie l'id du workflow, la nature de l'activité ainsi que l'action qui doit s'exécuter .
< record model="workflow" id="account">
< field name="name">budget.account.basic< /field>
< field name="osv">budget.account< /field>
< field name="on_create">True< /field>
< /record>
< record model="workflow.activity" id="retour">
< field name="wkf_id" ref="account">
< field name="flow_start">True< /field>
< field name="name">draft< /field>
< field name="kind">function< /field>
< field name="action">budget_confirm()< /field>
< /record>
Ensuite on déclare les transactions, c'est ici que se manifeste le fonctionnement du workflow .
< record model="workflow.transition" id="valide_account">
< field name="act_from" ref="non_valide"/ >
< field name="act_to" ref="valide"/ >
< field name="signal">valider< /field>
< /record>
Dans la partie act_from, on mets l'activité à partir de laquelle le flux commence, et dans act_to ç'est là où mène le flux .
Enfin, voici un petit shéma explicatif qui résume le fonctionnement d'un workflow au sein d'une opération sur OpenERP .
bonjour. je crois que vous y connaissez très bien sur openerp.
ReplyDeleteComment appliquer un workflow pour les anciens enregistrements openerp 7?
J'ai créé un nouveau "workflow" qui s'appelle "stock.move.basic" pour l'objet "stock.move", tout fonctionne parfaitement . Mais lorsque j'ajoute de nouvelles activités et de nouvelles transitions dans le workflow, il y a un problème, le workflow marche pour les nouveaux enregistrements créés mais pour les anciens enregistrements rien ne fonctionne, les boutons du workflow ne font plus rien. Je voudrais savoir comment appliquer mon "workflow" sur tous mes enregistrements que ce soient ancien ou nouveau . Je vous remercie déjà pour vos réponses.