Annexes

Récupération de l'utilisateur qui a traité une tâche manuelle


A partir de la version 7.5c ou X.2.
Pour récupérer le code de l'utilisateur qui a traité une tâche manuelle, il faut rajouter un traitement avant sur la tâche manuelle et utiliser la fonction maj_collaborateur avec le paramètre suivant :

Exemple récupération dans le champ "valideur" de l'utilisateur qui a traité la tâche t020



Donnée de type multi-ligne

Tâche de type Création de processus :
Si vous voulez passer une donnée de type multi-lignes en paramètre vers un autre champ de type multi-lignes, il faut vérifier que le paramétrage des notes de nature "SOPEFORM" existe et est bien défini en format texte.
Accès : menu Administration / Paramètres / Notes / Paramétrages des notes

Attention : dans le cas d'une tâche de type création de processus avec passage de paramètre : un champ de type multi-lignes ne peut être utilisé que pour initialiser un autre cham de type multi-lignes.
Il est par contre possible d'initialiser un champ multi-lignes à partir d'un champ d'un autre type.

FORMULAIRE.TOUT

La syntaxe FORLMULAIRE.TOUT permet de prendre en compte l'ensemble des données du processus.
Exemple de d'utilisation de FORMUALIRE.TOUT ou FORM.TOUT
Donnée du formulaire

Mot Clé

Dans les valeurs d'initialisation des données, dans le paramétrage des tâches du processus, ou dans les paramètres associés à la création d'un processus, on peut faire appel à des MOTS CLES
La syntaxe à utiliser est MotCle.codeMotCle

Mots clés associés aux utilisateurs

