Macros

Aperçu

Les macros suivantes peuvent être insérées dans les conditions de la transition ou dans les paramètres supplémentaires des applications de type action. Elles seront remplacées par leur valeur lors de l’exécution du processus.

Liste des macros

Macro

Balise

Valeur

Utilisateur connecté. champ *

<WF_USER_champ> *

Informations sur l’utilisateur

Utilisateur assigné. champ *

<WF_ASSIGNEE_champ> *

Informations sur l’utilisateur délégué

Demandeur. champ *

<WF_REQUESTER_champ> *

Informations sur le demandeur

Initiateur de l’action. champ *

<WF_INITIATOR_champ> *

Informations sur l’initiateur de l’action

Process. Id

<WF_PROCESS_ID>

Identifiant du processus

Process .Nom

<WF_PROCESS_NAME>

Nom du processus

Process. Description

<WF_PROCESS_DESC>

Description du processus

Process .Statut

<WF_PROCESS_STATUS>

Statut du processus

Process. FormUrl

<WF_PROCESS_FORM_URL>

URL du formulaire de processus

Process. Version

<WF_PROCESS_VERSION>

Version du processus

Action. Id

<WF_ACTIVITY_ID>

Identifiant de l’action

Action. Nom

<WF_ACTIVITY_NAME>

Nom de l’action

Action. Description

<WF_ACTIVITY_DESC>

Description de l’action

Action en cours. Id

<WF_ACTIVITY_INST_ID>

Identifiant de l’instance de l’action

Action en cours. Nom

<WF_ACTIVITY_INST_NAME>

Nom de l’instance de l’action

Action en cours. Date de création

<WF_ACTIVITY_INST_CREATION_DATETIME>

Date de création de l’action

Action en cours. Délai

<WF_ACTIVITY_INST_LIMIT_DATETIME>

Délai de réalisation de l’action

Action en cours. Jours pré-retard

<WF_ACTIVITY_INST_PREOVERDUE_DAYS>

Nombre de jours avant que l’action devienne en retard, arrondi vers le haut au jour le plus proche

Action en cours. Heures pré-retard

<WF_ACTIVITY_INST_PREOVERDUE_HOURS>

Nombre d’heures avant que l’action devienne en retard, arrondi vers le haut à l’heure la plus proche

Action en cours. Minutes pré-retard

<WF_ACTIVITY_INST_PREOVERDUE_MINUTES>

Nombre de minutes avant que l’action devienne en retard, arrondi vers le haut à la minute la plus proche

Action en cours. Secondes pré-retard

<WF_ACTIVITY_INST_PREOVERDUE_SECONDS>

Nombre de secondes avant que l’action devienne en retard, arrondi vers le haut à la seconde la plus proche

Action en cours. Jours en retard

<WF_ACTIVITY_INST_OVERDUE_DAYS>

Nombre de jours que l’action est en retard, arrondi vers le bas au jour le plus proche

Action en cours. Heures en retard

<WF_ACTIVITY_INST_OVERDUE_DAYS>

Nombre d’heures que l’action est en retard, arrondi vers le bas à l’heure la plus proche

Action en cours. Minutes en retard

<WF_ACTIVITY_INST_OVERDUE_MINUTES>

Nombre de minutes que l’action est en retard, arrondi vers le bas à la minute la plus proche

Action en cours. Secondes en retard

<WF_ACTIVITY_INST_OVERDUE_SECONDS>

Nombre de secondes que l’action est en retard, arrondi vers le bas à la seconde la plus proche

Action en cours. Compteur

<WF_ACTIVITY_INST_COUNT>

Nombre d’instances complétées de l’action en cours

Action en cours. Compteur de boucle directe

<WF_ACTIVITY_INST_DIRECT_LOOP_COUNT>

Nombre d'instances complétées en boucle directe de l’action en cours

Demande. Id

<WF_PROCESS_INST_ID>

Identifiant de la demande (instance du processus)

Demande. Id relatif

<WF_PROCESS_INST_RELATIVE_ID>

Identifiant relatif de la demande

Demande. Id relatif mensuel

<WF_PROCESS_INST_MONTH_RELATIVE_ID>

Identifiant mensuel relatif de la demande

Demande. Id relatif annuel

<WF_PROCESS_INST_YEAR_RELATIVE_ID>

Identifiant annuel relatif de la demande

Demande. Nom

<WF_PROCESS_INST_NAME>

Nom de la demande (instance du processus)

Demande. Date de création

<WF_PROCESS_INST_CREATION_DATETIME>

Date de création de la demande (instance du processus)

Demande. Délai

<WF_PROCESS_INST_LIMIT_DATETIME>

Délai de réalisation de la demande (instance du processus)

Action. Participant.Nom

<WF_PARTICIPANT_NAME>

Nom du participant de l’action

Système. Date

<WF_SYSTEM_DATE>

Date système

Système. Date/heure

<WF_SYSTEM_DATETIME>

Date/heure système

Système. Heure

<WF_SYSTEM_TIME>

Heure système

Système. Langue

<WF_SYSTEM_LANGUAGE>

