Skip to main content
Skip table of contents

*PRO-CTR : Contrôle de Facturation Fournisseur ( ENR-ACT-ENT )

Le but de cette fonction est de pouvoir effectuer un contrôle de facturation fournisseur en renseignant les provisions, les frais annexes et les écarts constatés par ligne comme dans l’application intéractive de rapprochement de facture fournisseur.

Les actions disponibles sont :

  • VAL : Validation du contrôle de facturation, seulement si le solde entre le montant HT de la facture et le montant des lignes sélectionnées et corrigées est nul

  • SAU : Pré-enregistrement du contrôle de facturation, toujours possible

 

On utilise les listes standards de la fonction qui sont WfEntAct et WfEntVar.

Liste WfEntAct :   (T : type de la variable; O : indique si obligatoire (valeur o) ou non)

Nom

T

Désignation

O

Commentaire

Action

C

Action à exécuter

o

VAL : validation du contrôle de facturation

OU

SAU : sauvegarde et pré-enregistrement du contrôle de facturation

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntVar

Liste WfEntVar : (T : type de la variable; O : indique si obligatoire (valeur o) ou non)

Données générales de la facture :

  • Numéro interne de la facture (obligatoire si le fournisseur et le numéro de facture fournisseur ne sont pas renseignés)

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PRONumFac

EntVaC

C

Valeur Alphanumérique

o

Numéro interne de la facture

  • Fournisseur de la facture (obligatoire si le numéro interne de la facture n’est pas renseigné)

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir AppRefFour

EntVaC

C

Valeur Alphanumérique

o

Fournisseur de la facture

  • Numéro de facture fournisseur (obligatoire si le numéro interne de la facture n’est pas renseigné)

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PRONumFacFour

EntVaC

C

Valeur Alphanumérique

o

Numéro de facture fournisseur

  • Montant maximum de l’écart restant accepté entre le montant des provisions facturées et le montant HT de la facture (facultatif). Si non renseigné, on considère que l’écart accepté est nul.

    • Si l’action à exécuter (WfEntAct.Action) est « VAL », le rapprochement de facture n’est possible que si l’écart entre le montant de la facture et le total des provisions facturées est inférieur à l’écart accepté

    • Si l’action à exécuter (WfEntAct.Action) est « SAU », la facture est quand même pré-enregistrée quel que soit l’écart entre le montant de la facture et le total des provisions facturées

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROMaxEcart

EntVaN

N

Valeur Numérique

o

Montant Maximum de l’écart restant accepté entre le montant de la facture et le total des provisions facturées

  • Méthode de répartition de l’écart éventuel restant entre le montant des provisions facturées et le montant HT de la facture (facultatif). Si non renseignée, la répartition « Montant / Ligne » est appliqué.

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROMetRep

EntVaC

C

Valeur Alphanumérique

o

Méthode de répartition de l’écart restant entre la montant de la facture et le total des provisions facturées.

Les valeurs possibles sont :

0 = Montant / Ligne

1 = Quantité / Ligne

Pour chaque provision de matière facturée :

Référence de la Provision

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntTVa

C

Type de Variable

o

Doit contenir PRO

EntVar

C

Variable

o

Doit contenir PRONumIdProv

EntVaC

C

Valeur Alphanumérique

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

Le lien entre la provision et les valeurs des variables qui s’y rapportent est fait par WfEntVar.EntCl1 et WfEntVar.EntCl2 tels que :

  • WfEntVar.EntCl1 contient PRO

  • WfEntVar.EntCl2 contient le numéro interne de la provision ou la liste chaînée du numéro de commande, du numéro de BL et du numéro de ligne de commande (même valeur que WfEntVar.EntVaC pour WfEntVar.EntVar = PRONumIdProv).

Remarque : Si aucun élément de WfEntVar n’existe pour cette provision, on considère que le montant de la provision dans DIAPASON correspond au montant facturé.

Pour une provision de matière, la quantité, le prix unitaire et/ou le montant de la provision peuvent être différents entre DIAPASON et la facture fournisseur. Il faut donc renseigner les nouvelles valeurs dans WfEntAct tel que :

