L'automate est un programme Diva qui scrute dans un répertoire d'entrée, la présence de fichiers dit ‘pivot’ et de fichiers compagnons pdf, xml). Il est donc indispensable que, lorsqu'il y a plusieurs fichiers (par exemple le pivot et un PDF), que le fichier pivot soit écrit sur le disque dur EN DERNIER. Sa présence garantit la bonne écriture préalable des fichiers compagnons (comme le PDF).
Le répertoire d'entrée correspond à un chemin Divalto (chemin stocké sur le dossier 999).
Ce scrutateur lit les fichiers pivot et les traite selon un ordre préétabli.
Cet ordre sera paramétré dans le zoom de paramétrage DataHub.
Il est possible de définir un code action lorsque le traitement associé à l'état renvoie VRAI et un autre lorsque le traitement renvoie FAUX.
l'automate lit le pivot et attribue un numéro unique (table DHBENT champ DHBNO). S'il n'y arrive pas il crée un dataset en erreur
Le déposant (=la source des pivots) s'assure d'une règle de nommage sans doublons. Il est possible de placer les fichiers compagnons dans un sous-répertoire du fichier pivot, mais c'est la présence du pivot à la racine du point d'entrée qui le rend 'détectable'
l'automate lit le contenu du pivot afin de déterminer son type (type de dataset). Si la structure est lisible, le pivot ainsi que les fichiers compagnons sont déplacés du point d'entrée vers un emplacement dédié, et une entrée dans le datahub est faite : le dataset. Les cas de rejets sont donc à ce stade uniquement des fichiers dont la structure est incorrecte
une fois le type de dataset déterminé, l'automate lit un paramétrage de datahub qui indique les états possibles par type. Ce paramétrage donne une succession d'états numérotés et pour chaque état une fonction diva détermine la branche à suivre
un état est dit 'automatique' s'il est traité par l'automate
un état est dit 'manuel' si une action est requise par un utilisateur ('en attente' est aussi un état manuel)
le changement d'état (vers sa branche 'vrai' ou 'faux') appelle un code action Divalto
chaque fonction de changement d'état traite une tâche unitaire simple à effectuer, et peut se poursuivre soit sur un autre état automatique ou manuel
Lorsque le pivot est amené à être complété par la suite (par exemple logiciel externe qui scanne le contenu) il est nécessaire de donner un IDENTIFIANT EXTERNE UNIQUE. Cet identifiant, donné dans le premier puis le second pivot, sert à indique qu'il s'agit du même 'document'.
le superviseur permet de voir l'avancement, et de traiter les états manuels en réinjectant dans l'automate un dataset
un état est potentiellement joué plusieurs fois, notamment via des états manuels qui réinjectent dans l'automate à un état inférieur
l'automate écrit dans le livre de bord application pour les erreurs majeures concernant l'automate (fonction de changement d'état inexistante par exemple, arrêt de l'automate)
un livre de bord dédié à l'automate est disponible afin de suivre les changements d'état
Un état de l’automate
Un état de l’automate correspond à un numéro par type de dataset.
Nom du champ | Utilisation |
---|---|
Etat du dataset | Numéro unique (pour le type de dataset) qui détermine la succession logique des étapes |
Regroupement | |
Type d’action | Automatique=lancement d’une fonction d’un module pour effectuer un traitement. Nécessite de connaitre l'état suivant Manuel=intervention d’un collaborateur ou d’un administrateur |
Libellé | Description de l'état |
Module | Nom du module et de la fonction Diva du traitement |
Fonction | |
Etat suivant si VRAI | Prochain état courant pour le dataset si le traitement a répondu VRAI |
Etat suivant si FAUX | Prochain état courant pour le dataset si le traitement a répondu FAUX |
Code action si VRAI | Code action ERP exécuté si le traitement a répondu VRAI |
Code action si FAUX | Code action ERP exécuté si le traitement a répondu FAUX |
Après un état manuel, l’intervention utilisateur va relancer le dataset dans l’automate pour un nouveau circuit de traitement complet.
L'état particulier 100
L'état 100 est commun à tous les types de dataset, c’est pourquoi il n’a pas de type associé. C’est le point de départ de tous les traitements lorsque la dépose d’un fichier pivot est détectée
Si le dataset est bien déterminé dans le fichier pivot, alors le traitement est orienté par les états du type, sinon il échoue dans les datasets en erreur.
La lecture du fichier pivot permet de déterminer son type.
Il existe plusieurs types de DataSet :
DataSet Factures fournisseur : un dataset par facture fournisseur à partir d'un document principal PDF ou scan.
DataSet Prévisions de ventes : un dataset par import de prévisions de ventes.
Si la lecture du fichier n'arrive pas à déterminer le type, le Dataset est mis en erreur.
Une fois le type déterminé, les traitements lui correspondant sont enclenchés selon l'ordre établi dans le paramétrage.
Enchainement d'états
L'automate détecte la dépose de fichiers, et traite la lecture. Il est donc indispensable que, lorsqu'il y a plusieurs fichiers (par exemple le pivot et un PDF), le fichier pivot soit écrit sur le disque dur EN DERNIER. Sa présence garantit la bonne écriture préalable des fichiers compagnons (comme le PDF).
Lorsque le pivot est amené à être complété par la suite (par exemple logiciel externe qui scanne le contenu) il est nécessaire de donner un IDENTIFIANT EXTERNE UNIQUE. Cet identifiant, donné dans le premier puis le second pivot, sert à indiquer qu'il s'agit du même 'document' et que ce second pivot vient remplacer le premier
Si le Scrutateur ne parvient pas à déterminer le type de dataset, celui-ci est mis en erreur. Le libellé de l'état est entièrement libre. Son rattachement à un code de regroupement l'associe automatiquement à un état maître. Exemple : l'état « 230 », libellé « Dataset OK » est rattaché au regroupement « 200 » qui correspond aux datasets de type facture fournisseur. Il est possible de créer un état qui fera lui-même office de regroupement.
Le premier état de la liste (110) correspond à l'initialisation de l'Automate.La dernière ligne met l'enregistrement à l'état « Périmé » lorsque, par exemple, la facture est envoyée vers la Comptabilité. Lorsque le type d'action est « Automatique », l'Automate exécute une fonction du module, et passe à l'état prévu selon que la réponse est Vrai ou Faux.Pour intercaler un nouvel état, vous devez ajouter une ligne, débrancher et rebrancher les états avant et après pour éviter que l'Automate ne s'arrête.L'Automate ne lit que les états automatiques, aussi, pour le stopper ou sortir d'une boucle, vous devez insérer un état manuel. A noter : par convention, les états dont le code se termine par « 5 » correspondent aux erreurs et sont manuels. Ainsi, l'Automate sort de la boucle lorsqu'il rencontre une erreur. L'état 200 est celui vers lequel vous reviendrez toujours car il correspond au contrôle facture. L'état 110 lit le fichier xml (pivot). S'il est complet, la facture est générée en Comptabilité. Sinon, l'Automate attendra d'autres xml.Généralement, pour repasser d'un état manuel à un état automatique, vous cliquerez sur « Ré-injecter dans l'Automate » ou vous serez invité(e) à effectuer une action donnée.Un code action peut être déclenché à chaque changement d'état : envoi d'un email, affichage d'une alerte, exécution d'un processus.
Complétion
Lorsqu'un document PDF passe par une reconnaissance de contenu, on pourra déposer le fichier PDF 'original' avec un pivot minimaliste. Ce pivot permet de créer le dataset avec les documents compagnons. Un second pivot avec les nouveaux documents pourra être déposé, et viendra remplacer totalement les données du premier pivot (sauf numéro de dataset et date de création) et les pièces jointes. Le lien se fait via un IDEXTERNE fourni dans le pivot qui permet de retrouver le dataset à compléter. Si le dataset 'minimaliste' a fait l'objet d'un traitement manuel utilisateur, un second dataset sera créé en statut 'périmé' afin de conserver la trace mais sans toucher au traitement manuel du dataset. Aucune donnée métier du premier pivot n'est conservé, c'est le dernier pivot qui est pris pour la totalité des données.
OU
Il arrive que le fichier reçu ne soit pas le fichier pivot définitif : Il accompagne la facture reçue mais ne contient pas les données demandées (uniquement un Idexterne permettant de l'identifier) : un DataSet est alors créé et est mis en état "en attente de complétion". Lors de l'arrivée du fichier pivot définitif, celui ci doit contenir le même numéro externe. Il annule et remplace l'ancien Dataset ainsi que tous les documents accompagnant.