Avec cette activité, un workflow lit des données directement à partir d'une source et les écrit dans une destination définie. Cela signifie que des étapes automatiques ne nécessitant aucune action de la part de l'utilisateur peuvent être exécutées.
Donnez un nom à l'activité, par exemple « Données sur les factures récurrentes ».
Dans la zone centrale de cette boîte de dialogue, vous verrez chaque affectation de destination ajoutée sur une ligne distincte. Il y a deux colonnes sur la gauche, Type de destination et Champ/variable, pour la destination des données, et deux colonnes à droite, Type d'entrée et Entrée, pour la source de données.
Dès qu'une affectation de données est ajoutée, les options de sélection pour le type de destination s'affichent.
Type de destination / Champ / Variable
La destination est le résultat de la combinaison de Type de destination et Champ/variable. Voir l'aperçu suivant pour plus de détails sur quels Types de destinations sont disponibles avec quels Champs/variables.
Destination type | Field/Variable | Significance |
Fill area on the document | The fill areas of forms that have been created in the template designer of DocuWare Forms are displayed. | Workflow activity writes the value to the form. If the fill area is linked to a form field, any existing values will be overwritten. |
Document index data | The index fields of the document are displayed in the workflow. | Workflow activity indexes the document in the workflow or changes its index data. |
Workflow global variable | The names of the variables that you have created in the Workflow Designer are displayed, e.g. Invoice number | Workflow activity populates values into a global variable that can then be used in multiple workflow steps. |
File cabinet | Open the dialog to select any file cabinet and index field. Documents can be specified via SQL. | Indexes a document in the workflow or changes its index data. Only one index field can be changed per data assignment. |
Index table – multiple columns | The index tables of the current workflow document are displayed. | Adds to the content of an index table in the current workflow document or replaces it completely or column by column. |
Index table – single column | The columns of the index tables in the current workflow document are displayed. | The workflow activity adds to an index table column in the current workflow document or replaces it completely or row by row. |
Seuls les types de champs compatibles seront affichés lors de l'affectation de données entre les variables de workflow et les champs d'indexation d'une armoire. Par exemple, vous ne pourrez assigner qu'une variable numérique à un champ d'indexation numérique. Si, lors de l'affectation des données, vous souhaitez les convertir en un autre type, vous pouvez utiliser les fonctions VBA suivantes : CDate, CDec, CInt, CStr. Si vous souhaitez utiliser les fonctions VBA, veuillez également consulter les informations sur l'Analyseur d'expressions de workflow.
Type d'entrée / Entrée
Choisissez un type d'entrée dans la liste déroulante pour spécifier la source de données. Reportez-vous à la vue d'ensemble des sources de données pour savoir quels types de saisie sont disponibles avec quelles entrées.
Entry type | Entry | Significance |
Fixed entry | Text | The workflow activity writes the entered value to the destination. |
Workflow | The names of the workflow system variables are displayed, e.g. the last decision maker | Writes a value from a system variable to the destination |
Workflow global variable | The names of the variables that you have created in the Workflow Designer are displayed, e.g. Invoice number | Writes a value from a global variable to the destination |
Arithmetic expression | Open the dialog to specify an arithmetic expression. | Writes a user-specific value to the destination, e.g. a combination of different variables |
Document index entry | Index fields of the file cabinet linked to the current workflow | Writes index data from the current workflow document to the destination |
Locale data connection (cloud) | Open the dialog for specifying the database and table of external data | Writes data from an external source to the destination. For DocuWare On-premises, the entry type is External data; for DocuWare Cloud, it is Local data connection. |
File cabinet | Dialog for selecting any file cabinet, index field, or document | The workflow activity writes index data from the selected file cabinet to the destination, for example to index tables: Match the line items of an index table with entries of a file cabinet or transfer values from data records and documents of the file cabinet. |
Index table | Open the dialog to specify an index table of the current workflow document. | Writes data from an index table to the destination. Only available for the index table destination type. |
Notez également les informations concernant la Comparaison de variables dans des conditions.
Indexer automatiquement les données des tableaux
Vous pouvez remplir ou modifier automatiquement la tableau d'index à partir d'un document, par exemple pour la facturation périodique ou le formatage automatique de données existantes.
Le document source des données peut se trouver dans la même armoire, dans une autre armoire ou dans une source de données externe. Vous vous connectez à la source de données externe par l'intermédiaire de la fonctiondonnées externes (DocuWare On-premises), ou par l'intermédiaire le type d'entrée connexion locale de données (DocuWare Cloud).
Transfert intégral d'un tableau source
Pour transférer intégralement les données d'une tableau d'index à une autre, sélectionnez l'optionTableau d'index > Colonnes multiplescomme destination de l'affectation des données.
SiRemplacer est activée pour l'affectation des données, toutes les lignes existantes dans la tableau de destination seront supprimées et remplacées par de nouvelles lignes. Dans le cas contraire, les lignes sont ajoutées en tant que nouvelles lignes (voir également les étapes 5 et 6). La procédure est la même pour les deux options :
Sélectionnez la tableau d'index vers laquelle vous souhaitez transférer les données comme destination et le boutonTableau d'index comme source.
Configurez maintenant la source en cliquant sur le boutonModifier sur le côté droit.
Sélectionnez l'armoire et la tableau d'index. Dans le champ ci-dessous, spécifiez un filtre si nécessaire en appliquant une clause WHERE pour réduire les entrées de la source.
À l'onglet Lignes activez l'option Appliquer toutes les lignes dans un ordre fixe .
À l'onglet Colonnes assignez chaque colonne de la source à une colonne de la source du tableau de destination.
Si l'option Remplacer n'est pas activée pour l'affectation, les données du tableau source seront ajoutées au tableau de destination (voir également le point 6).
Si, en revanche, l'option Remplacer est activée pour l'affectation, les données du tableau de destination seront remplacées par les données du tableau source (voir point 6) :
Dans l'exemple suivant, toutes les colonnes sont affectées au tableau de destination, mais certaines colonnes de la source sont vides. Dans la destination, les colonnes vides sont également transférées et les données existantes sont supprimées.
Si une seule colonne de la destination et de la colonne est affectée, les colonnes non affectées de la destination seront effacées :
Par conséquent, lorsque vous transférez une ou plusieurs colonnes du tableau source, utilisez la commande Compiler avec un code de correspondance pour éviter la perte de données - voir le point suivant.Terminez la configuration avec OK. Dans la dernière étape, vous indiquez si vous voulez remplacer les lignes existantes dans la tableau de destination.
Le filtre de ligne n'est pas disponible dans ce cas, car toutes les valeurs sont transférées.
Transfert de valeurs individuelles à partir du tableau source
La destination est la même que dans l'étape précédente Tableau d'index > Colonnes multiples. Cette fois, cependant, vous sélectionnez spécifiquement des valeurs individuelles en attachant des conditions au transfert.
L'option Remplacer est toujours activée pour la compilation des colonnes par code de correspondance.
Sélectionnez le tableau d'index vers laquelle vous souhaitez transférer les données comme destination et le Tableau d'index comme source.
Configurez maintenant la source en cliquant sur le bouton Modifier sur le côté droit.
Sélectionnez l'armoire et la tableau d'index. Dans le champ ci-dessous, spécifiez un filtre en appliquant une clause WHERE pour réduire les entrées source.
À l'onglet Lignes activez l'option Compiler les lignes par code de correspondance. Saisissez ensuite un ou plusieurs critères :
Par exemple :
la colonne de destination « Numéro de l'article » est égale à la colonne source « Numéro de l'article »
Ce qui signifie que : Si le numéro d'article de la destination et de la source est le même, les valeurs des colonnes spécifiées dans l'onglet "Colonnes" seront transférées.Indiquez un ordre de tri, car la première correspondance sera utilisée s'il y a plusieurs correspondances. Par exemple, si le numéro d'article est dupliqué dans la source, le tableau sera trié selon l'ordre spécifié ici et l'entrée sera transférée à partir de celui-ci.
À l'onglet Colonnes , affectez au moins une colonne du tableau source à une colonne du tableau de destination.
Les colonnes utilisées dans les critères du code de correspondance ne peuvent pas être affectées ici.
Contrairement au transfert effectué sans utiliser le code de correspondance, les valeurs des colonnes de destination non affectées restent cette fois inchangées. Ceci est illustré par les exemples suivants :Le code de correspondance est « l'identifiant de la colonne est égal à l'identifiant de la colonne ». Une colonne est affectée, une colonne de la destination est remplacée.
Dans l'exemple suivant, deux colonnes sont affectées. Cela remplace deux colonnes dans la destination et les autres colonnes de la destination restent inchangées :
Toutes les colonnes sont affectées, certaines colonnes de la source sont vides - les colonnes correspondantes sont également vidées dans la destination :
Une colonne est affectée, un filtre est utilisé pour sélectionner les lignes 1 et 3 pour le transfert - pour plus d'informations sur le filtrage, voir le point 8.Terminez la configuration de la source avec OK.
Utilisez des filtres pour limiter les lignes auxquelles les valeurs doivent être transférées. Pour ce faire, sélectionnez l'optionNe répéter que les lignes présentant ces conditions dans la boîte de dialogue du filtre. Cette option ne modifie que les lignes auxquelles s'appliquent les critères que vous avez définies dans la zone Déclencheur.
Remarque : comme vous accédez aux valeurs des colonnes du tableau de destination dans le filtre, vous pouvez spécifier, par exemple, que la colonne « Taxe de vente » n'est remplie que si la colonne « Taux de taxe » ne contient pas « 0 % ».
Vous pouvez également filtrer par la colonne système Numéro de ligne . Il est ainsi plus facile de modifier les valeurs uniquement dans les lignes souhaitées.
Traitement des valeurs NULL lors de la correspondance : Lorsque vous affectez des données de tableau par code de correspondance, ligne par ligne, les valeurs NULL dans les colonnes de correspondance spécifiées des deux côtés (destination et source) sont ignorées. Cela signifie que l'affectation de ces lignes sera ignorée.
Modification des valeurs d'une seule colonne
Utilisez l'option Tableau d'indexation - une seule colonne pour copier les données d'un tableau source dans cette colonne ou pour les remplacer. Les étapes sont les mêmes que dans Colonnes multiples à la différence près que vous sélectionnez la colonne du tableau directement dans la première étape, ce qui vous permet d'économiser une étape.
En outre, vous pouvez utiliser l'option « Colonne unique » pour écrire des valeurs spécifiques dans la colonne d'un tableau d'index du document dans le workflow. Les options suivantes sont disponibles à cet effet :
Une entrée fixe
Une valeur dérivée d'une expression arithmétique (voir aussi Expression arithmétique)
Une entrée de l'index du même document
Si vous utilisez une expression arithmétique, vous pouvez même sélectionner des cellules de colonnes de la même tableau d'index. Reliez l'expression arithmétique à la colonne du tableau « Numéro de ligne » (SYS_ROW_NUMBER), par exemple pour combiner le numéro de ligne et la description de l'article :
Notes complémentaires sur l'affectation des données aux tableaux d'index :
Définir des conditions à l'aide d'expressions: Si vous souhaitez faire correspondre des valeurs qui doivent être traitées en premier, vous pouvez également spécifier les conditions de correspondance des données dans les tableaux avec des expressions arithmétiques - par exemple, pour extraire certains caractères ou pour les concaténer avec des entrées fixes ou différentes valeurs d'index/colonne.
L'expression arithmétique doit être renvoyée sous la forme « true » ou « false » (booléen), à l'instar des conditions « if/else ». Si la valeur renvoyée est « true », la condition est remplie ; « false » ne l'est pas.
Calculer automatiquement les valeurs des correspondances multiples: combinez les deux options Traiter toutes les lignes correspondantes et Ajouter de nouvelles valeurs aux valeurs existantes (dans le dialogue Attribuer des donnéessuivant) pour calculer automatiquement les valeurs des colonnes décimales des correspondances multiples lors de l'affectation des données.
Par exemple, vous pouvez l'utiliser pour déterminer la quantité d'un article qui n'a pas été livré en une seule fois et qui est donc présent sur plusieurs bons de livraison. Après avoir affecté le montant total, vous pouvez effectuer un correspondance à 2/3 facteurs.
Base de données externe comme source de données
Si vous souhaitez que les données externes soient lues dans la base de données afin de les utiliser dans votre processus de travail, vous pouvez sélectionner les paramètres correspondants ici.
Base de données
Configuration de la base de données
Dans la liste déroulante, sélectionnez la base de données source que vous voulez utiliser.
Tableau
Dans la liste déroulante, sélectionnez le tableau que vous voulez utiliser.
Colonne
Dans la liste déroulante, sélectionnez la colonne que vous voulez utiliser.
Pour permettre une synchronisation rapide des données entre le cloud et les systèmes sur place, installez le Local Data Connector dans votre système cloud. Vous pouvez procéder à l'installation si les DocuWare Desktop Apps ont été installées depuis une organisation cloud. Sur les systèmes sur site, Local Data Connector n'est pas disponible. Dans la boîte de dialogue Données externes, le Local Data Connector vous permet de sélectionner une connexion de base de données locale.
Sélectionner la commande
Clause WHERE
Modifiez les commandes SQL dans l'éditeur.
Si le tri ne prend pas en charge certains caractères dans une requête de base de données, procédez comme suit : Dans la vue, évitez la valeur saisie avec le paramètre N. Vous pouvez également enregistrer la valeur dans une variable et utiliser cette variable dans la requête, auquel cas le paramètre N sera ajouté automatiquement.
Opérateurs
Pour ajouter un opérateur à une commande, cliquez sur l'opérateur avec le bouton droit de la souris.
Variables
Pour ajouter une variable à une commande, sélectionnez d'abord l'onglet pour le groupe de variables que vous souhaitez utiliser : Variables système, variables globales ou champs du tableau. Cliquez sur la variable ou le champ que vous souhaitez ajouter à l'onglet. Les options du champ du tableau varient en fonction des paramètres que vous avez définis dans Base de données > Tableau ou Colonne.
Aperçu de la commande SQL
Affiche la commande créée.
Armoire comme source de données :
Si vous avez sélectionné Armoire électronique pour le type d'entrée de l'attribution de données, vous pouvez définir les paramètres correspondants ici.
Armoire électronique
Sélectionnez l'armoire électronique dans la liste déroulante.
Field
Sélectionnez le champ voulu dans la liste déroulante.
Sélectionner la commande
Clause WHERE
Modifiez les commandes SQL dans l'éditeur.
Si le tri ne prend pas en charge certains caractères dans une requête de base de données, procédez comme suit : Dans la vue, évitez la valeur saisie avec le paramètre N. Vous pouvez également enregistrer la valeur dans une variable et utiliser cette variable dans la requête, auquel cas le paramètre N sera ajouté automatiquement.
Opérateurs
Pour ajouter un opérateur à une commande, cliquez sur l'opérateur avec le bouton droit de la souris.
Variables
Pour ajouter une variable à une commande, sélectionnez d'abord l'onglet pour le groupe de variables que vous souhaitez utiliser : Variables système, variables globales ou champs d'index. Cliquez sur la variable ou le champ que vous souhaitez ajouter à l'onglet. Les options du champ d'index disponibles varient en fonction des paramètres que vous avez définis dans Armoire électronique.
Aperçu de la commande SQL
Affiche la commande créée.
Expression arithmétique
Les expressions arithmétiques sont des expressions issues de Visual Basic for Applications (VBA) et de .NET, ainsi que des personnalisations spécifiques d'expressions DocuWare. Pour plus d'informations sur les capacités des expressions arithmétiques, reportez-vous aux notes sur la page d'accueil de l'application Analyseur d'expressions de workflow.
Une boîte de dialogue distincte est disponible pour l'utilisation des expressions arithmétiques. Cette boîte de dialogue se compose d'un éditeur sur la gauche et des opérateurs et variables à sélectionner sur la droite.
Pour ajouter une variable à une expression arithmétique, sélectionnez d'abord l'onglet correspondant au groupe de variables souhaité :Variables du système, Variables globales, Tableaux d'index, or Champs de formulaire. Cliquez sur la variable ou le champ de votre choix dans l'onglet.
Les onglets et les variables à votre disposition varient selon la fonction utilisée ou les paramètres de l'activité concernée.
Alignez différentes sources de tableaux sur la base d'expressions arithmétiques. Cela vous permet d'éliminer les sources d'erreurs lors de la numérisation de factures ou d'autres documents.
Exemples:
Les expressions suivantes comparent deux chaînes de caractères et évaluent leur similarité :
Peter Peterson _~ Peter Pitersen = 93%
S523-A336MS ~ S523-A336M5 = 95%
Ces expressions modifient une chaîne de caractères en fonction d'un motif :
Supprimer tous les chiffres d'une chaîne de caractères en fonction d'un motif
\d:UneChose123AutreChose => UneChoseAutreChoseFractionnez une chaîne d'entrée en utilisant le modèle suivant :
\d:UneChose123AutreChose => UneChose, AutreChose
Vérifier si une chaîne de caractères correspond au motif :
[A-Z0-9]\d{3}-\d{3}:
A123-456 => true
Utilisation d'expressions arithmétiques en conjonction avec des tableaux d'index
Vous pouvez utiliser les valeurs des tableaux d'index dans les expressions arithmétiques. Si vous accédez à une valeur d'une colonne du même tableau 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 « <Table name> cellules ».
En revanche, si vous accédez à une colonne d'un tableau d'index d'un autre tableau, vous obtiendrez une liste de toutes les valeurs de cette colonne. Pour ce faire, sélectionnez la colonne dans l'onglet Colonnes du tableau.
Il est possible de lire la valeur d'une autre colonne du même tableau, de la transformer par une expression arithmétique si nécessaire, puis de l'écrire dans la colonne de destination. Pour plus d'informations, voir Modification des valeurs d'une seule colonne.
Insertion de la colonne système « Numéro de ligne »
Dans les expressions arithmétiques, vous pouvez utiliser la colonne système « SYS_ROW_NUMBER ». « SYS_ROW_NUMBER » renvoie le numéro de la ligne correspondante d'une tableau d'index, que vous pouvez utiliser pour concaténer des valeurs, effectuer des calculs ou récupérer une valeur d'une autre tableau dans la même ligne. La première ligne d'une tableau est toujours considérée comme le numéro de ligne « 1 ».
Ceci est particulièrement important si vous travaillez avec un indexeur pour déterminer une ligne, car dans ce cas le décompte commence à 0.
Cependant, si vous utilisez la colonne système « SYS_ROW_NUMBER », le décompte commence à 1. Pour obtenir la même ligne, vous devez donc soustraire 1 > « ...[SYS_ROW_NUMBER]-1 ».
Par exemple :
Vous modifiez une tableau appelée « Exemple » (nom interne « EXEMPLE ») et souhaitez insérer des valeurs provenant d'une autre tableau appelé « Nouveaux articles » (nom interne « NOUVEAUX_ARTICLES ») dans la colonne « Nom ». Les valeurs recherchées se trouvent dans la colonne « Nouveau nom » (nom interne « NOUVEAU_NOM »).
Vous utilisez un indexeur pour déterminer les valeurs et la colonne système « SYS_ROW_NUMBER » pour affecter les valeurs.
Normalement, vous définissez l'expression arithmétique suivante pour la colonne de destination :
DW_NEW_ITEMS[NEW_I_NAME](X)
Cette fonction renvoie la valeur de la colonne « Nouveau nom » du tableau « Nouveaux articles » dans la ligne spécifiée. « X » indique l'entrée de la liste que vous souhaitez renvoyer. Comme l'indexeur commence à 0, « 0 » signifie la première ligne, par exemple.
Vous avez maintenant besoin de la valeur de la même ligne du tableau source pour les champs du tableau de destination. Par conséquent, vous n'utilisez pas une valeur fixe pour l'indexeur, mais la nouvelle colonne système « SYS_ROW_NUMBER ».
Le problème est que si vous n'utilisez que la colonne système « SYS_ROW_NUMBER », vous n'obtiendrez pas initialement 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 « Nouveau nom » du tableau « Nouveaux articles ». Cela signifie que si, par exemple, la première ligne du tableau « Articles » est traitée, la valeur de la deuxième ligne du tableau « Nouveaux postes » est renvoyée.
En effet, "[SYS_ROW_NUMBER]" renvoie la valeur "1" et l'expression effective est alors DW_NEW_ITEMS[NEW_I_NAME](1).
Pour obtenir la valeur correcte de la même ligne, vous devez soustraire 1 de la colonne système « SYS_ROW_NUMBER ».
DW_NEW_ITEMS[NEW_I_NAME]((DW_EXAMPLE [SYS_ROW_NUMBER]-1))
Ceci renvoie la valeur de la même ligne dans la colonne « Nouveau nom » du tableau « Nouveaux articles ».
Cela signifie que si, par exemple, la première ligne du tableau « Exemple » est traitée, la valeur de la première ligne du tableau « Nouveaux articles » est renvoyée.
En effet, "[SYS_ROW_NUMBER]-1" renvoie la valeur "0" et l'expression effective est alors DW_NEW_ITEMS[NEW_I_NAME](0).
Comparaisons de variables dans les conditions
Pour comparer les variables au sein des conditions, veuillez noter les conseils suivants. Les opérateurs suivants sont disponibles pour la comparaison de variables : =, >=, >, <, <=
Variables de date
Lors de la comparaison de variables avec une valeur de date fixe, la date doit être définie selon l'une des notations suivantes :
cdate(« AAAA/MM/JJ »)
cdate(« AAAA-MM-JJ »)
cdate(« AAAA.MM.JJ »)
Variables numériques
Lors de la comparaison de variables numériques, toutes les variables doivent avoir le même nombre de chiffres après la virgule. Si deux variables n'ayant pas le même nombre de chiffres après la virgule doivent être comparés, vous devez d'abord leur attribuer le même nombre de chiffres après la virgule via l'Assignation de données et à l'aide d'une autre variable.
Exemple :
vous souhaitez comparer variable 1 et variable 2 même si elles n'ont pas le même nombre de chiffres après la virgule.
1. Les paramètres suivants sont définis :
Variable 1 (0 chiffre après la virgule)
Variable 2 (2 chiffres après la virgule)
Variable 3 (0 chiffre après la virgule)
2. Activité Assignation de données :
Variable 3 = variable 2*100
3. Résultat :
Variable 1 et variable 3 ont désormais le même nombre de chiffres après la virgule et peuvent être comparées au sein d'une condition.