Quantité facturée : à renseigner si différente entre la provision et la facture

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROFacQte

EntVaN

N

Valeur Numérique

o

Nouvelle quantité facturée

Prix unitaire de la facture : à renseigner si différent entre la provision et la facture

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROFacPrix

EntVaN

N

Valeur Numérique

o

Nouveau prix unitaire facturé

Montant de la ligne de facture : à renseigner si différent entre la provision et la facture

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROFacMontant

EntVaN

N

Valeur Numérique

o

Nouveau montant facturé

NOTE : Il n’est pas nécessaire de renseigner les deux variables PROFacPrix et PROFacMontant. L’un des deux suffit pour recalculer l’autre.

Si le montant facturé est différent du montant initial de la provision, il est possible de définir des provisions d’écarts :

  • Provision d’écart sur Quantité : possible si la quantité initiale de la provision et la quantité facturée sont différentes

Gestion provision d’écart sur quantité :

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROEcaQtGes

EntVaL

L

Valeur Logique

o

Doit contenir Vrai pour être pris en compte

Dans ce cas, une provision d’écart est générée automatiquement avec :

  • Comme quantité : la différence entre la quantité initiale de la provision et la quantité facturée

  • Comme prix unitaire : le prix unitaire initial de la provision

  • Provision d’écart sur Prix : toujours possible

Gestion provision d’écart sur prix :

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROEcaPrGes

EntVaL

L

Valeur Logique

o

Doit contenir Vrai pour être pris en compte

Provision d’écart de type « Avoir » :

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROEcaPrAvo

EntVaL

L

Valeur Logique

o

Doit contenir Vrai pour être pris en compte

Quantité nouvelle provision d’écart :

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROEcaPrQte

EntVaN

N

Valeur Numérique

o

Quantité de la provision d’écart

Prix unitaire nouvelle provision d’écart :

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROEcaPrPrix

EntVaN

N

Valeur Numérique

o

Prix unitaire de la provision d’écart

Montant nouvelle provision d’écart :

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir PRO

EntCl2

C

Clé 2 provision

o

Doit contenir :

Soit le numéro interne de la provision

Soit une liste chaînée contenant le numéro de commande fournisseur, le numéro de BL fournisseur et le numéro de ligne de commande fournisseur séparés par une « , »

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROEcaPrMontant

EntVaN

N

Valeur Numérique

o

Montant de la provision d’écart

NOTE : Il n’est pas nécessaire de renseigner les deux variables PROEcaPrPrix et PROEcaPrMontant. L’un des deux suffit pour recalculer l’autre.

Pour chaque frais annexe sélectionné :

Référence du Frais Annexe

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntTVa

C

Type de Variable

o

Doit contenir FRA

EntVar

C

Variable

o

Doit contenir PRONumFrais

EntVaC

C

Valeur Alphanumérique

o

Numéro du frais annexe

Le lien entre le frais annexe et les valeurs des variables qui s’y rapportent est fait par WfEntVar.EntCl1 et WfEntVar.EntCl2 tels que :

  • WfEntVar.EntCl1 contient FRA

  • WfEntVar.EntCl2 contient le numéro du frais annexe.

Pour un frais annexe, seul le montant du frais peut être différent entre le frais initial et la facture fournisseur. Si c’est le cas, il faut renseigner le nouveau montant du frais dans WfEntAct tel que :

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntCl1

C

Clé 1 provision

O

Doit contenir FRA

EntCl2

C

Clé 2 provision

o

Numéro du frais annexe

EntTVa

C

Type de Variable

o

Doit contenir INI

EntVar

C

Variable

o

Doit contenir PROFacMontant

EntVaN

N

Valeur Numérique

o

Nouveau montant facturé

Remarque : Si cet élément de WfEntVar n’existe pas, on considère que le montant du frais initial correspond à celui de la facture.

