Tâches (processus modèle)

 

Tâches

Les tâches sont les opérations que doit exécutés le processus.
Accès

  • Menu Processus : Définition des processus / Tâche

  • Zoom en-tête de processus modèle bouton "Tâche"

Données communes

Informations à renseigner qu'elle que soit le type de tâche.

Libellé : Libellé de la tâche, sera affichée dans les formulaires et dans la liste des "tâches en-cours". A partir de la version X.4, il est possible de rajouter des balises avec des mot clé, des références à un champ du processus ou un champ d'une tables liées au processus. Les balises sont évaluées : au niveau du zoom des tâches à traiter et du widget des taches à traiter.
Etape critique : Positionner un flag étape critique : permet de dire que la fin de cette étape marque un non-retour. Lorsque cette étape sera terminée, le flag "tâche critique atteinte" sera remonté au niveau de l'en-tête du processus et celui si ne pourra plus être annulé par son "créateur".
Type de tâche : défini l'opération qui doit être exécutée.
Priorité : Définit la priorité de la tâche. Le scrutateur traite les tâches par ordre de priorité
Etape : Etape associée à la tâche. (une étape est considérée comme terminée lorsque toutes les tâches appartenant à cette étape sont terminée)
Durée d'attente : Définit l'attente minimale entre le lancement d'une tâche et la fin de l'étape précédente.
Durée théorique : Permet de calculer une date de fin théorique d'une tâche. Le calcul est fait au moment du passage à l'état "A traiter". Ne concerne que les tâches "manuelles"
Condition :Condition testée si la suite qui déclenche la tâche est de type "condition de tâche suivante réalisée" ou "condition de tâche suivante non réalisée"
Etape terminée : La tâche ne sera pas exécutée tant que cette étape n'est pas terminée.

Utilisation des fonctions

On peut utiliser des fonctions dans le paramétrage des tâches.
Les fonctions doivent être présentes dans le module « sptmctrl.dhop » (ou sa surcharge)
Appel d'une fonction sans paramètre : FONCTION.NomFonction
Appel d'une fonction avec paramètre : FONCTION.NomFonction.Param
Le paramètre de la fonction peut être :

Une valeur du formulaire : FORMULAIRE.Nomchamp ou FORM.NomChamp
Un mot clé : MotCLe.Mot
Une valeur de champ : NomRecord.NomChamp
Une chaîne

Chargement des enregistrements lors du traitement des tâches

