Processus opérationnels

Définition

Un processus opérationnel est une instance de processus modèle. Il est toujours associé à un dossier et peut être associé à un établissement.
A la création d'un processus tout le paramétrage du processus modèle est repris. La version et le nom du masque associé sont également enregistrés dans le processus opérationnel. Lors de la vie du processus opérationnel il ne sera plus fait référence au processus modèle.
Attention : Une modification des formulaires du processus et donc du masque sans changement de version ne permettra plus traiter correctement les tâches manuelles d'un processus.

Méthode de création de processus

Par le menu

Par le menu : Gestion des processus / Création
Une entrée au menu Processus (Gestion des processus / Création ) permet de choisir l'établissement et le processus à créer. Le processus sera créer avec le dossier courant, le créateur sera system.user.

Cette méthode de création est généralement utilisée pour des processus qui ne sont liés à une action de l'ERP et dont la première tâche est une tâche manuelle (Demande de congés, d'achats).

En précisant le nom du processus modèle dans les paramètres, vous pouvez créer au menu, une entrée qui lancera automatiquement la création d'un processus (sans avoir à choisir de processus modèle)
Ex : Lancement direct d'un processus de demande d'achat ('acda') pour l'établissement 1

Par une "ACTION" Inifinty

Les "Actions" sont paramétrées dans le module Administration (Paramètres/Actions/Actions)

Les données passées en paramètres permettent l'initialisation des champs du formulaire, et la mise à jour des données de l'en-tête liés lors de la création du processus.
Si plusieurs données sont initialisées, les paramètres doivent être séparés par un double point-virgule ";;"

Cette méthode de création des processus est généralement utilisée pour des processus qui ne sont liés à une action de l'ERP  (validation de commande, envoi de facture,  Vérification de RIB) et dont l'appel est défini dans un programme Divalto.

il faut utiliser la fonction A5_Action_Generer_Action du module A5Pm000  pour traiter une action dans Divalto.
Si on a associé un Processus à cette action, cela lancera le processus, avec les paramètres configurés dans le zoom action.

Dans vos surcharges il est préférable d'appeler la fonction A5_Action_Generer_Action plutôt que de faire un appel direct à la fonction de création des processus opérationnels (SP_Generer_Processus_Ope_SQL). Ceci permet de changer le processus appelé ou les paramètres d'entrées sans modifier le code. IL suffit de modifier l'ACTION utilisée.
Proto : Function Int A5_Action_Generer_Action (Applic, ActionCod, Etb, Depot, Entite, modeManuel)

  • Applic : Code applic associé à l'action à exécuter

  • ActionCod : Code de l'action à exécuter

  • Etb : Etablissement de rattachement du processus (facultatif, par défaut : ' ')

  • Depot : Utilisé par une gestion de flash mais pas pour un lancement de processus mettre ' '

  • Entite : Utilisé par une gestion de flash mais pas pour un lancement de processus mettre 0

  • modeManuel : Mode de lancement manuel : 1 (= OUI) par défaut


Exemple
Appel de l'ACTION VALIDE_CDE rattachée à l'application 'DAV'
A5_Action_Generer_Action ('DAV', 'VALIDE_CDE', MZ.ETB, ' ', 0)

Initialisation des champs (paramètres de l'action)
Si les champs du processus doivent être initialisés par des enregistrements spécifiques :
Il faut déclarer ces enregistrements dans une surcharge du module sptm000 dans laquelle on définira la fonction Remplacer_Champ_specifique

Fichier du processus

Pour attacher un fichier au processus il faut définir un paramètre FicJoint et y associer le nom complet du fichier à attacher au processus créé

Cas des processus avec 1ère tâche de type manuelle et modeManuel = oui
Si l'appel est fait avec "origine" = 1 (manuelle) et que la première tâche est une tâche manuelle alors on ouvre directement le formulaire à remplir.
Autres cas
Dans tous les autres cas, la première tâche du processus est mise en état "à activer" ou "à traiter" si c'est une tâche manuelle.

A l'aide de la fonction de création des processus

Cette méthode doit être dans la mesure du possible remplacer par l'utilisation d'une action et de la fonction A5_Action_Generer_Action . Ceci permet de changer le processus appelé ou les paramètres d'entrées sans modifier le code (il suffit de modifier l'ACTION utilisée) et aucune compilation n'est requise. 

La fonction SP_Generer_Processus_Ope_SQL du module sppm000.dhop permet de créer un processus depuis un module Infinity.
Proto : Function int SP_Generer_Processus_Ope_SQL(Proccod, Origine, &ProcNo, Param, User, dos, etb, AnnulSt)
ProcCod : le code du processus à exécuter (obligatoire)
Origine : 1 Manuelle, 2 Automatique, 3 scrutateur, 4 Autre (obligatoire)

  •  

    • Mettre 1 (manuelle) pour forcer la saisie directe du formulaire de la première tâche

ProcNo : N° du processus créé (obligatoire, Passage par adresse)
Param: Chaine de paramètre permettant l'initialisation de certains champs du processus (facultative)
User : Créateur du processus (facultatif, par défaut : Systèm.user)
Dos : Dossier de rattachement du processus (facultatif, par défaut : MZ.Dos)
Etb : Etablissement de rattachement du processus (facultatif, par défaut : ' ')
AnnulSt : Si vrai, l'utilisateur a la possibilité d'annuler le processus lors de la saisie du formulaire de la première tâche (facultatif, par défaut : false). Utiliser uniquement dans le cas où Origine = 1 (Manuelle)
Retour :
Renvoie 0 si le processus a été créé sans erreur
Renvoie 1 si on n'a pas pu créer le processus modèle non renseigné ou inexistant
Renvoie 2 si on n'a pas pu créer le processus modèle n'a pas le statut 'encours'
Renvoie 3 si on n'a pas pu créer le processus Le contrôle a renvoyé une erreur
Renvoie 4 si on n'a pas pu créer le processus pb en création de processus
Renvoie 5 si on n'a pas pu créer le processus pb en création de tâche
Renvoie 6 si on n'a pas pu créer le processus pb en Mise à jour de Numéro de tâches
Cas des processus avec 1ère tâche de type manuelle et origine de type "manuelle"
Si l'appel est fait avec "origine" = 1 (manuelle) et que la première tâche est une tâche manuelle alors on ouvre directement le formulaire à remplir. Si on laisse le flag AnnulSt à "faux", le processus ne pourra pas être annulé lors de cette 1ère saisie
Autres cas
Dans tous les autres cas, la première tâche du processus est mise en état "à activer" ou "à traiter" si c'est une tâche manuelle.

Par un processus

Dans un processus par une tâche de type "lancement processus"