Articles

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
Cycle de vie du document

Cycle de vie du document

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).

Lire la suite

Paramétrer Mezzoteam pour le bureau d’études (1)

Je commence une série d’articles sur le paramétrage de Mezzoteam pour les besoins des bureaux d’études. En effet, la version 2.8 de Mezzoteam sortie en juillet dernier ajoute aux briques déjà présentes des outils de gestion de la production des documents.

Pour ce dossier, nous allons utiliser les briques suivantes :

  • Le module de gestion des documents
  • Le module de gestion des processus
  • Le module de gestion de production des fichiers

Leur paramétrage conjoint va nous permettre de répondre aux spécificités de la gestion documentaire dans les bureaux d’études, et en particulier à la gestion combinée des processus de validation et des informations résultantes à insérer sur les cartouches des plans ou les pages de garde des documents bureautiques.

Lire la suite

Version 2.6 de Mezzoteam

La version 2.6 de Mezzoteam vient de sortir. Au menu de nombreuses améliorations, principalement dans le champ de la configuration. Les principales avancées à mes yeux concernent la gestion de nouveaux types de champs qui vont permettre d’élargir encore un peu le champ d’application du moteur de gestion de formulaires de Mezzo.

  • Champ de type Annuaire : vous pouvez ajouter à tout formulaire des champs qui pourront contenir soit la référence d’un utilisateur, soit la référence d’une organisation de l’annuaire de l’espace de travail.
  • Champ de type Document : idem, mais pour le lien à des documents. Vous pourrez même choisir la vue dont vous afficherez les détails lors du choix du document (par exemple pour pouvoir limiter le choix à une famille de documents…).

Pour exploiter au mieux les informations collectées, vous avez à votre disposition des formules vous permettant de manipuler les informations des objets ainsi liés : que diriez-vous de récupérer automatiquement l’adresse d’un contact que vous avez saisi ?

[EDIT] J’ai oublié de mettre un lien vers la note de version de Mezzoteam 2.6.

Utilisation de la formule @Format

Voici quelques mois, j’avais écrit article montrant comment mettre en place un champ chrono, et à cette occasion, j’avais donné un exemple des fonctionnalités de la formule @Format. La syntaxe de cette fonction du langage MezzoScript est issue de celle disponible dans .NET, le langage de développement de Mezzoteam. Je vous propose de voir quelques exemples de paramétrage possible de cette fonction.

Syntaxe
La fonction @Format prend comme arguments un objet (qui peut être une chaîne de caractères, un nombre, une date…), une chaîne décrivant le format à appliquer, et renvoie la chaîne formattée.
@Format(object ,formatString) as stringFonctions sur les chaînes de caractères
Vous pouvez utiliser la notation {0} pour insérer une valeur variable dans une chaîne de caractères, plutôt que de recourir à l’opérateur de concaténation &. Ainsi :
@Format("premier","Mon {0} test")
retourne
Mon premier test

Fonctions sur les nombres
Pour formatter des nombres,vous avez deux tags à votre disposition : # et 0. Le premier tag renvoie le chiffre correspondant, ou rien s’il n’y en a pas. Le second renvoie le chiffre correspondant ou 0, ce qui est très pratique pour formatter les numéros d’ordre des documents. Ainsi :
@Format(123456,"00000000")
retourne
00123456

Par contre
@Format(123456,"########")
retourne
123456

Il est également possible d’utiliser ces tags pour formatter d’autres nombres, comme par exemple un numéro de téléphone (vous me direz, ils sont généralement stockés au format chaîne ;-), comme par exemple :
@Format(1234356789,"+33 (0) ### ### ###")
retourne
+33 (0) 123 456 789

Il existe également une syntaxe permettant d’alterner les représentations en fonction de la valeur (positive, négative, nulle). On peut ainsi écrire :
@format(1234,"€ #,##0.00;(€ #,##0.00);Zero")
qui retournera € 1 234,00 en passant 1234, (€ 1 234,00) en passant -1234, ou Zero en passant 0. Il est à noter que le formattage des nombres (espaces pour séparer les milliers, virgule pour les décimales) changera selon la langue choisie par l’utilisateur.

Fonctions sur les dates
Les possibilités de conversions les plus intéressantes (et les plus utiles) concernent les dates et les heures. Les plsu simples des tags permettent de récupérer la date et l’heure au format court ou long, selon les préférences de la langue de l’utilisateur. Par exemple :
@Format(maDateHeure,"D")
retourne vendredi 21 septembre 2007 si telle est le contenu de maDateHeure. Dans le même ordre d’idée, d permet de retourner une date courte (21/09/2007), t une heure courte (19:32) et T une heure longue (19:32:53) ; f combine une date longue et une heure courte, F une date longue et une heure longue ; f et G font la même chose, mais en variant la date au lieu de l’heure.

Il est également possible d’extraire une partie de la date ou de l’heure, en utilisant les tags suivants :
dd, ddd, dddd pour le jour, renvoie 21 ou ven. ou vendredi,
MM, MMM, MMMM pour le mois, renvoie 09 ou sept. ou septembre,
yy, yyyy pour l’année, renvoie 07 ou 2007.

hh pour l’heure renvoie 19,
mm pour les minutes renvoie 32,
ss pour les secondes renvoie 53.

Voilà, vous en savez déjà suffisamment pour pouvoir vous amuser ! Si vous souhaitez aller plus loin, vous pouvez vous plonger dans la documentation de .NET que vous trouverez (en anglais) sur msdn.microsoft.com. Attention tout de même, tous les types de formatages ne sont pas supportés par Mezzoteam.