En résultat de la fonction :

  • WfEntAct est mis à jour tel que WfEntAct.ActRes contient « *ERR » si une erreur est constatée et dans ce cas WfEntAct.ActErr contient le libellé de cette erreur. Si la fonction s’est bien déroulée, WfEntAct.ActRes contient le numéro interne de la facture traitée et WfEntAct.ActErr est vide.

  • Si la fonction s’est bien déroulée, le montant total des provisions et des frais annexes sélectionnés est renseigné dans WfEntVar tel que :

Nom

T

Désignation

O

Commentaire

EntTEn

C

Entité

o

Doit contenir *PRO-CTR

ActCle

C

Clé

o

Clé pour lien avec WfEntAct

EntTVa

C

Type de Variable

o

Doit contenir RES

EntVar

C

Variable

o

Doit contenir PROMontant

EntVaN

N

Valeur Numérique

o

Montant total des provisions et frais annexes sélectionnés

EntVaC

C

Valeur Alphanumérique

o

Devise dans laquelle est exprimé ce montant

Exemple : Lecture de fichiers contenant le détail des factures fournisseurs avec les écarts éventuels. Cette requête permet :

  • de créer la facture si elle n’existe pas

  • de créer les frais annexes

  • de pré enregistrer le contrôle de facturation

  • de valider le contrôle de facturation si l’écart entre le montant HT de la facture et le montant total des provisions et frais annexes sélectionnés est inférieur à un écart maximum accepté.

COMMENTAIRE : "Récupération des Fichiers contenant les Factures à enregistrer dans Diapason. Chaque fichier contient :"

COMMENTAIRE : "- une première ligne contenant les informations générales de la facture"

COMMENTAIRE : "- les lignes suivantes contenant le détail des BLs et des frais facturés"

VLO.LisFic = EXE-CDE-SYS( CDE-SYS= CLO."ls /tmp/facfou/ff*.txt" , SEPARATEUR= CLO."," , REMP-SEPARATEUR=

CLO."#" )

SI VLO.LisFic <> CLO."*CDE-PB"

VLO.NbFic = NB-MOT( SEPARATEUR= CLO."," , CHAINE= VLO.LisFic )

BOUCLE VLO.Boucle DE 1 A VLO.NbFic :

VLO.NomFic = MOT( SEPARATEUR= CLO."," , CHAINE= VLO.LisFic , NUMERO= VLO.Boucle )

COMMENTAIRE : "Lecture du Fichier"

EFFACER Liste WFFicContenu

EFFACER Liste WfEntAct

EFFACER Liste WfEntVar

VLO.Res = FICHIER( NOM-FICHIER= VLO.NomFic , CDE-SYS-OK= CLO."" , CDE-SYS-PB= CLO."" )

SI VLO.Res = CLO.""

COMMENTAIRE : "Récupération Entête de Facture"

RECH PREM LST WFFicContenu AVEC WFFicContenu.NomFichier = VLO.NomFic ET WFFicContenu.ContenuLigne

COMMENCE_PAR CLO."FAC" :

VLO.DevFou = CLO."EUR"

VLO.GesUti = CLO."ISIA"

VLO.Payer = CGL.OUI

VLO.EcaMax = CLO.5

VLO.EcaMaxNeg = CLO.-1 * VLO.EcaMax

VLO.RefFou = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.4 , LONGUEUR= CLO.15 )

VLO.RefFou = SUP-BLANC( CHAINE= VLO.RefFou )

VLO.FacFou = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.19 , LONGUEUR= CLO.10 )

VLO.FacFou = SUP-BLANC( CHAINE= VLO.FacFou )

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.29 , LONGUEUR= CLO.2 )

VLO.Jour = ENTIER( VALEUR= VLO.Val )

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.31 , LONGUEUR= CLO.2 )

VLO.Mois = ENTIER( VALEUR= VLO.Val )

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.33 , LONGUEUR= CLO.2 )

VLO.An = ENTIER( VALEUR= VLO.Val )

VLO.DatFac = DATE( JOUR= VLO.Jour , MOIS= VLO.Mois , ANNEE= VLO.An )

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.35 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.HTNeg = CGL.OUI