MOT CLE description

  • Processus N° du processus en cours

  • Processus.lib Libellé du processus

  • ProcCod Code du processus

  • Tache N° de la tâche en cours

  • Tache.lib Libellé de la tâche

  • TacheCod Code de la tâche

  • Administrateur Code User de l'administrateur du processus (Associé à l'en-tête du processus)

  • Administrateur.nom Nom de l'administrateur

  • Collaborateur Code User du collaborateur du processus

  • Collaborateur.nom Nom du collaborateur du processus

  • Collaborateur.tel : (A partir de la X.7) N° de téléphone du collaborateur (Si vide n° de tél de l'établissement du processus, si vide N° de téléphone du dossier du processus)

  • Collaborateur.mail : (A partir de la X.7) Mail du collaborateur (Si vide mail de l'établissement du processus, si vide mail du dossier du processus)

  • Correspondant1 Correspondant 1 du collaborateur (Recherché dans la table des utilisateurs)

  • Correspondant1.nom Nom du correspondant 1

  • Correspondant2 Correspondant 1 du collaborateur (Recherché dans la table des utilisateurs)

  • Correspondant2.nom Nom du correspondant 2

  • Remplacant Remplaçant du collaborateur (Recherché dans la table des utilisateurs)

  • Remplacant.nom Nom du remplaçant

  • Manager Responsabledu collaborateur (Recherché dans la table des utilisateurs)

  • Manager.tel : (A partir de la X.7) N° de téléphone du manager (Si vide n° de tél de l'établissement du processus, si vide N° de téléphone du dossier du processus)

  • Manager.mail : (A partir de la X.7) Mail du manager (Si vide mail de l'établissement du processus, si vide mail du dossier du processus)

  • Manager.nom Nom du responsable

  • UserGrp Code de groupe d'utilisateurs associé à l'en-tête du processus

  • UserGrp.Lib Libellé du groupe d'utilisateurs

  • CollaborateurTache collaborateur de la tâche (Associé à la tâche du processus)

  • CollaborateurTache.nom Nom du collaborateur de la tâche

Mots clés associés aux tiers

MOT CLE description
Ticod Code de type de tiers associé à l'en-tête du processus
Tiers Code tiers associé à l'en-tête du processus
Tiers.Nom Nom du tiers
Commercial Commercial associé au tiers
Commercial.nom Nom du commercial
Commercial2 Commercial 2 associé au tiers
Commercial2.nom Nom du commercial 2
Commercial3 Commercial 3 associé au tiers
Commercial3.nom Nom du commercial 3
Contact Code contact associé à l'en-tête du processus
Contact.nom Prénom et Nom du contact

Mots clés associés aux pièces

MOT CLE description
Picod Code de type de pièce associé à l'en-tête du processus
Pino N° de pièce

Autres mots clés associés aux données de l'en-tête du processus

MOT CLE description
Ref Référence Article
Ref.lib Désignation Article
EvtNo N° d'évènement associé à l'en-tête du processus
EvtNo.Lib Libellé de l'évènement
Projet Code projet associé à l'en-tête du processus
Projet.Lib Libellé du projet
Affaire Code affaire associé à l'en-tête du processus
Affaire.Lib Libellé de l'affaire
Individu Code individu associé à l'en-tête du processus
Individu.nom Prénom et nom de l'individu
EntierCourt Valeur de "l'entier court" associé à l'en-tête du processus
EntierLong Valeur de "l'entier long" associé à l'en-tête du processus
Montant Valeur du "montant" associé à l'en-tête du processus
AgileoId Valeur de l'identifiant Agiléo associé à l'en-tête du processus


Fonctions du module SPTMCTRL

Les fonctions, et procédure utilisées pour créer les listes de multi-choix, initialisation, contrôler et rechercher les libellés dans les formulaires, les traitements avant et après doivent être définies dans le module SPTMCTRL.dhop.
L'enregistrement de travail utilisé par défaut pour passer des données en paramètres est SPCTRL.

Fonctions standards liés aux Mots-clés

Procedure Evaluer_MotCle(&valeur, param)
Type : Initialisation
Retourne la valeur du mot clé passé en paramètre

Fonctions standards de gestion des dates

Procedure Initialiser_Date_Du_Jour(&Date, Param)
Type : Initialisation
Met à jour la variable Date avec la date du jour
Procedure Initialiser_HDate(&Date, Param)
Type : Initialisation
Permet de calculer une date à l'aide de la fonction HDATE
Met à jour la variable date à l'aide de la fonction Hdate(SPCTRL.DateInit, SPCTRL.opJour, SPCTRL.opMois, SPCTRL.opannee)
Si SPCTRL.DateInit n'est pas renseigné on utilise la date du jour comme 1er paramètre de HDATE.
Remarque : si on ne renseigne aucun paramètre, c'est la date du jour qui est retournée
Public Procedure Initialiser_Date_et_Heure(&DateDh, Param)
Type : Initialisation
Met à jour la variable DateDh avec la date du jour et l'heure courante
Public Procedure Initialiser_Date_et_Heure_Debut(&DateDh, param)
Type : Initialisation
Met à jour la variable DateDh avec la date du jour et l'heure de début de journée définie sur le calendrier du dossier achat-vente
Public Procedure Initialiser_Date_et_Heure_Fin(&DateDh, param)
Type : Initialisation
Met à jour la variable DateDh avec la date du jour et l'heure de fin de journée définie sur le calendrier du dossier achat-vente
Public Function int Controler_fourchette_dates(&DateFinDt, param, &err, &fichier)
Type : Contrôle
Contrôle de contrôle d'une fourchette de dates
Positionner le contrôle sur le champ date de fin
La date de début doit être renseignée dans SPCTRL. dateDebutDt

Public Function int Controler_fourchette_heures(&dateFinHe, param, &err, &fichier)
Type : Contrôle
Contrôle de contrôle d'une fourchette d'heures
Positionner le contrôle sur le champ heure de fin
L'heure de début doit être renseignée dans SPCTRL. dateDebutHe
Public Function int Controler_fourchette_dates_heures(&DateFinDH, param, &err, &fichier)
Type : Contrôle
Contrôle de contrôle d'une fourchette de dates heures
Positionner le contrôle sur le champ date / heure de fin
La date / heure de début doit être renseignée dans SPCTRL. dateDebutDH
Public Function int Controler_fourchette_dates_et_heures(&dateFinHe, param, &err, &fichier)
Type : Contrôle
Contrôle de contrôle d'une fourchette de dates heures. Les données date et heure sont dans des champs distincts.
Positionner le contrôle sur le champ date / heure de fin
La date de début doit être renseignée dans SPCTRL. dateDebutDT
L'heure de de début doit être renseignée dans SPCTRL.dateDebutHe
La date de fin doit être renseignée dans SPCTRL.dateFinDT



Fonctions standards aux pilotages des zooms

Les fonctions de pilotages des zooms permettent de mettre à jour les enreg XZ. Ceux sont des fonctions de type initialisation qu'il faut positionner dans comme traitement avant tâche d'un champ. Ces fonctions seront alors exécutées par le "traitement avant" associé au champ dans le masque de saisie.



Fonctions standards liées aux Collaborateurs


Function Char SP_Rechercher_Collaborateur(User, param)
Type : Recherche de libellé
Retourne le nom du "user" passé en paramètre
Function int SP_Controler_Collaborateur(User, Param, &err, &fichier)
Type : Contrôle
Contrôle du "user" passé en paramètre
Procedure Initialiser_Collaborateur(&User, param)
Type : Initialisation
Met à jour la variable User avec le collaborateur courant (System.User)
Procedure Initialiser_Nom_Collaborateur (&NomUser, param)
Type : Initialisation
Met à jour la variable NomUser avec le nom du collaborateur SPCTRL.ProcUser
Procedure Maj_Collaborateur (&User, param)
Type : Initialisation
Met à jour la variable User avec le collaborateur SPCTRL.User
Procedure Initialiser_user_processus (&User, param)
Type : Initialisation
Met à jour la variable User avec le créateur du processus courant (SOPEENT.ProcUser)
Procedure mail_user (&mail, param)
Création : Version X.4
Type : Initialisation
Met à jour la variable mail avec le mail de l'utilisateur passé en paramètre dans SPCTRL.User
Procedure Manager(&Code20, param)
Type : Initialisation
Met à jour la variable code20 avec le code user du manager de SPCTRL.User.
SPCTRL.User peut être soit un groupe, soit un utilisateur
Procedure Correspondant1(&Code20, param)
Type : Initialisation
Met à jour la variable code20 avec le code user du correspondant de SPCTRL.User.
Procedure Remplacant(&Code20, param)
Type : Initialisation
Met à jour la variable code20 avec le code user du remplaçant de SPCTRL.User.
Procedure Realisateur_Tache(&Code20, param)
Type : Initialisation
Retourne l'utilisateur qui a réalisé la tâche SPCTRL.TacheCod du processus courant


Fonctions standards liées aux tiers

Function Char SP_Rechercher_Tiers(Tiers, &param)
Type : Recherche de libellé
Retourne le nom du "Tiers" passé en paramètre
Function int SP_Controler_Tiers(Tiers, param, &err, &fichier)
Type : Contrôle
Contrôle du "Tiers" passé en paramètre
Public Function Char SP_Rechercher_Client(Tiers, &param)
Type : Recherche de libellé
Retourne le nom du "Tiers" passé en paramètre(le tiers doit être un client)
Public Function int SP_Controler_Client(Tiers, param, &err, &fichier)
Type : Contrôle
Contrôle du "Tiers" passé en paramètre(le tiers doit être un client)
Public Function Char SP_Rechercher_Prospect(Tiers, &param)
Type : Recherche de libellé
Retourne le nom du "Tiers" passé en paramètre(le tiers doit être un prospect)
Public Function int SP_Controler_Prospect(Tiers, param, &err, &fichier)
Type : Contrôle
Contrôle du "Tiers" passé en paramètre(le tiers doit être un prospect)
Public Function Char SP_Rechercher_Fournisseur(Tiers, &param)
Type : Recherche de libellé
Retourne le nom du "Tiers" passé en paramètre(le tiers doit être un fournisseur)
Public Function int SP_Controler_Fournisseur(Tiers, param, &err, &fichier)
Type : Contrôle
Contrôle du "Tiers" passé en paramètre (le tiers doit être un fournisseur)
Public Function Char SP_Rechercher_AutreTiers(Tiers, &param)
Type : Recherche de libellé
Retourne le nom du "Tiers" passé en paramètre(le tiers doit être un autre tiers)
Public Function int SP_Controler_AutreTiers(Tiers, param, &err, &fichier)
Type : Contrôle
Contrôle du "Tiers" passé en paramètre(le tiers doit être un autre tiers)
Public Function Char SP_Rechercher_Commercial(Tiers, &param)
Type : Recherche de libellé
Retourne le nom du "Tiers" passé en paramètre(le tiers doit être un commercial)
Public Function int SP_Controler_Commercial(Tiers, param, &err, &fichier)
Type : Contrôle
Contrôle du "Tiers" passé en paramètre(le tiers doit être un commercial)
Public Function Char SP_Rechercher_Contact(Contact, param)
Type : Recherche de libellé
Retourne le nom du "contact" passé en paramètre.
Le tiers associé doit être renseigné dans SPCTRL.Tiers
Public Function int SP_Controler_Contact(Contact, param, &err, &fichier)
Type : Contrôle
Retourne le nom du "contact" passé en paramètre.
Le tiers associé doit être renseigné dans SPCTRL.Tiers
Procedure Email_Representant(&email, Param)
Type : Initialisation
Renvoie l'email du représentant de SPCTRL.Tiers
Procedure chercher_mail_commercial_client(&email, Param)
Type : Initialisation
Recherche le mail du commercial du client SPCTRL.Tiers, ou son code utilisateur le cas échéant

Fonctions standards liées aux pièces Achat/Vente

Procedure visualiser_piece(pino, param)
Type : Traitement sortie de champ
Ouverture explorateur de la pièce n° pino
Le type de tiers doit être renseigné dans SPCTRL.TiCod
Le type de pièce doit être renseigné dans SPCTRL.PiCod
Procedure recherche_info_piece(pino, Param)
Type : Traitement sortie de champ
Chargement de l'enregistrement ENT pour la pièce n° pino
Le type de tiers doit être renseigné dans SPCTRL.TiCod
Le type de pièce doit être renseigné dans SPCTRL.PiCod

Fonctions standards liés aux évènements

function Char Rechercher_Multi_Choix_Evenement(param)
Type : Chargement de multichoix
Retourne la liste des types d'évènements
Function Char SP_Rechercher_EvtNo(EvtNo, param)
Type : recherche de libellé
Retourne le libellé de l'évènement passé en paramètre
Function Char SP_Rechercher_Evenement(Evenement, param)
Type : recherche de libellé
Retourne le libellé de du code évènement passé en paramètre
Function int SP_Controler_Evenement(Evenement, param, &err, &fichier)
Type : contrôle
Contrôle de l'évènement passé en paramètre
Function Char Recuperer_Codes_Contacts_Evenement(param)
Type : Chargement de multichoix
Retourne la liste des codes contacts de l'évènement SPCTRL.evtno
Procedure Recuperer_Noms_Contacts_Evenement(param)
Type : I Chargement de multichoix
Retourne la liste des noms des contacts de l'évènement SPCTRL.evtno
Function Char Recuperer_Liste_Noms_Contacts_Evenement(&libellelong, param)
Type : Initialisation
Retourne la liste des noms des contacts de l'évènement SPCTRL.evtno
Les éléments sont séparés par un saut de ligne
Function Char Recuperer_Codes_Collaborateurs_Evenement(param)
Type : Chargement de multichoix
Retourne la liste des codes collaborateur de l'évènement SPCTRL.evtno
Function Char Recuperer_Noms_Collaborateurs_Evenement(param)
Type : Chargement de multichoix
Retourne la liste des noms des contacts de l'évènement SPCTRL.evtno
Procedure Recuperer_Liste_Noms_Collaborateurs_Evenement(&libellelong, param)
Type : Initialisation
Retourne la liste des noms des contacts de l'évènement SPCTRL.evtno
Les éléments sont séparés par un saut de ligne

Fonctions standards liées à la PAIE


Procedure Initialiser_Individu_Collaborateur(&Individu, param)
Type : Initialisation
Met à jour la variable Individu avec le code individu correspondant au collaborateur SPCTRL.ProcUser
Procedure Initialiser_NomIndividu_Collaborateur(&NomIndividu, param)
Type : Initialisation
Met à jour la variable NomIndividu avec le nom de l'individu correspondant à l'utilisateur SPCTRL.ProcUser
function Char Chargement_Multi_Choix_contrat(param)
Type : Chargement de multichoix
Retourne la liste des contrats actifs de l'individu(SPCTRL.INDIVIDU)
Procedure Initialiser_Contrat_Individu(&Contrat, param)
Type : Initialisation
Met à jour la variable "Contrat" avec le premier contrat actif de l'individu(SPCTRL.individu)
Function Char SP_Rechercher_Individu(Individu, param)
Type : Recherche de libellé
Retourne le nom / prénom de l'individu passé en paramètre
Function int SP_Controler_Individu(Individu, param, &err, &fichier)
Type : Contrôle
Contrôle de l'individu passé en paramètre
function Char Chargement_Multi_Choix_Rubabs(param)
Type : Chargement de multichoix
Retourne la liste des rubriques d'absences famille 'abs' et 'cp'
procedure Initialiser_Rubabs(&Rubabs, Param)
Type : Initialisation
Met à jour la variable RubAbs selon SPCTRL.Typeabs
Si SPCTRL.Typeabs = 1 RubAbs = 'abs_rtt'
Si SPCTRL.Typeabs = 2 RubAbs = 'abs_cp'
Si SPCTRL.Typeabs = 3 RubAbs = 'abs_cp'
Sinon 'abs_cp'
Public Procedure Initialiser_Date_et_Heure_Debut_Contrat(&DateDh, param)
Type : Initialisation
Met à jour la variable DateDh avec la date du jour et l'heure de début de journée associée au contrat de l'individu PAIE.(Le calendrier est recherché sur le contrat ou sur l'individu ou sur l'établissement ou sur le dossier)
Public Procedure Initialiser_Date_et_Heure_Fin_Contrat(&DateDh, param)
Type : Initialisation
Met à jour la variable DateDh avec la date du jour et l'heure de début de fin associée au contrat de l'individu PAIE.(Le calendrier est recherché sur le contrat ou sur l'individu ou sur l'établissement ou sur le dossier)


Fonctions standards de liaison avec agileo


Public function char Chargement_Liste_TachesAgileo(param)
Type : Chargement de multichoix
Retourne la liste des tâches en cours pour l'utilisateur Sytem.User


Exemple de surcharge

Lancement d'un processus lors de la modification d'un point d'affaire qui permet de tester le statut du point modifié.

Création d'une condition sur le statut du point

Le statut terminé du point correspond à la valeur 4.

Créer un processus permettant de tester le statut du point modifié.

  • Code du processus : affaire001

  • Libellé : test statut point

  • Champ du processus:

    • collaborateur : (Code 20) Utilisateur qui à modifier le point d'affaire

    • affaire : (Code 8) code de l'affaire associée au point

    • idpoint : (Entier long) Id du point modifié

  • Tâches du processus

    • t010 Test statut point (type : pas d'action)

    • t020 Point terminé (type : pas d'action)

    • t030 Point non terminé (type : pas d'action)

  • Suite de la tache t010

    • S010

      • Type : condition de suite réalisé (Condition = point_termine)

      • Tâche suivante : t020

    • S020

      • Type : condition de suite non réalisé (Condition = point_termine)

      • Tâche suivante : t030

Définir une action 'POINT_AFFAIRE'

Associé le processus affaire001 à cette action
Les paramètres à passer sont les suivants

Surcharge du module gatt018

Il faut créer le module gaut018.dhsp en surcharge du module gatt018 associé au programme de gestion des points d'affaire.
Et surcharger la fonction Point_Update_Av

Surcharge du module sptm000

Il faut créer le module spum000.dhsp en surcharge du module sptm000
Le recordSQL POINT doit être public et avoir l'option KEEPDATANAMES

La procédure Remplacer_Champ_Specifique permet de retrouver la valeur d'un champ pour les records et les RecordSQL déclarés avec l'option KEEPDATANAMES dans le module de surcharge.
Elle sera utilisée

  • lors de la création du processus pour récupérer le code affaire et l'idpoint du point modifié

  • Lors de l'évaluation de la condition point terminé 

  • Elle pourrait être utilisée lors de l'envoi de mail ou de la création d'évènement CRM pour évaluer des formule de type 

La fonction Recherche_idpoint permet de rechercher la valeur du champ 'idpoint' du processus en cours de traitement.



La procédure SP_Lire_Tables_liees_entete_Ap permet de rechercher le RecordSQL POINT lié à l'idpoint.
C'est cette fonction qui permet que le teste point terminé soit bien réalisé sur le point associé au processus (à l'aide du champ idpoint)

Lancement du processus

Lancer le programme de gestion des points (menu Affaire / Affaires / points)
Modifier un "point" sans mettre son statut "à terminer"
Voilà l'état des tâches du processus terminé
On voit bien que la tâche exécutée est la tâche t030 Point non terminé

Modifier un "point" mettre son statut "à terminer"
Voilà l'état des tâches du processus terminé
On voit bien que la tâche exécutée est la tâche t020 Point terminé

Liaison avec les tâches Agiléo

Validation étape Agiléo

Une tâche de type "Validation étape Agiléo" permet traiter une tâche d'un workflow Agiléo. La tâche Agiléo traitée est celle dont l'ID est renseigné dans l'en-tête du processus (champ AGILEOID)
La réponse à envoyer à la tâche Agiléo doit être renseignée dans le champ paramétres de la tâche Processus
Ex : La réponse envoyée à Agiléo sera : "Accepter=True"

On peut également passer des données en paramètres à la tâche Agiléo.
Pour cela il faut associer un formulaire à la tâche processus.
Les données doivent être de type Libellé Long
Les donnée seront envoyées sous la forme CodeChamp = Valeur donnée.
Ex

Si on saisit "réponse INFINITY" dans le champ AgileoDon.
La chaîne de paramètre passé à AGILEO sera :
"Accepter=true,AgileoDon=Réponse INFINITY"

Correspondance entre les utilisateurs INFINITY et AGILEO

Les utilisateurs INFINITY sont soient des INDIVIDUS de la paie INFINITY soient des collaborateurs ACHAT/VENTE
La fonction Rechercher_info_connexion du module "a5pmswuser.dhop" permet de chercher les informations de connections Agiléo (login et mot de passe) d'un utilisateur INFINITY.
On recherche d'abord la présence d'un INDIVIDU avec "code utilisateur" = USER
Si on ne trouve pas d'INDIVIDU on recherche un collaborateur Achat/Vente avec salCod = USER

Liste des tâches Agiléo

La fonction Chargement_liste_TachesAgileo : permet de garnir la liste déroulante avec la liste des tâches en cours pour l'utilisateur INFINITY courant (SYSTEM.USER)

Les processus dans la GRM (Gestion des ressources matérielles)

Depuis la version Infinity 7.5b il existe une entrée « Demande intervention » au menu.
Cette entrée lance la création du processus « grmdi ». Ce processus est présent dans la visite guidée.



Les processus dans le module QUALITE


Il est possible d'associer un code ACTION à une « famille d'évènement. »
Si c'est le cas une action sera déclenchée à chaque création » d'évènement qualité ».
Il est aussi possible d'associer un code ACTION à une « famille de problème »
Si c'est le cas une ACTION sera déclenchée à chaque création de constat problème


Paramétrage envoi de mail

Dans Divalto / SYS , Lancer DivaltoViewer.exe
Menu option / paramètres …

Protocole MAPI

S'il n'y a pas de Profil par défaut dans Exchange : Saisir le " profil outlook" dans Profil par défaut.
Office 365 OnLine
Paramétrer le serveur Exchange



Divalto Viewer - Format des adresses
L'adresse utilisée lors de l'envoi de mail par le scrutateur est « Adresse EMAIL2 »

Paramétrage sur un serveur (pas de outlook)

Si les mails envoyés n'ont pas de corps

Faire un test en cochant l'option
« ou bien forcer le mode Extended MAPI »
Dans Divalto Viewer : Options / Paramètres / Prorocole MAPI / Paramétres avancés pour MAPI







Version office 365 supportées



# 1232- 24/09/2015 -

Compatibilité Office 365

Cher Partenaire,
Vous êtes nombreux à nous interroger sur la compatibilité de Divalto avec Office 365 de Microsoft.
En fait, Office 365 n'est pas UN produit, mais une gamme de produits qui se décline en plusieurs versions. Pour ne parler que des versions professionnelles, trois offres sont proposées par Microsoft :

  • Office 365 Business Essentials

  • Office 365 Business

  • Office 365 Business Premium.

    Pour les deux derniers produits, la suite Office complète est incluse et peut-être installée sur le poste client. Divalto est donc compatible avec ses deux offres. Pour l'Offre 365 Business Essentials, seule la version en ligne est disponible. Divalto n'est pas compatible avec cette offre. Pour le détail des offres, suivez ce lien : https://products.office.com/fr-fr/business/compare-office-365-for-business-plans.
     
    Cordialement,
    Thierry LorentzDirecteur R&D Système

    Docu à compléter


Correction VG X.4

Condition « relance_mail »:

Processus « modif_ecr_tva »

Tâche t100 envoi de mail
Le DACTION permettant un lien vers la facture modifiée est :