Paramétrer Mezzoteam pour le bureau d’études (2)
La mécanique qui va nous permettre de mettre à jour les champs repose sur les possibilités de paramétrages de MezzoScript conjuguées avec les actions disponibles dans le module Workflow. En effet, les valeurs que nous souhaitons gérer (signataire, vérificateur, validateur et les dates associées) doivent être mises à jour :
- A chaque version du document
- A certaines étapes du circuit de validation
Il est en effet possible que le circuit de validation des documents comporte plus d’étapes que celles décrites ici (par exemple le recours à un expert pour certains documents spécifiques).
Mise en place des champs
Nous allons ajouter à notre famille documentaire des champs pour notre besoin. Je vous propose de paramétrer le champ « Vérificateur », paramétrage que vous pourrez ensuite appliquer aux autres champs.
Nous allons créer les nouveaux champs utilisateurs suivants :
Libellé | Type | Code | Taille | Oblig. | Modif. |
Vérifié par | TEXTE | VERIF_NOM | 200 | N | N |
Vérifié le | DATE | VERIF_DATE | — | N | N |
Liste des vérificateurs | TEXTE | VERIF_NOM_LISTE | 10000 | N | N |
Liste des dates de vérification | TEXTE | VERIF_DATE_LISTE | — | N | N |
Les champs simples (Vérifié le et Vérifié par) stockent le nom du vérificateur et la date de vérification pour la version courante du document. Les champs liste stockent eux ces valeurs pour les versions antérieures du document, sous forme de listes de valeurs séparées par un point-virgule.
Afin que l’affichage des versions d’un document ne reprennent pas les signataires, vérificateurs et valideurs de la version précédente, il va nous falloir vider ces champs lors d’une révision. Cela revient à tester le statut du document. En effet, si celui-ci est égal à « EN COURS » ou à « VERROUILLE« , le document n’est pas encore dans son cycle de vie, et les champs « Vérifié par » et « Vérifié le » doivent être vides. Nous allons donc déclarer ces champs comme calculés, et leur associer la formule suivante :
@ifs(@Status= »EN COURS » OR @Status= »VERROUILLE », » »,VERIF_NOM)
Celle-ci insère une valeur vide lorsque le document est aux statuts « EN COURS » ou « VERROUILLE« , et lui assigne sa propre valeur dans le cas contraire. La formule est identique pour le champ « Vérifié le« , à la valeur du code de champ près.
La formule que nous venons de saisir est valable pour les champs simples, mais pas pour les listes, il va falloir opérer autrement ; en effet, pas question de réinitialiser cette liste à chaque version, bien au contraire.
Par contre, il faudra le faire lorsqu’un utilisateur clonera le document pour en créer un autre. La formule sera alors la suivante :
@ifs(@GetProp(« VERSION »)= »0″ AND (@Status= »EN COURS » OR @Status= »VERROUILLE »), » »,VERIF_NOM_LISTE)
En plus des conditions de la formule précédente, nous vérifions que le champ commun « VERSION« , qui contient l’indice du document, n’est pas égal à « 0 » – ici la première version d’un document dans notre paramétrage.
Il ne vous reste plus qu’à répéter ce paramétrage pour les autres champs simples et champs listes. Attention, le champ Signé le existe déjà comme champ commun ; inutile de le recréer dans les champs utilsateurs.
Tout ça est bien beau me direz-vous, j’ai bien vu comment réinitialiser les champs, mais comment les remplit-on ? C’est ce que nous verrons dans le prochain article.
Répondre
Se joindre à la discussion ?Vous êtes libre de contribuer !