FIN_BLOC

SINON

VLO.HTNeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.36 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.HTFac = DECIMAL( VALEUR= VLO.Val )

SI VLO.HTNeg VRAI

VLO.HTFac = CLO.-1 * VLO.HTFac

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.47 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.TTCNeg = CGL.OUI

FIN_BLOC

SINON

VLO.TTCNeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.48 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.TTCFac = DECIMAL( VALEUR= VLO.Val )

SI VLO.TTCNeg VRAI

VLO.TTCFac = CLO.-1 * VLO.TTCFac

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.59 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.TVANeg = CGL.OUI

FIN_BLOC

SINON

VLO.TVANeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.60 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.TVAFac = DECIMAL( VALEUR= VLO.Val )

SI VLO.TVANeg VRAI

VLO.TVAFac = CLO.-1 * VLO.TVAFac

FIN_BLOC

COMMENTAIRE : "Création Entête de Facture"

COMMENTAIRE : "Recherche si la facture est déjà enregistrée"

VLO.FacDia = CLO.""

RECH PREM TBD/SOC DTD PROFaEn AVEC DTD PROFaEn.ProNbTransCompta = CLO.0 ET

DTD PROFaEn.ProNumFacFour = VLO.FacFou ET DTD PROFaEn.AppRefFour = VLO.RefFou ET

DTD PROFaEn.ProFacSta = CLO."P" :

VLO.FacDia = DTD PROFaEn.ProNumFac

FIN_BLOC

EFFACER Liste WfEntAct

EFFACER Liste WfEntVar

SI VLO.FacDia = CLO.""

CREATION Liste WfEntAct :

PRENDRE WfEntAct Action = CLO."CRE"

PRENDRE WfEntAct ActCle = VLO.FacFou

PRENDRE WfEntAct ActRes = CLO.""

PRENDRE WfEntAct ActErr = CLO.""

PRENDRE WfEntAct EntTEn = CLO."E-FACFOUR"

PRENDRE WfEntAct EntCl1 = CLO."&1"

FIN_BLOC

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."GesUtiRef" , E: VLO.GesUti , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."AppRefFour" , E: VLO.RefFou , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."PRONonAPayer" , E: CLO."" , E: CLO.0 , E: CGL.DATEVIDE , E: VLO.Payer )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."ProDateRecFact" , E: CLO."" , E: CLO.0 , E: VLO.DatFac , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."ProDevFacture" , E: VLO.DevFou , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."ProNumFacFour" , E: VLO.FacFou , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."ProDevMontFacHT" , E: CLO."" , E: VLO.HTFac , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."ProDevMontFacTTC" , E: CLO."" , E: VLO.TTCFac , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."ProDevMontFacTVA" , E: CLO."" , E: VLO.TVAFac , E: CGL.DATEVIDE , E: CGL.NON )

VLO.Res = ENR-ACT-ENT( )

RECH PREM LST WfEntAct AVEC WfEntAct.ActCle = VLO.FacFou :

VLO.Res = WfEntAct.ActErr

CREATION Liste LST.Res :

PRENDRE Res Cle = WfEntAct.ActCle

PRENDRE Res Act = WfEntAct.Action

PRENDRE Res Res = WfEntAct.ActRes

PRENDRE Res Err = WfEntAct.ActErr

FIN_BLOC

COMMENTAIRE : "Récupération du numéro de facture créée"

SI WfEntAct.ActErr = CLO.""

VLO.FacDia = WfEntAct.ActRes

FIN_BLOC

FIN_BLOC

FIN_BLOC

SINON

VLO.Res = CLO.""

CREATION Liste LST.Res :

PRENDRE Res Cle = VLO.FacFou

PRENDRE Res Act = CLO."FAC"

PRENDRE Res Res = VLO.FacDia

PRENDRE Res Err = CLO."Existe Déjà"

FIN_BLOC

FIN_BLOC

FIN_BLOC

SINON

VLO.Res = CLO."*PBFIC"

CREATION Liste LST.Res :

