Sommaire | ||
---|---|---|
|
...
Un processus opérationnel est une instance de processus modèle. Il est toujours associé possible d’associé un tableau à un dossier et processus opérationnel.
Ce tableau 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
...
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"affiché ensuite dans un mail ou dans la note d’un évènement généré par une tâche du processus.
La balise à utiliser est [Proc.Tab]
Le tableau contient au maximum 20 colonnes d’un maximum 250 caractères
Création du tableau
Le tableau doit être créé avant la création du processus opération (Avant le traitement de l’action qui génère le processus).
Pour définir le processus il faut passer par un enregistrement dans une table temporaire.
Déclarer les modules suivants
Include "A5TCFICSQL.dhsp"
Module "A5PMFICSQL.dhop"
Module “A5PM000.dhop”
Pour faire la déclaration de la table temporaire utiliser la définition “Declaration_TabTemp” du module a5tcficsql.dhop (Define Declaration_TabTemp = TmpRecordSql 'a5rsrcdtmp.dhoq' TabTemp)
Création des lignes du tableau
La première ligne du tableau doit contenir les entêtes du tableau
TabTemp.Init()
TabTemp.Ligne = 1
TabTemp.ValTab(1) = Titre colonne 1 du tableau
TabTemp.ValTab(2) = Titre colonne 2 du tableau
TabTemp.ValTab(3) = Titre colonne 3 du tableau
…
Insert_TabTemp(TabTemp)
Les lignes suivantes contiennent les données du tableaux
pour la ligne 2
TabTemp.Init()
TabTemp.Ligne = 2
TabTemp.ValTab(1) = Valeur colonne 1
TabTemp.ValTab(2) = Valeur colonne 2
TabTemp.ValTab(3) = Valeur colonne 3
…
Insert_TabTemp(TabTemp)
Format des cellules du tableau (A partir de la vX.9)
Pour chaque cellule on peut définir
Un alignement
Droite : D
Centré : C
Un style
Gras : G
Souligné : S
Italique : I
On peut faire une combinaison de style (Ex “GI” : pour Gras et Italique)
Une couleur d'écriture
Rouge : R
Bleu : B
Vert : V
Jaune : J
Orange : O
Violet : VI
Rose : RO
Si aucun format n’est définit : on aura la couleur d'écriture noire, et un alignement gauche, sauf pour les valeurs numériques qui seront alignées à droite
Il est possible de rajouter des données de formatage par surcharge de la fonction “Definir_Balise_Avec_Style” du module sptm000.dhop.
Exemple de tableau avec format
...
Récupération du nom du tableau
Il faut mettre le nom du tableau dans un enregistrement public. Choisir un champ de longueur 250
La fonction GetTemporaryTableName() permet de récupérer le nom d’une table temporaire
Exemple : Pour le module règlement on peut utiliser le champ R3XZ.NomTabTmp.
R3XZ.NomTabTmp = TabTemp.GetTemporaryTableName()
Création du processus
Utiliser la fonction A5_Action_Generer_Action du module A5Pm000.dhop pour créer le processus
Dans la chaîne de paramétrage du processus, récupérer le nom de la table temporaire avec le paramètre [TabJoint]
Avec notre exemple précédent : [TABJOINT][R3XZ.NomTabTmp] pour récupérer le champ NomTabTmp de l’enreg public R3XZ
Exemple avec le paramétrage de l’action DEMANDE_CREA_IRRECOU du module règlement