Avant le traitement des tâches on charge des enregistrements publics en fonction des données présentes dans l'en-tête du processus.

  • Module commun

    • MUSER (Utilisateur) si collaborateur du processus présent

    • MUSERGRP (Groupe d'utilisateurs) si Groupe d'utilisateurs présent

  • Commerce et logistique

    • PRO (Pospect) si type de tiers = prospect et Code tiers présent

    • CLI (Client) si type de tiers = client et Code tiers présent

    • FOU (Fournisseur) si type de tiers = fournisseur et Code tiers présent

    • TIA (Tiers interne) si type de tiers = interne et Code tiers présent

    • T2 (contact) si code tiers et code contact présents

    • ENT (en-tête de pièce) si type de pièce,  préfixe et et numéro de pièce présents

    • ART (Article) si code article présent

    • CTRLFAENT (Contrôle facture) si N° de contrôle facture présent

    • DHBENT (DataHub) si Numéro de DataHub présent

  • CRM

    • EVTTIERS (Evénement CRM) si code évènement CRM présent

  • Paie

    • PINDIVIDU (Individu paie) si code individu présent

    • PCONT (Contrat de paie) : dernier contrat de paie actif si code individu présent

  • Compta

    • CAT (Ecriture en attente) si n° d'écriture présent

  • Gestion à l'affaire

    • PRJAV (Opportunité) si le code opportunité est présent

    • PRJAP (Affaire) si code affaire présent

    • GPAELEM (Elément d'affaire) si indice et élément d'affaire présents

    • GPAACTIVITE (Activité d'affaire) si indice, élément d'affaire et activité présents

    • GPAEVT (Evènement d'affaire) si indice, élément d'affaire et évènement d'affaire présents

  • Gestion des ressources matérielles

    • GMMAT (Matériel) si N° de matériel présent

  • Règlement

    • ACTIONREL (Action de recouvrement). si le code d'action de recouvrement est présent

Ouverture pour chargements complémentaires

Faire une surcharge de la fonction SP_Lire_Tables_liees_entete_Ap du module sptm000.dhop.

Recherche du libellé des champs du processus

Le libellé des champs du processus est accessible par

Il correspond au libellé saisi dans la définition du champ

Recherche du libellé de la valeur des champs du processus

Le libellé de la valeur des champs du processus est accessible par

Il sera recherché à l'aide de la fonction de recherche de libellé saisie dans la définition du champ



Tâche "Générer un événement"


Données de l’événement créé :
Code : Le code de l'événement est celui paramétré au niveau de la tâche.
Statut : Les statuts rendez-vous ou tâche sont ceux du code événement sauf si on modifie un statut par l'intermédiaire de la chaîne de paramètres.
Utilisateur : Le code utilisateur de l'évènement créé est pris par le premier champ non vide trouvé :

  •  

    • Utilisateur renseigné dans le champ 'A réaliser par' de la tâche.

    • Utilisateur de la tâche

    • Collaborateur du processus


Mode test : si on est en mode test l'utilisateur de l'évènement est l'administrateur du processus
On peut aussi forcer la valeur de l'utilisateur de l'évènement à l'aide d'un paramètre 
Date : La date est positionnée avec la date et l'heure courante mais elle peut être modifiée par le paramétrage de la chaîne de paramètres.
Libellé : Le libellé est positionné avec la zone 'libellé evt' de la tâche qui est analysée et traduite : Elle peut contenir des noms de champs ou des mots clés ou des données de formulaire.
Note : La note est constituée par la note traduite de la tâche (peut contenir les même balises que le détail d'un mail)
Fichiers joints : Si la case 'Attacher les fichiers joints' est cochée, les fichiers joints de l'entête de processus opérationnel sont rattachés à l'événement.
Collaborateur : Il est possible de rattacher plusieurs collaborateurs à l'événement, en utilisant la zone 'Destinataire'. Syntaxe possible :

  •  

Les crochets sont optionnels

  •  

    • Ce champ peut contenir une énumération d'items séparés par ";" ou ";;"

    • Chaque item peut représenter un code collaborateur, un groupe, un manager de groupe, un mot clé correspondant à un collaborateur, une donnée de formulaire de type CODE20.

    • Mode test : si on est en mode test les collaborateurs ne sont pas associés à l'évènement mais leur nom est ajouté en fin de la note de l'évènement.

Paramètre : Il est possible de forcer la valeur des données de l'évènement généré. La chaîne de paramètre permet de forcer des champs avec des valeurs. Les crochets sont optionnels.

  •  

    • Syntaxe :

Tâche "Modifier un évènement"

L'évènement modifié est celui renseigné dans l'en-tête du processus.
Le code évènement s'il est renseigné remplacera le code existant.
Les données de l'évènement à modifier doivent être renseignées dans le champ paramètre.
La note de la tâche en cours est insérée dans la note de l'évènement
L'option "attacher les fichiers joints" permets de rattaché à l'évènement modifié les fichiers joints à l'en-tête du processus en cours.

Tâche "Envoi de mail"

Paramètres de messagerie pour l’envoi de mail

Pour l’envoi de mail, il est nécessaire de configurer un compte de messagerie mail dans les paramètres techniques (cf Paramètres de messagerie )

Il est important de noter que c’est les paramètres techniques du compte de l’utilisateur qui exécute le scrutateur qui vont être utilisés lorsqu’un processus opérationnel envoie un mail.

Par exemple, dans le SAAS Divalto, le scrutateur est lancé par un service Diva, habituellement avec l’utilisateur $Service. Il faudra donc définir le compte de messagerie pour cet utilisateur, en utilisant la propagation des paramètres (cf Propagation des paramètres à d'autres utilisateurs )

Destinataires 

Listes des destinataires du mail. On peut utiliser :

  • Des adresses mail

  • Des codes utilisateur : on recherchera l'adresse mail de l'utilisateur  ou de son remplaçant si présent.

  • Des groupes d'utilisateurs : 

    • S'il existe une adresse mail au niveau du groupe on ne récupère que celle-ci

    • Sinon on recherche l'adresse mail des membres du groupe

    • Des managers de groupe [NomGroupe.Manager  ou [Form.CodeChamp].manager (si le champ CodeChamp contient un nom de groupe d'utilisateurs)

  • Des mots-clées : Administrateur, Collaborateur, manager, correspondant1, correspondant2, remplaçant, tiers, et contact

  • Des champs du formulaire

  • Des fonctions : Fonction.NomFonction.PAram

Si on met plusieurs destinataires il les séparer par ";"

On peut rajouter l'information [A], [CC], ou [CCI] devant les adresses.

En Mode Test  le mail ne sera envoyé qu'à l'administrateur du processus. La listes des destinataires est ajoutée en fin de mail.

Répondre à 

Défini un compte pour positionner le destinataire en cas de réponse

Objet 

Objet du mail

Texte pré-enregistré (en-tête / pied) :

Permet de définir un code de texte pré-enregistré qui sera inséré au début du mail (en-tête) ou à la fin du  mail (pie)

On peut indiquer un code de texte préenregistré ou un code de texte de relance. Si le champ code action de recouvrement de l'en-tête du processus est renseigné on peut utiliser [ActionRel.RelTxtNo] on récupérera alors le texte de relance défini au niveau de l'action de recouvrement.

Balises utilisables dans l'objet et le corps du mail

  • Des champs de la base de données [ENREG.NomChamp]

  • Des mots clés [MotCle.motcle]

  • Des champs du processus [Form.CodeChamp] ou [Formulaire.CodeChamp]

  • Des libellés de champ du processus [LFORM.CodeChamp].

  • Des libellés associé à la valeur d'un champ du processus [LibForm.CodeChamp]. Exécute la fonction de recherche de libellée associée au champ.

  • Des fichiers

    • [Fichier.Form.NomChamp] pour un nom de fichier stocké dans le champ CodeChamp du processus

    • [Fichier.Enreg.NomChamp] pour un nom de fichier stocké dans le champ NomChamp de la table Enreg 

  • L'ensemble des champs du processus [Form.Tout]. Retourne un tableau avec la valeur de tous les champs du processus. (uniquement dans le corps du mail)

  • Le tableau associé au processus [Proc.Tab]. Ajoute les éléments du tableau associé au processus. (uniquement dans le corps du mail, ou dans la note d'un évènement))

DAction

Renseigner ici les données à ajouter au fichier DACTION qui sera associé au mail.

Un fichier DACTION joint à un mail permet l'ouverture directe d'un programme ou d'un Zoom depuis OutLook

Droit à la déconnexion

Dans le cadre du droit à la déconnexion, vous pouvez dorénavant limiter les plages horaires d'envoi de mail à l'aide d'un calendrier.
Si ce calendrier est présent, les tâches envoi de mail ne sont effectuées que pendant les horaires de travail définies dans ce calendrier.
Le calendrier doit être positionné au niveau des paramètres généraux :
Menu : Administration / Paramètre / Paramètres généraux

Tâche "Envoi de SMS" (A partir de la V 10.8)

Pour plus d’information sur l’envoi des SMS

Envoi de flash par SMS - Odyssey Messaging (V10.5)

Si le paramétrage d’un Service Web de type SMS n’est pas présent , les tâches envoi de SMS sont transformées en tâche envoi de mail par le scrutateur.

Destinataires 

Listes des destinataires du SMS. On peut utiliser :

  • Des numéros de téléphone

  • Des codes utilisateur : on recherchera le n° de mobile de l'utilisateur  ou de son remplaçant si présent.

  • Des groupes d'utilisateurs : 

    • Sinon on recherche le n° de portable des membres du groupe

    • Des managers de groupe [NomGroupe.Manager  ou [Form.CodeChamp].manager (si le champ CodeChamp contient un nom de groupe d'utilisateurs)

  • Des mots-clées : Administrateur, Collaborateur, manager, correspondant1, correspondant2, remplaçant, tiers

  • Des champs du formulaire

  • Des fonctions : Fonction.NomFonction.PAram

Si on met plusieurs numéros les séparer par ";"

En Mode Test  le SMS ne sera envoyé qu'à l'administrateur du processus. La listes des destinataires est ajoutée en fin de SMS.

Objet 

Titre du SMS

Détail du SMS. Balises utilisables :

  • Des champs de la base de données [ENREG.NomChamp]

  • Des mots clés [MotCle.motcle]

  • Des champs du processus [Form.CodeChamp] ou [Formulaire.CodeChamp]

  • Des libellés de champ du processus [LFORM.CodeChamp].

  • Des libellés associé à la valeur d'un champ du processus [LibForm.CodeChamp]. Exécute la fonction de recherche de libellée associée au champ.

  • Des fichiers

    • [Fichier.Form.NomChamp] pour un nom de fichier stocké dans le champ CodeChamp du processus

    • [Fichier.Enreg.NomChamp] pour un nom de fichier stocké dans le champ NomChamp de la table Enreg 

 

Tâche "manuelle"

Une tâche manuelle est associée à une saisie de formulaire. Elle peut être réalisé par :

  • Un utilisateur

  • Un membre d'un groupe désigné par une affectation de la tâche (Si l'option "choisir le collaborateur valideur" est cochée)

  • Tous les membres d'un groupe (Si l'option "validation par tous les membres" est cochée)

Dans le champ "A réaliser par" on peut utiliser :

  • Un code utilisateur

  • Un code de groupe d'utilisateurs

  • Un mot clé (MotCle.NomMotCle)

  • Un champ du processus (Form.NomChamp)

  • Une fonction Fonction.NomFonction ou Fonction.NomFonction.Param


Ex : tâche validation RH. Doit être faite par un utilisateur du "groupe rh"


Mode test : Si le processus est en mode "test" la tâche sera à traiter par l'administrateur du processus

1ère tâche des processus manuels : si la première tâche est une tâche manuelle elle sera toujours effectuée par l'utilisateur courant et la saisie du formulaire attaché est lancée directement. On ne tient pas compte de l'information saisie dans le champ "A réaliser par". Inutile d'utiliser une suite "choix manuel", un bouton "valider" est créé automatiquement.
Dans le cas d'un processus déclenché par une ACTION le bouton abandonner est inactif
Si on veut que la première saisie soit effectuée par un autre utilisateur que l'utilisateur courant il faut rajouter une tâche "Sans action" avec suite inconditionnelle vers la tâche manuelle.

Tâche "Programme batch" ou "Programme batch wait"

Permet d'appeler un programme par « ProgramCall ».
Avant l'appel du programme, les droits utilisateurs sont changés aux profits des droits du créateur du processus (procUser)
ATTENTION : Pour que ce changement de droits puisse se faire il faut que l'utilisateur qui a lancé le scrutateur est le droit 'HIP'. Dans le cas contraire les droits utilisateurs restent ceux de l'utilisateur courant.
Passage de données et ouverture avant l'appel du programme par « ProgramCall » :
Ping("Status",1)
Ping("spxz" , SPxz)
Ping("zechange", MZ)
Ping("Param", Param)
Ping("SOPEENT",SOPEENT)
Ping("SOPETACHE",SOPETACHE)
SP_Xmt_Call('Appeler_Programme_Batch_AV')
Exemple :

Si on veut passer plusieurs paramètres il faut les séparer par ';;'
Les paramètres peuvent être :
des mots clés : MOTCLE .motcle
des valeurs de formulaire FORMULAIRE.CodeChamp
des fonctions: Fonction.NomFonction ou Fonction.NomFonction.Param.
des valeurs de champs : NomRecord.NomChamp
Des chaînes
On peut rajouter une fonction de formatage au paramètres (voir « Tâche fonction »)

Mode test

Si le processus est en mode test, l’appel au programme se fera toujours en mode WAIT

Tâche "Fonction"

Une tâche de type "Fonction" permet d'appeler une fonction présente dans un module de l'ERP

Fonctions utilisables dans une tâche de type fonction

Appel de la fonction "nom_fonction".

Les fonctions doivent être référencées dans la table des fonctions de tâche (Accès Menu Processus : Fichiers / Fonction d'action de tâche).

il faut préciser le module d'appartenance de la fonction, et le nombre de paramètres attendus (max 9)

Paramétrage d'une tâche de type "fonction"

Au niveau de la tâche de type fonction, il faut préciser la fonction que l'on veut appeler et les paramètres à passer.


Les paramètres de la fonction doivent être séparés par ' ;;'
Les paramètres peuvent être :
des mots clés : MOTCLE .motcle
des valeurs de formulaire FORMULAIRE.CodeChamp
des fonctions: Fonction.NomFonction ou Fonction.NomFonction.Param.
des valeurs de champs : NomRecord.NomChamp
Des chaînes
On peut rajouter une fonction de formatage aux paramètres.
Le format doit être indiqué entre { } et compréhensible par la fonction 'String' du langage.
Exemple {LU}FORM.valideur : Pour faire un cadrage gauche et forcer en majuscule le champ »valideur » du processus
Le format doit être une combinaison des caractères suivantes :

  • L Cadrage à gauche

  • M Centrage

  • R Cadrage à droite

  • A Eliminer tous les blancs

  • B N blancs : 1 blanc

  • 0 Remplacer les espaces par 0

  • * Remplacer les espaces par *

  • U Tout majuscules

  • L(L minus)Tout minuscules

  • 1 Premier car. de la chaîne majuscule puis minuscule

  • E Premier mot à espace

  • C Ne conserve que le premier mot

  • I Inversion ( AZE — EZA )

  • F Filtrage des caractères non affichables

  • D(d,f)Suppression des caractères situés entre la position d et la position f incluses

Tâche "Lancement processus"

Il faut renseigner le nom du processus et une chaine de paramétrage si l’on souhaite initialiser certains champs du processus créé.

La chaine doit être sous la forme [form.Champ1][Valeur champ 1];; [form.Champ2][Valeur champ 2];;

Les valeurs de champs peuvent être :

  • Des mots clés : MotCle.motCle

  • Des valeurs de champ du processus d’origine : Form.NomChamp

  • Des fonctions : Fonction.NomFonction ou Fonction.NomFonction.param

  • Des valeurs de champ d’enreg public chargé : NomEnreg.NomChamp

  • Des valeurs alpha-numérique

 

Exemple : Si on veut récupérer dans le champ “tiers” du processus à générer le champ “client” du processus d’origine.

Il faut utiliser la syntaxe “[form.tiers][form.client]”

Gestion des fichiers joint (à partir du service pack 222a)

Passage des fichiers joints entre le processus d’origine et le nouveau processus créé.

Il faut utiliser la syntaxe [FICJOINT][ProcOri.Fic]

Le traitement associé est surchargeable, il est fait dans la procédure Remplacer_Champ_specifique du module sptm000.dhop


Collaborateur du nouveau processus

Le collaborateur du nouveau processus est celui défini dans le champ « à réaliser par ».
Si le champ « à réaliser par » est vide c'est l'administrateur du processus en cours qui sera pris en compte.
On peut utiliser : un code utilisateur, un mot clé, un champ de formulaire, ou une fonction dans le champ « à réaliser par ».

  • Si le champ «à réaliser par » n'est pas renseigné, on prend le collaborateur du processus en cours

  • Si le champ «à réaliser par » n'est pas renseigné et que le collaborateur du processus en cours n'est pas défini, on prend l'administrateur du processus en cours.

 

Tâche "Envoi fichiers FTP"

Il faut renseigner le code du paramétrage FTP associé et définir si les fichiers d’origine sont supprimés après l’envoi.

image-20240507-085915.png

Dans ce type de tâche, on effectue le téléversement des fichiers contenus dans le répertoire défini par le chemin local du paramétrage FTP vers le répertoire distant sur le serveur FTP.

 

Tâche "Réception fichiers FTP"

Il faut renseigner le code du paramétrage FTP associé et définir si les fichiers d’origine sont supprimés après l’envoi.

image-20240507-091146.png

Dans ce type de tâche, on effectue le téléchargement des fichiers contenus vers le répertoire distant sur le serveur FTP dans le répertoire défini par le chemin local du paramétrage FTP. Attention le pattern des fichiers à télécharger est obligatoire.