PRENDRE Res Cle = VLO.NomFic

PRENDRE Res Act = CLO."FIC"

PRENDRE Res Res = VLO.Res

PRENDRE Res Err = CLO."Pas de ligne pour l'entête de facture"

FIN_BLOC

FIN_BLOC

COMMENTAIRE : "Si la création de facture s'est bien déroulée, on récupère les lignes de la Facture"

SI VLO.Res = CLO.""

EFFACER Liste WfEntAct

EFFACER Liste WfEntVar

EFFACER Liste LigFac

EFFACER Liste FraisFac

COMMENTAIRE : "Lignes de Commandes"

POUR CHAQUE LST WFFicContenu AVEC WFFicContenu.NomFichier = VLO.NomFic

ET WFFicContenu.ContenuLigne COMMENCE_PAR CLO."LIG" :

VLO.LongLigne = LONGUEUR( CHAINE= WFFicContenu.ContenuLigne )

VLO.Cde = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.4 , LONGUEUR= CLO.10 )

VLO.Cde = SUP-BLANC( CHAINE= VLO.Cde )

VLO.Lig = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.14 , LONGUEUR= CLO.5 )

VLO.Lig = SUP-BLANC( CHAINE= VLO.Lig )

VLO.BL = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.19 , LONGUEUR= CLO.10 )

VLO.BL = SUP-BLANC( CHAINE= VLO.BL )

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.29 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.QteNeg = CGL.OUI

FIN_BLOC

SINON

VLO.QteNeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.30 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.Qte = DECIMAL( VALEUR= VLO.Val )

SI VLO.QteNeg VRAI

VLO.Qte = CLO.-1 * VLO.Qte

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.41 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.PrixNeg = CGL.OUI

FIN_BLOC

SINON

VLO.PrixNeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.42 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.Prix = DECIMAL( VALEUR= VLO.Val )

SI VLO.PrixNeg VRAI

VLO.Prix = CLO.-1 * VLO.Prix

FIN_BLOC

COMMENTAIRE : "Récupération des Provisions d'Ecarts"

VLO.EcaQte = CGL.NON

VLO.EcaPrix = CGL.NON

VLO.Avoir = CGL.NON

VLO.QteEca = CLO.0

VLO.PrixEca = CLO.0

SI VLO.LongLigne > CLO.52

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.53 , LONGUEUR= CLO.3 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

SI VLO.Val = CLO."ECQ"

VLO.EcaQte = CGL.OUI

FIN_BLOC

FIN_BLOC

SI VLO.LongLigne > CLO.55

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.56 , LONGUEUR= CLO.3 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

SI VLO.Val = CLO."ECP"

VLO.EcaPrix = CGL.OUI

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.59 , LONGUEUR= CLO.1 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

SI VLO.Val = CLO."A"

VLO.Avoir = CGL.OUI

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.60 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.QteEcaNeg = CGL.OUI

FIN_BLOC

SINON

VLO.QteEcaNeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.61 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.QteEca = DECIMAL( VALEUR= VLO.Val )

SI VLO.QteEcaNeg VRAI

VLO.QteEca = CLO.-1 * VLO.QteEca

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.72 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.PrixEcaNeg = CGL.OUI

FIN_BLOC

SINON

VLO.PrixEcaNeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.73 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.PrixEca = DECIMAL( VALEUR= VLO.Val )

SI VLO.PrixEcaNeg VRAI

VLO.PrixEca = CLO.-1 * VLO.PrixEca

FIN_BLOC

FIN_BLOC

FIN_BLOC

SI VLO.Cde EXISTE ET <> ""

CREATION Liste LST.LigFac :

PRENDRE LigFac Cde = VLO.Cde

PRENDRE LigFac Lig = VLO.Lig

PRENDRE LigFac BL = VLO.BL

PRENDRE LigFac Qte = VLO.Qte

PRENDRE LigFac Prix = VLO.Prix

PRENDRE LigFac EcaQte = VLO.EcaQte

PRENDRE LigFac EcaPrix = VLO.EcaPrix

PRENDRE LigFac Avoir = VLO.Avoir

