Exemple (GFD) ENR-ACT-ENT Commandes et Lignes de Commandes Commerciales Archivées
Les actions « INI », « INI-SOC » et « INI-PRE » sont disponibles sur les entêtes et lignes de commandes et devis commerciaux archivés. Ces actions permettent d’initialiser WfEntVar qui contient la valeur de chaque variable de l’entité.
Initialisation de WfEntAct :
Nom | T | Désignation | O | Commentaire |
Action | C | Action à exécuter | o | Doit contenir INI ou INI-SOC ou INI-PRE |
ActCle | C | Clé de lien avec WfEntVar | Doit contenir la clé pour les liens avec WfEntVar | |
EntTEn | C | Entité | o | Doit contenir ARD_CDC pour les entêtes de commandes/devis ou ARD_CDC-LIG pour les lignes de commandes/devis |
EntCl1 | C | Clé1 entité | o | Doit contenir le numéro de commande/devis archivé |
EntCl2 | C | Clé2 entité | o | Doit contenir le numéro de ligne de commande/devis archivé pour l’entité ARD_CDC-LIG |
EntPre | C | Présentation Entité | O | Doit contenir la référence de la présentation à utiliser dans le cas où l’action est INI-PRE |
Il faut renseigner la base d’archivage de laquelle on souhaite extraire les données. Pour cela, initialiser WfEntVar tel que :
Nom | T | Désignation | O | Commentaire |
ActCle | C | Clé de lien avec WfEntAct | Doit contenir la clé pour les liens avec WfEntAct | |
EntTEn (*) | C | Entité | Doit contenir ARD_CDC pour les entêtes de commandes/devis ou ARD_CDC-LIG pour les lignes de commandes/devis | |
EntCl1 (*) | C | Clé1 entité | Doit contenir le numéro de commande/devis archivé | |
EntCl2 (*) | C | Clé2 entité | Doit contenir le numéro de ligne de commande/devis archivé pour l’entité ARD_CDC-LIG | |
EntVar | C | Variable | o | Doit contenir Base_ARD |
EntVaC | C | Valeur Variable | o | Doit contenir le nom de la base d’archivage dans laquelle on récupère les données. |
(*) : EntTen, EntCl1 et EntCl2 doivent être utiliser pour faire le lien avec WfEntAct si ActCle n’est pas renseigné.
Pour l’action « INI-SOC » qui permet de récupérer des données dans une société Diapason autre que la société courante, il faut renseigner WfEntVar tel que :
Nom | T | Désignation | O | Commentaire |
ActCle | C | Clé de lien avec WfEntAct | Doit contenir la clé pour les liens avec WfEntAct | |
EntTEn (*) | C | Entité | Doit contenir ARD_CDC pour les entêtes de commandes/devis ou ARD_CDC-LIG pour les lignes de commandes/devis | |
EntCl1 (*) | C | Clé1 entité | Doit contenir le numéro de commande/devis archivé | |
EntCl2 (*) | C | Clé2 entité | Doit contenir le numéro de ligne de commande/devis archivé pour l’entité ARD_CDC-LIG | |
EntVar | C | Variable | o | Doit contenir RefSocApp |
EntVaC | C | Valeur Variable | o | Doit contenir la société Diapason dans laquelle on récupère les données. |
Exemple : Duplication d’une commande archivée avec certaines de ses lignes
COMMENTAIRE : "Action INI sur Commandes Commerciales et Lignes de Commandes Commerciales archivées pour créer une nouvelle commande"
COMMENTAIRE : "SCR.CdeNumCom = Numéro de Commande archivée à récupérer"
COMMENTAIRE : "VCR.LisCdeNumLig = Liste des Lignes de Commande archivées à copier"
COMMENTAIRE : "SCR.RefBase contient la Base d'archivage à utiliser"
VLO.Act = CLO."INI"
VLO.Cle1 = SCR.CdeNumCom
VLO.LisLig = VCR.LisCdeNumLig
VLO.EntTEn = CLO."ARD_CDC"
VLO.Base = SCR.RefBase
COMMENTAIRE : "Récupération de l'entête de commande"
CREATION Liste WfEntAct :
PRENDRE WfEntAct Action = VLO.Act
PRENDRE WfEntAct ActCle = VLO.Cle1
PRENDRE WfEntAct EntTEn = VLO.EntTEn
PRENDRE WfEntAct EntCl1 = VLO.Cle1
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct EntCom = CLO.""
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = VLO.EntTEn
PRENDRE WfEntVar EntCl1 = VLO.Cle1
PRENDRE WfEntVar ActCle = VLO.Cle1
PRENDRE WfEntVar EntVar = CLO."Base_ARD"
PRENDRE WfEntVar EntVaC = VLO.Base
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
VLO.CreCde = CGL.OUI
RECH PREM LST WfEntAct :
SI WfEntAct.ActErr <> CLO.""
VLO.CreCde = CGL.NON
FIN_BLOC
CREATION Liste Res :
PRENDRE Res EntTEn = WfEntAct.EntTEn
PRENDRE Res Cde = WfEntAct.EntCl1
PRENDRE Res Act = WfEntAct.Action
PRENDRE Res Err = WfEntAct.ActErr
PRENDRE Res Res = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
SI VLO.CreCde VRAI
COMMENTAIRE : "Création Entête de Commande"
RECH PREM LST WfEntAct :
PRENDRE WfEntAct Action = CLO."CRE"
PRENDRE WfEntAct EntTEn = CLO."CDC"
PRENDRE WfEntAct EntCl1 = CLO."&1"
PRENDRE WfEntAct ActRes = CLO.""
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct EntCom = CLO.""
FIN_BLOC
POUR CHAQUE LST WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."CDC"
PRENDRE WfEntVar EntCl1 = CLO."&1"
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
VLO.NouCde = CLO.""
RECH PREM LST WfEntAct :
SI WfEntAct.ActErr = CLO.""
VLO.NouCde = WfEntAct.ActRes
FIN_BLOC
CREATION Liste Res :
PRENDRE Res EntTEn = WfEntAct.EntTEn
PRENDRE Res Cde = WfEntAct.EntCl1
PRENDRE Res Act = WfEntAct.Action
PRENDRE Res Err = WfEntAct.ActErr
PRENDRE Res Res = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
SI VLO.NouCde EXISTE ET <> ""
COMMENTAIRE : "Récupération des lignes de commandes archivées"
VLO.NbLig = NB-MOT( SEPARATEUR= CLO."," , CHAINE= VLO.LisLig )
BOUCLE VLO.Boucle DE CLO.1 A VLO.NbLig :
VLO.Cle2 = MOT( SEPARATEUR= CLO."," , CHAINE= VLO.LisLig , NUMERO= VLO.Boucle )
EFFACER Liste WfEntAct
EFFACER Liste WfEntVar
COMMENTAIRE : "Récupération de la ligne de commande"
CREATION Liste WfEntAct :
PRENDRE WfEntAct Action = VLO.Act
PRENDRE WfEntAct ActCle = VLO.Cle1
PRENDRE WfEntAct EntTEn = CLO."ARD_CDC-LIG"
PRENDRE WfEntAct EntCl1 = VLO.Cle1
PRENDRE WfEntAct EntCl2 = VLO.Cle2
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct EntCom = CLO.""
FIN_BLOC
CREATION Liste WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."ARD_CDC-LIG"
PRENDRE WfEntVar EntCl1 = VLO.Cle1
PRENDRE WfEntVar EntCl2 = VLO.Cle2
PRENDRE WfEntVar ActCle = VLO.Cle1
PRENDRE WfEntVar EntVar = CLO."Base_ARD"
PRENDRE WfEntVar EntVaC = VLO.Base
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
VLO.CreLig = CGL.OUI
RECH PREM LST WfEntAct :
SI WfEntAct.ActErr <> CLO.""
VLO.CreLig = CGL.NON
FIN_BLOC
CREATION Liste Res :
PRENDRE Res EntTEn = WfEntAct.EntTEn
PRENDRE Res Cde = WfEntAct.EntCl1
PRENDRE Res Lig = WfEntAct.EntCl2
PRENDRE Res Act = WfEntAct.Action
PRENDRE Res Err = WfEntAct.ActErr
PRENDRE Res Res = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
SI VLO.CreLig VRAI
COMMENTAIRE : "Création Ligne de commande"
RECH PREM LST WfEntAct :
PRENDRE WfEntAct Action = CLO."CRE"
PRENDRE WfEntAct EntTEn = CLO."CDC-LIG"
PRENDRE WfEntAct EntCl1 = VLO.NouCde
PRENDRE WfEntAct EntCl2 = CLO."&1"
PRENDRE WfEntAct ActRes = CLO.""
PRENDRE WfEntAct ActErr = CLO.""
PRENDRE WfEntAct EntCom = CLO.""
FIN_BLOC
POUR CHAQUE LST WfEntVar :
PRENDRE WfEntVar EntTEn = CLO."CDC-LIG"
PRENDRE WfEntVar EntCl1 = VLO.NouCde
PRENDRE WfEntVar EntCl2 = CLO."&1"
FIN_BLOC
VLO.Resultat = ENR-ACT-ENT( )
RECH PREM LST WfEntAct :
CREATION Liste Res :
PRENDRE Res EntTEn = WfEntAct.EntTEn
PRENDRE Res Cde = WfEntAct.EntCl1
PRENDRE Res Lig = WfEntAct.EntCl2
PRENDRE Res Act = WfEntAct.Action
PRENDRE Res Err = WfEntAct.ActErr
PRENDRE Res Res = WfEntAct.ActRes
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC
FIN_BLOC