Langue système de l’utilisateur

Système. Null

<WF_SYSTEM_NULL>

Autorise le concepteur du processus à réinitialiser à null la valeur d’un champ d’un formulaire PDF

Système. ApplicationBase Url

<WF_SYSTEM_APPLICATION_BASE_URL>

Renvoie l'URL racine de l'application (p.ex. http://[servername])

Système. ApplicationUrl

<WF_SYSTEM_APPLICATION_URL>

Renvoie l'URL de l'application WorkflowGen (p.ex. http://[servername]/wfgen)

Système. ApplicationPortal ScriptUrl

<WF_SYSTEM_APPLICATION_PORTAL_SCRIPT_URL>

Renvoie l'URL de la page du portail de l'application WorkflowGen (p.ex. http://[servername]/wfgen/show.aspx)

Système. ApplicationConfigPath

<WF_SYSTEM_APPLICATION_CONFIG_PATH>

Renvoie le chemin physique vers le web.config WorkflowGen (p.ex. C:\inetpub\wwwroot\wfgen\web.config)

Système.

ApplicationDataPath

<WF_SYSTEM_APPLICATION_DATA_PATH>

Renvoie le chemin physique du dossier de données d'application (p.ex. C:\inetpub\wwwroot\wfgen\app_data)

Système. Guid

<WF_SYSTEM_GUID>

Identificateur global unique (GUID) généré par le système

⚠️ Important : Le GUID généré sera le même lorsqu'il sera utilisé dans les paramètres d'action standard, sauf si l'option de script est activée. Dans ce cas, chaque expression aura un GUID unique.

Parent. Nom du process

<WF_PARENT_PROCESS_NAME>

Retourne le nom du processus parent dans une action de sous-processus

Parent.

Version du process

<WF_PARENT_PROCESS_VERSION>

Retourne la version du processus parent dans une action de sous-processus

Parent.

Identifiant de la demande

<WF_PARENT_PROCESS_INST_ID>

Retourne l'identifiant de la demande parent dans une action de sous-processus

Parent.

Identifiant de l'activité

<WF_PARENT_ACTIVITY_INST_ID>

Retourne l'identifiant de l'action parent dans une action de sous-processus

Paramètres de l'application de configuration Web

<WF_APP_SETTING_nom>

* champ : Voir le tableau suivant.

Suffixes des macros utilisateurs

Champ

Description

LASTNAME

Nom

FIRSTNAME

Prénom

USERNAME

Nom d’utilisateur

MANAGER

Nom d'utilisateur du gestionnaire

MANAGER_LASTNAME

Nom du gestionnaire

MANAGER_FIRSTNAME

Prénom du gestionnaire

EMAIL

Adresse email

PHONE

Numéro de téléphone

MOBILE

Numéro de téléphone mobile

PAGER

Numéro de pager

FAX

Numéro de fax

OFFICE

Numéro de bureau

DEPARTMENT

Département

COMPANY

Société

JOBTITLE

Fonction

INITIALS

Initiales

TITLE

Titre

EMPLOYEENUMBER

Numéro d’employé

EMPLOYEETYPE

Type d’employé

POSTALADDRESS

Adresse

ZIPCODE

Code postal

CITY

Ville

STATE

État/Région

COUNTRY

Pays

OBJECTSID

SID

EXTATT1

Attribut étendu 1

EXTATT2

Attribut étendu 2

EXTATT3

Attribut étendu 3

EXTATT4

Attribut étendu 4

EXTATT5

Attribut étendu 5

Utilisation des macros

Vous pouvez utiliser les macros dans les transitions et les conditions des notifications supplémentaires ou dans les paramètres des actions. Pour envoyer la valeur de la macro dans la valeur du paramètre, sélectionnez une macro dans la liste ou concaténez des codes de macros dans une valeur texte.

📌 Exemple 1

Si vous voulez envoyer le nom d’utilisateur (username) du demandeur dans le champ REQUESTER_USERNAME de l’action, vous devez ajouter un paramètre supplémentaire avec les propriétés ci-dessous :

  • Nom du paramètre : REQUESTER_USERNAME

  • Envoyer la valeur d’une macro : Requester.Username

📌 Exemple 2

Si vous voulez envoyer le nom et le prénom du demandeur dans le champ REQUESTER_NAME de l’action avec une espace entre les deux, vous devez ajouter un paramètre supplémentaire avec les propriétés ci-dessous :

  • Nom du paramètre : REQUESTER_NAME

  • Envoyer la valeur d’un texte : <WF_REQUESTER_FIRSTNAME> <WF_REQUESTER_LASTNAME>

Macros des données de type fichier

Accès aux propriétés du fichier

Dans la transition ou les conditions de notification, vous pouvez utiliser les macros suivantes sur les données de processus de type fichier pour accéder aux propriétés du fichier.

Champ

Type

Description

FILENAME

TEXT

Nom du fichier

SIZE

NUMERIC

Taille du fichier en kilooctets

CONTENTTYPE

TEXT

Type de contenu du fichier

DESCRIPTION

TEXT

Description du fichier

DATELASTMODIFIED

DATETIME

Date de la dernière modification du fichier

Exemples de syntaxe

Considérant une donnée de type fichier appelée MON_FICHIER.

📌 Exemple 1

  • Règle : Vérifier si le nom du fichier contient le mot clé rapport

    • Méthode : InStr(1,<MON_FICHIER.FILENAME>,"rapport",1) <> 0

📌 Example 2

  • Règle : Vérifier si la taille du fichier est inférieure à 1 Mo

    • Méthode : <MON_FICHIER.SIZE> < 1024

📌 Exemple 3

  • Règle : Vérifier si le fichier est un document MS Word :

    • Méthode : <MON_FICHIER.CONTENTTYPE> = "application/msword"

📌 Exemple 4

  • Règle : Vérifier si le fichier a été modifié aujourd’hui :

    • Méthode : <MON_FICHIER.DATELASTMODIFIED> > [Date]

Vérification de l’existence d’un fichier

Vous pouvez également utiliser le nom de la donnée pour vérifier si le fichier existe dans le processus en utilisant la fonction IsNull().

📌 Exemple

Considérant que la donnée de type fichier appelée MON_FICHIER, vous pouvez utiliser la syntaxe ci-dessous dans une condition pour vérifier si le fichier existe :

IsNull(<MON_FICHIER>)

Exemples de macros

Le tableau suivant montre des exemples des macros énumérées ci-dessus.

Macro

Exemple

Utilisateur connecté.champ

<WF_USER_FIRSTNAME> <WF_USER_DEPARTMENT> donnera "John Accounting"

Utilisateur assigné.champ

<WF_ASSIGNEE_EMPLOYEENUMBER> <WF_ASSIGNEE_EMPLOYEETYPE> donnera "11225 Permanent"

Demandeur.champ

<WF_REQUESTER_COMPANY>

<WF_REQUESTER_LASTNAME> donnera "My company Smith"

Initiateur de l’action.champ

<WF_INITIATOR_FIRSTNAME>

<WF_INITIATOR_LASTNAME> donnera "John Smith"

Process.Id

12

Process.Nom

"APPROBATION_SIMPLE"

Process.Description

"Approbation simple"

Process.Statut

"ACTIVE"

Process.FormUrl

"http://mycompany.com/wfgen/wfapps/webforms/MACRO_TEST_2/V1/Default.aspx"

Process.Version

1

Action.Id

2

Action.Nom

"INITIATES"

Action.Description

"Le demandeur lance la demande"

Action en cours.Id

2

Action en cours.Nom

"2-VALIDATES"

Action en cours.Date de création

2019-04-20T20:23:07Z

Action en cours.Délai

2019-04-30-T20:25:25:46Z

Action en cours.Compteur

2

Demande.Id

1701

Demande.Id relatif

12

Demande.Id relatif mensuel

12

Demande.Id relatif annuel

12

Demande.Nom

"2_LEVELS_APPROVAL #1795"

Demande.Date de création

2019-04-20T20:35:00Z

Demande.Délai

2019-04-30T09:00:00Z

Action.Participant nom

"Jean"

Système.Date

4/20/2019

Système.Date/heure

4/20/2019 2:44 PM

Système.Heure

1:44 PM

Système.Langue

"en-US"

Système.Null

<NULL>

Application.BaseUrl

http://myserver.com

Macros de paramètres d'application de configuration Web

Cette fonctionnalité permet de simplifier le déploiement des processus métiers dans un environnement WorkflowGen multi-instance en vous permettant de définir des données communes ou des données spécifiques à une instance en tant que paire clé-valeur pouvant être utilisée dans votre processus au moyen d'une macro dans les paramètres d'action, dans des conditions de transition pour contrôler le flux et dans des notifications d’action au lieu de coder en dur ces données dans la définition du processus.

Vous pouvez créer vos propres macros en définissant des paramètres d'application personnalisés dans le fichier de configuration Web de WorkflowGen.

Vous devez utiliser le paramètre de configuration EngineMacroAppSettings pour définir vos macros personnalisées. Vous pouvez spécifier le nom de clé exact ou utiliser un préfixe suivi de * (astérisque), comme indiqué dans l'exemple ci-dessous, qui ajoute les trois macros personnalisées (<WF_APP_SETTING_MySecretKey1>, <WF_APP_SETTING_MySecretKey2> et <WF_APP_SETTING_MySecretKey3>).

📌 Exemple

Les macros <WF_APP_SETTING_MySecretKey1>, <WF_APP_SETTING_MySecretKey2> et <WF_APP_SETTING_MySecretKey3> seront disponibles au moment du design et de l'exécution (runtime) avec le paramétrage de l'application ci-dessous dans le web.config :

<configuration>
  <appSettings>
    <add key="MySecretKey1" value="4n(#N$HT0$Bohv!" />
    <add key="MySecretKey2" value="9et9tzV{Hnn]EsDE" />
    <add key="MySecretKey3" value="e#8BHvXa8N*LvFaY" />
    <add key="EngineMacroAppSettings" value="MySecretKey1, MySecret*" />
  </appSettings>
</configuration>