PRENDRE LigFac QteEca = VLO.QteEca

PRENDRE LigFac PrixEca = VLO.PrixEca

FIN_BLOC

FIN_BLOC

FIN_BLOC

COMMENTAIRE : "Frais Annexes existant déjà dans Diapason"

POUR CHAQUE LST WFFicContenu AVEC WFFicContenu.NomFichier = VLO.NomFic

ET WFFicContenu.ContenuLigne COMMENCE_PAR CLO."FRA" :

VLO.Frais = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.4 , LONGUEUR= CLO.10 )

VLO.Frais = SUP-BLANC( CHAINE= VLO.Frais )

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.14 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.MontNeg = CGL.OUI

FIN_BLOC

SINON

VLO.MontNeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.15 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.Mont = DECIMAL( VALEUR= VLO.Val )

SI VLO.MontNeg VRAI

VLO.Mont = CLO.-1 * VLO.Mont

FIN_BLOC

SI VLO.Frais EXISTE ET <> ""

CREATION Liste LST.FraisFac :

PRENDRE FraisFac Frais = VLO.Frais

PRENDRE FraisFac Mont = VLO.Mont

FIN_BLOC

FIN_BLOC

FIN_BLOC

COMMENTAIRE : "Frais Annexes à Créer"

VLO.PbCreFrais = CGL.NON

POUR CHAQUE LST WFFicContenu AVEC WFFicContenu.NomFichier = VLO.NomFic

ET WFFicContenu.ContenuLigne COMMENCE_PAR CLO."FRC" :

VLO.Cde = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.4 , LONGUEUR= CLO.10 )

VLO.Cde = SUP-BLANC( CHAINE= VLO.Cde )

VLO.BL = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.14 , LONGUEUR= CLO.10 )

VLO.BL = SUP-BLANC( CHAINE= VLO.BL )

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.24 , LONGUEUR= CLO.1 )

SI VLO.Val = CLO."-"

VLO.MontNeg = CGL.OUI

FIN_BLOC

SINON

VLO.MontNeg = CGL.NON

FIN_BLOC

VLO.Val = SS-CHAINE( CHAINE= WFFicContenu.ContenuLigne , DEBUT= CLO.25 , LONGUEUR= CLO.11 )

VLO.Val = SUP-BLANC( CHAINE= VLO.Val )

VLO.Mont = DECIMAL( VALEUR= VLO.Val )

SI VLO.MontNeg VRAI

VLO.Mont = CLO.-1 * VLO.Mont

FIN_BLOC

SI VLO.Mont EXISTE ET <> 0

CREATION Liste WfEntAct :

PRENDRE WfEntAct Action = CLO."CRE"

PRENDRE WfEntAct ActCle = CLO."FRC"

PRENDRE WfEntAct ActRes = CLO.""

PRENDRE WfEntAct ActErr = CLO.""

PRENDRE WfEntAct EntTEn = CLO."*FRA-ANN"

PRENDRE WfEntAct EntCl1 = CLO.""

FIN_BLOC

