Utilitzation des expressions dans une configuration de flux te travial

Prev Next

Les expressions sont des formules ou des extraits de code qui effectuent des calculs, manipulent des données ou automatisent des tâches au sein d'un processus de travail. Elles sont écrites dans des langages tels que Visual Basic for Applications (VBA) et .NET, et peuvent inclure des personnalisations spécifiques à DocuWare.

L'intégration d'expressions dans un processus de travail documentaire vous permet de générer dynamiquement des valeurs, de valider des données ou de créer une logique conditionnelle basée sur le contenu des documents, rendant ainsi le traitement plus sophistiqué et automatisé.

Utilisation de la boîte de dialogue des expressions

Dans le Workflow Designer de DocuWare, une boîte de dialogue spécifique est disponible pour l'utilisation des expressions arithmétiques.

Cette boîte de dialogue est disponible, entre autres, dans les activités Assigner des données (en anglais) ou Conditions.

Dans l'activité Assigner des données, par exemple

  1. Accédez à Première assignation et définissez le Type de destination et l'Entrée de destination.

  2. Définissez le Type de source sur Expression et cliquez sur le lien Écrire une expression :

  1. Pour ajouter une variable à une expression, sélectionnez l'onglet correspondant au groupe de variables souhaité :

    • Variables système

    • Variables globales

    • Tables d'index

  2. Cliquez sur la variable ou le champ pour l'ajouter à l'expression.

Les onglets et les variables disponibles varient en fonction de la fonctionnalité utilisée ou des paramètres de l'activité concernée.

Alignement de tables avec des expressions

Comparez différentes sources de tables à l'aide d'expressions. Cela permet d'éliminer les erreurs potentielles lors de la numérisation de factures ou d'autres documents.

Exemples :

  • Les expressions suivantes comparent deux chaînes de caractères et estiment leur similarité :

    • Peter Peterson _~ Peter Pitersen = 93%

    • S523-A336MS ~ S523-A336M5 = 95%

  • Ces expressions modifient une chaîne de caractères selon un modèle :

    • Supprimer tous les chiffres d'une chaîne de caractères selon un modèle
      \d:Something123Anything => SomethingAnything

    • Diviser une chaîne de caractères d'entrée selon le modèle suivant :
      \d+:Something123Anything => Something, Anything

  • Vérifier si une chaîne de caractères correspond au modèle :

    • [A-Z0-9]\d{3}-\d{3}:
      A123-456 => true

Utilisation des expressions dans les tables d'index DocuWare

Vous pouvez utiliser les valeurs des tables d'index dans les expressions. Si vous accédez à une valeur d'une colonne de la même table d'index que celle que vous souhaitez modifier, vous obtiendrez exactement une valeur, à savoir la valeur de la même ligne. Pour ce faire, sélectionnez la colonne dans l'onglet « Cellules de <Nom de la table> ».

En revanche, si vous accédez à une colonne d'une table d'index d'une autre table, vous obtiendrez une liste de toutes les valeurs de cette colonne. Pour ce faire, sélectionnez la colonne dans l'onglet Colonnes de table.

Il est possible de lire la valeur d'une autre colonne de la même table, de la transformer par une expression si nécessaire, puis de l'écrire dans la colonne de destination. Pour plus d'informations, consultez Modification des valeurs de colonnes individuelles.

Insertion de la colonne système « Numéro de ligne »

La colonne DocuWare « SYS_ROW_NUMBER » renvoie le numéro de la ligne correspondante d'une table d'index, que vous pouvez utiliser pour concaténer des valeurs, effectuer des calculs ou récupérer une valeur d'une autre table dans la même ligne. La première ligne d'une table est toujours considérée comme la ligne numéro « 1 ».

Cela est particulièrement important si vous travaillez avec un indexeur pour déterminer une ligne, car dans ce cas, le comptage commence à 0.

Cependant, si vous utilisez la colonne système « SYS_ROW_NUMBER », le comptage commence à 1. Pour obtenir la même ligne, vous devez donc soustraire 1 > « ...[SYS_ROW_NUMBER]-1 ».

Par exemple :

Vous modifiez une table appelée « Example » (nom interne « EXAMPLE ») et vous souhaitez insérer des valeurs d'une autre table appelée « New Items » (nom interne « NEW_ITEMS ») dans la colonne « Name ». Les valeurs recherchées se trouvent dans la colonne « New Name » (nom interne « NEW_I_NAME »).

Vous utilisez un indexeur pour déterminer les valeurs et la colonne système « SYS_ROW_NUMBER » pour assigner les valeurs.

Normalement, vous définissez l'expression arithmétique suivante pour la colonne de destination :

DW_NEW_ITEMS[NEW_I_NAME](X)

Cela renvoie la valeur de la colonne « New Name » de la table « New Items » dans la ligne spécifiée. « X » indique quelle entrée de la liste vous souhaitez renvoyer. Étant donné que l'indexeur commence à 0, « 0 » désigne par exemple la première ligne.

Vous avez maintenant besoin de la valeur de la même ligne dans la table source pour les champs de la table de destination. Par conséquent, vous n'utilisez pas de valeur fixe pour l'indexeur, mais la nouvelle colonne système « SYS_ROW_NUMBER ».

Le problème est que si vous utilisez uniquement la colonne système « SYS_ROW_NUMBER », vous n'obtiendrez pas immédiatement la ligne souhaitée :

DW_NEW_ITEMS[NEW_I_NAME](DW_EXAMPLE[SYS_ROW_NUMBER])

Cette expression renvoie la valeur de la ligne suivante dans la colonne « New Name » de la table « New Items ». Cela signifie que si, par exemple, la première ligne de la table « Line Items » est traitée, la valeur de la deuxième ligne de la table « New Items » est renvoyée.

En effet, « [SYS_ROW_NUMBER] » renvoie la valeur « 1 » et l'expression effective devient alors DW_NEW_ITEMS[NEW_I_NAME](1).

Pour obtenir la valeur correcte de la même ligne, vous devez soustraire 1 à la colonne système « SYS_ROW_NUMBER ».

DW_NEW_ITEMS[NEW_I_NAME]((DW_EXAMPLE [SYS_ROW_NUMBER]-1))

Sys Row

Cela renvoie la valeur de la même ligne dans la colonne « New Name » de la table « New Items ».

Cela signifie que si, par exemple, la première ligne de la table « Example » est traitée, la valeur de la première ligne de la table « New Items » est renvoyée.

En effet, « [SYS_ROW_NUMBER]-1 » renvoie la valeur « 0 » et l'expression effective devient alors DW_NEW_ITEMS[NEW_I_NAME](0).

Versions prises en charge : DocuWare Cloud