Cet événement est générique, et s’applique aux objets dans les cas suivants :

  • La table principale n’a pas de champ ENAFLG (pas de circuit de validation possible).
  • On veut tracer les créations de fiche.
  • Un code utilisateur destinataire est associé au code objet concerné dans la règle d’affectation OBJCRE définie par ailleurs.

Contexte et mode de fonctionnement

Cette règle Workflow se déclenche en gestion d'objet, uniquement sur les opérations suivantes :

  Create

Elle déclenche un message.

La règle d'affectation OBJCRE (Création objet générique) est utilisée par la règle de workflow OBJCRE.

Du fait de son caractère générique, le paramétrage de l’événement est assez compliqué.

  • Le code modèle associé ne part pas la table principale de l’objet ! Ceci ne serait pas le cas d’une règle de signature « simple » lié à un objet bien déterminé (cf. les règles BPSCRE, BPSVAL, et BPSREJ qui sont beaucoup plus simples car dédiées à un objet, BPS en l’occurrence).

    En effet, comme on a besoin de tester des informations issues de la structure de l’objet et de la table, le code modèle associé à la règle d’affectation a pour table principale la table ATEXTE (une des rares tables ouvertes quel que soit le contexte). On lui lie, par un lien artificiel, la table des objets (lien 1,1). La clé de lien est ""+GABREV : en effet, GABREV est une variable globale qui permet, dans un contexte objet, de connaître le code de l’objet courant. Comme un contrôle d’existence est fait dans la table d’origine du lien si ce lien se résume à un champ, on inhibe ici le contrôle en mettant une expression résultant de la concaténation d’un champ vide et de cette variable.

    Ainsi, dans l’événement OBJCRE, on dispose en ligne de la table AOBJET (structure de l’objet), et de la table ATABLE (table principale de l’objet). Ceci permet ensuite de tester l’existence du champ ENAFLG dans le dictionnaire de la table principale.
  • On est en gestion d’objet (sans code objet précisé), en création de fiche.

Critères de déclenchement

Les critères complémentaires de déclenchement sont les suivants :

  • Le champ [ABV]ENAFLG n’existe pas (ABV étant l’abréviation de la table associée à l’objet, ce qui explique que l’on passe par une fonction evalue).
  • La règle d’affectation des destinataires doit avoir rendu une valeur ([L]USER non vide).
  • Un champ Intitulé doit exister dans la table principale de l’objet (ce pour permettre de renvoyer un intitulé dans le mail).
  • Cet intitulé ne peut pas être dépendant de la langue. De ce fait, ce Workflow ne pourra pas être utilisé pour des objets qui présentent cette particularité. Dans ce cas, on écrira une règle Workflow non générique qui sera d’ailleurs infiniment plus simple.

Destinataires

Le choix des destinataires est défini de la façon suivante :

  •  Le destinataire du message et du suivi est [L]USER (utilisateur issu de la règle d’affectation)

Message et suivi

L'exemple de message donné ci-dessous s'appuie sur la création d'une fichier tiers. Dans ce cas, l’objet du message envoyé suivrait le modèle suivant :

Fiche Tiers MARTIN créée

Pour obtenir ce modèle, on retrouve l’intitulé de l’objet en partant du champ LIBEL de la table objet. Ce champ est de type « texte dictionnaire », il faut donc utiliser la fonction AFNC.TEXTE pour avoir le texte dans la langue courante de l’utilisateur envoyant le mail. La clé courante de l’objet est donnée par la variable CLEOBJ, qui est toujours renseignée dans un contexte objet.

Le corps du message suivra alors le modèle suivant :

Désignation : MARTIN et Associés

Créé par : DOE ( John DOE )

La désignation est obtenue en évaluant le champ intitulé de la table associée à l’objet, et les variables GUSER et GNOMUSER donnent le code et le nom de l’utilisateur courant (celui qui a créé la fiche).

Le suivi réalisé ici est minimal, puisqu’il n’y a pas de processus de signature. On se contente d’envoyer une ligne dans le moniteur Workflow du même utilisateur, avec l’intitulé :

Fiche créée : Tiers MARTIN (Martin et associés)

On a ici concaténé le nom de l’objet, la clé créée, et l’intitulé entre parenthèses.

La case Suivi étant cochée, l’utilisateur pourra simplement mettre un visa sans signature pour signifier qu’il a lu la ligne en question.

Tables mises en oeuvre

Les tables suivantes sont concernées par la règle OBJCRE :

Table

Intitulé Table

AOBJET [AOB]

Objets de base

ATABLE [ATB]

Dictionnaire des tables

ATEXTE [ATX]

Messages du dictionnaire