EXE-PROC REB CreEntVar ( E: CLO."FRC" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."ENT" ,

E: CLO."GesUtiRef" , E: VLO.GesUti , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: CLO."FRC" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."ENT" ,

E: CLO."AppRefFour" , E: VLO.RefFou , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: CLO."FRC" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."ENT" ,

E: CLO."ProDateFraisAnnexe" , E: CLO."" , E: CLO.0 , E: VLO.DatFac , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: CLO."FRC" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."ENT" ,

E: CLO."ProMontantDevFrais" , E: CLO."" , E: VLO.Mont , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: CLO."FRC" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."ENT" ,

E: CLO."ProDevFraisAnnexe" , E: VLO.DevFou , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: CLO."FRC" , E: CLO."" , E: VLO.Cde , E: CLO."" , E: CLO."" , E: CLO."DET" ,

E: CLO."AppNumCom" , E: VLO.Cde , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: CLO."FRC" , E: CLO."" , E: VLO.Cde , E: CLO."" , E: CLO."" , E: CLO."DET" ,

E: CLO."AppNumBL" , E: VLO.BL , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

VLO.Res = ENR-ACT-ENT( )

RECH PREM LST WfEntAct :

CREATION Liste LST.Res :

PRENDRE Res Cle = WfEntAct.ActCle + " " + VLO.Cde + CLO."/" + VLO.BL

PRENDRE Res Act = WfEntAct.Action

PRENDRE Res Res = WfEntAct.ActRes

PRENDRE Res Err = WfEntAct.ActErr

FIN_BLOC

SI WfEntAct.ActErr = CLO.""

VLO.Frais = WfEntAct.ActRes

FIN_BLOC

SINON

VLO.Frais = CLO.""

FIN_BLOC

FIN_BLOC

EFFACER Liste WfEntAct

EFFACER Liste WfEntVar

SI VLO.Frais EXISTE ET <> ""

CREATION Liste LST.FraisFac :

PRENDRE FraisFac Frais = VLO.Frais

PRENDRE FraisFac Mont = VLO.Mont

FIN_BLOC

FIN_BLOC

FIN_BLOC

SI VLO.PbCreFrais VRAI

QUITTER

FIN_BLOC

FIN_BLOC

COMMENTAIRE : "Pré-Enregistrement de la Facture"

SI VLO.PbCreFrais FAUX

CREATION Liste WfEntAct :

PRENDRE WfEntAct Action = CLO."SAU"

PRENDRE WfEntAct ActCle = VLO.FacFou

PRENDRE WfEntAct ActRes = CLO.""

PRENDRE WfEntAct ActErr = CLO.""

PRENDRE WfEntAct EntTEn = CLO."*PRO-CTR"

FIN_BLOC

COMMENTAIRE : "Données Générales Facture"

SI VLO.FacDia EXISTE ET <> ""

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."INI",

E: CLO."ProNumFac" , E: VLO.FacDia , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

FIN_BLOC

SINON

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."INI",

E: CLO."AppRefFour" , E: VLO.RefFou , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."" , E: CLO."" , E: CLO."" , E: CLO."INI",

E: CLO."ProNumFacFour" , E: VLO.FacFou , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

FIN_BLOC

COMMENTAIRE : "Lignes de Commandes"

VLO.TotLig = CLO.0

POUR CHAQUE LST LigFac :

VLO.ClePro = LigFac.Cde + CLO."," + LigFac.BL + CLO."," + LigFac.Lig

VLO.Qte = LigFac.Qte

VLO.Prix = LigFac.Prix

VLO.EcaQte = LigFac.EcaQte

VLO.EcaPrix = LigFac.EcaPrix

VLO.Avoir = LigFac.Avoir

VLO.QteEca = LigFac.QteEca

VLO.PrixEca = LigFac.PrixEca

VLO.TotLig = VLO.TotLig + ( VLO.Qte * VLO.Prix )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."PRO" , E: CLO."ProNumIdProv" , E: VLO.ClePro , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."PRO" , E: VLO.ClePro , E: CLO."" ,

E: CLO."INI" , E: CLO."PROFacQte" , E: CLO."" , E: VLO.Qte , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."PRO" , E: VLO.ClePro , E: CLO."" ,

E: CLO."INI" , E: CLO."PROFacPrix" , E: CLO."" , E: VLO.Prix , E: CGL.DATEVIDE , E: CGL.NON )

SI VLO.EcaQte VRAI

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."PRO" , E: VLO.ClePro , E: CLO."" ,

E: CLO."INI" , E: CLO."PROEcaQtGes" , E: CLO."" , E: CLO.0 , E: CGL.DATEVIDE , E: VLO.EcaQte )

FIN_BLOC

SI VLO.EcaPrix VRAI

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."PRO" , E: VLO.ClePro , E: CLO."" ,

E: CLO."INI" , E: CLO."PROEcaPrGes" , E: CLO."" , E: CLO.0 , E: CGL.DATEVIDE , E: VLO.EcaPrix )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."PRO" , E: VLO.ClePro , E: CLO."" ,

E: CLO."INI" , E: CLO."PROEcaPrAvo" , E: CLO."" , E: CLO.0 , E: CGL.DATEVIDE , E: VLO.Avoir )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."PRO" , E: VLO.ClePro , E: CLO."" ,

E: CLO."INI" , E: CLO."PROEcaPrQte" , E: CLO."" , E: VLO.QteEca , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."PRO" , E: VLO.ClePro , E: CLO."" ,

E: CLO."INI" , E: CLO."PROEcaPrPrix" , E: CLO."" , E: VLO.PrixEca , E: CGL.DATEVIDE , E: CGL.NON )

FIN_BLOC

FIN_BLOC

COMMENTAIRE : "Frais Annexes"

POUR CHAQUE LST FraisFac :

VLO.Frais = FraisFac.Frais

VLO.Mont = FraisFac.Mont

VLO.TotLig = VLO.TotLig + VLO.Mont

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."FRA" , E: CLO."ProNumFrais" , E: VLO.Frais , E: CLO.0 , E: CGL.DATEVIDE , E: CGL.NON )

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."FRA" , E: VLO.Frais , E: CLO."" ,

E: CLO."INI" , E: CLO."ProFacMontant" , E: CLO."" , E: VLO.Mont , E: CGL.DATEVIDE , E: CGL.NON )

FIN_BLOC

VLO.Res = ENR-ACT-ENT( )

RECH PREM LST WfEntAct AVEC WfEntAct.ActCle = VLO.FacFou :

VLO.Res = WfEntAct.ActErr

CREATION Liste LST.Res :

PRENDRE Res Cle = WfEntAct.ActCle

PRENDRE Res Act = WfEntAct.Action

PRENDRE Res Res = WfEntAct.ActRes

PRENDRE Res Err = WfEntAct.ActErr

FIN_BLOC

FIN_BLOC

COMMENTAIRE : "Si l'écart entre le montant HT de la facture et le montant total des lignes sélectionnées est

inférieur à l'écart maximum souhaité, on valide le contrôle de facturation en répartissant l'écart."

SI VLO.Res = CLO.""

VLO.EcaFac = VLO.HTFac - VLO.TotLig

SI VLO.EcaMaxNeg <= VLO.EcaFac ET VLO.EcaFac <= VLO.EcaMax

RECH PREM LST WfEntAct AVEC WfEntAct.ActCle = VLO.FacFou :

PRENDRE WfEntAct Action = CLO."VAL"

PRENDRE WfEntAct ActRes = CLO.""

PRENDRE WfEntAct ActErr = CLO.""

FIN_BLOC

EXE-PROC REB CreEntVar ( E: VLO.FacFou , E: CLO."*PRO-CTR" , E: CLO."" , E: CLO."" , E: CLO."" ,

E: CLO."INI" , E: CLO."ProMaxEcart" , E: CLO."" , E: VLO.EcaMax , E: CGL.DATEVIDE , E: CGL.NON )

VLO.Res = ENR-ACT-ENT( )

RECH PREM LST WfEntAct AVEC WfEntAct.ActCle = VLO.FacFou :

VLO.Res = WfEntAct.ActErr

CREATION Liste LST.Res :

PRENDRE Res Cle = WfEntAct.ActCle

PRENDRE Res Act = WfEntAct.Action

PRENDRE Res Res = WfEntAct.ActRes

PRENDRE Res Err = WfEntAct.ActErr

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

FIN_BLOC

La requête procédure « Cre_EntVar » contient :

Dans cet exemple, les fichiers contenant les factures à enregistrer sont de la forme :

FACFOU0001 FF20150188150115 00001750.00 00002100.00 00000350.00

LIG50100001 0001 FOU_BL005 00000010.00 00000001.10ECQ

LIG50100001 0002 FOU_BL005 00000020.00 00000001.75

LIG50100001 0003 FOU_BL005 00000030.00 00000056.00 ECPA 00000030.00 00000002.00

FRC50100001 FOU_BL005 00000024.00

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.