ONYX - Utilisation - Convertisseur Texte paginé vers XML Pivot
Différence entre versions
(→Eclatement du fichier XML Designer en plusieurs XML Pivot) |
(→Eclatement du fichier XML Designer en plusieurs XML Pivot) |
||
Ligne 251 : | Ligne 251 : | ||
Nous avons également à disposition 2 variables pouvant être utilisée dans la variable DB.cmd : | Nous avons également à disposition 2 variables pouvant être utilisée dans la variable DB.cmd : | ||
− | *{{FILE}} : Fichier issu de l'éclatement | + | *<nowiki>{{FILE}}</nowiki> : Fichier issu de l'éclatement |
− | *{{DOC-BREAK}} : Valeur de rupture de document (du coup d'éclatement) | + | *<nowiki>{{DOC-BREAK}}</nowiki> : Valeur de rupture de document (du coup d'éclatement) |
===Les commandes d'exécutions associés=== | ===Les commandes d'exécutions associés=== |
Version du 17 octobre 2023 à 07:30
Sommaire
Introduction
L'objet du convertisseur texte paginé (PAG) vers XML Pivot (Module : PAGTOPIVOT) est de convertir un fichier texte paginé (Spooled files IBM-i, fichiers textes paginée provenant d'ERP quelquonces) en XML Pivot. Il peut avoir plusieurs intérêts à faire cela :
- Génération de formats UBL, CII et Factur-X pour la facturation électronique
- Besoin de faire un document en revoyant totalement la pagination d'un flux texte provenant par exemple d'un IBM-i (ou autres)
En effet, Efalia Compose (Anciennement MAPPING), utilise le format XML Pivot comme format standard pour les conversions de flux. De ce fait, il est très aisé de générer un flux CII, UBL ou même XML Designer afin de recomposer un document.
Le convertisseur texte paginé vers XML Pivot donne la possibilité de profiter de toutes ces sorties et fonctionnalités quand l'ERP génère un fichier texte paginé.
Prérequis
- La clé Connect doit être activée sur le serveur Efalia Compose
- Compatible avec la version Onyx sous Windows et Linux
- Les valeurs présentes dans le fichier texte paginé doivent être au format attendu dans le fichier XML Pivot (pas de modification de format dans un premier temps : Possible dans une valeur ultérieure)
Principe de fonctionnement
Le convertisseur se passe en deux étapes :
- Exécution d'une maquette Designer générerant un XML Designer du fichier texte paginé (maquette designer respectant quelques normes)
- Exécution du convertisseur DRAW2PIVOT pour convertir la sortie XML Designer en XML Pivot
A ce moment là, le XML Pivot sera disponible et pourra être utilisé comme souhaité.
Etape 1 : Maquette Designer et exécution du mapcpysplf
La maquette Designer permet le passage du fichier texte paginé (spool) en fichier XML Designer.
La maquette Designer doit lister les tous les champs et groupes devant être retrouvés dans le flux XML Pivot en sortie.
Champs devant être créés au niveau <doc>
Les champs hors groupe (dit en standalone), feront l'objet d'un <field> au niveau <doc>.
Les <field> étant dans des groupes Designer non listés dans les éléments <list> du fichier de paramétrage du convertisseur seront placés également au niveau <doc> (groupes dît à "tête chercheuse"). Afin d'assurer un nom unique au sein du XML Pivot en sortie, les noms de ces champs seront composés de plusieurs éléments concaténés par un underscore : Group_Line_IDSequenceDeLine_NomDuField
Exemple : ADDRESS_COMPANYNAME_1_COMPNAME
Champs devant être créés dans une liste
Les <field> présents dans un groupe listé dans les balises <list> du fichier de paramétrage feront eux l'objet d'une liste <list> dans le fichier XML Pivot généré.
Il existe deux types de listes : Les listes repeated et continue
Règle de rupture d'item <item> dans les listes
La règle de rupture sur les <item> de la future liste dans le fichier de sortie XML Pivot se base sur le nom de la <line> @name du groupe Designer d'où elle provient :
- La présence de la valeur _1 dans le nom de la ligne (Exemple : <line name="BG-25_1" ><field name="BT-153" >Infoprint 20 IBM</field></line>)
- Absence de _ dans le nom de la ligne ((Exemple : <line name="BG-27" ><field name="BT-136" >123.00</field>)
Exemple
<group name="BG-25" > <line name="BG-25_1" > <field name="BT-153" >Infoprint 20 IBM</field> </line> <line name="BG-25_2" > <field name="BT-129" >1</field> <field name="BT-130" >12</field> <field name="BT-134" >20230702</field> <field name="BT-135" >20230702</field> <field name="BT-147" >10.00</field> <field name="BT-148" >20050.00</field> </line> <line name="BG-25_3" > <field name="FRFE-136" >123456788</field> <field name="FRFE-138" >20230801</field> <field name="FRFE-149" >LILLE</field> </line> <line name="BG-25_4" > <field name="FRFE-150" >Adresse postal de la livraison à la ligne</field> <field name="FRFE-151" >Ligne adresse 1</field> <field name="FRFE-152" >Ligne adresse 2</field> <field name="FRFE-153" >Ligne adresse 3 </field> </line> <line name="BG-25_5" > <field name="FRFE-154" >Ville</field> <field name="FRFE-156" >Subdivision pays de livraison</field> <field name="FRFE-157" >FR</field> <field name="FRFE-158-0" >20230701</field> <field name="FRFE-158" >20230702</field> <field name="FRFE-155" >Code postal livraison </field> </line> <line name="BG-27" > <field name="BT-136" >123.00</field> </line> <line name="BG-27" > <field name="BT-136" >321.00</field> </line> <line name="BG-25_1" > <field name="BT-153" >Infoprint 60 IBM</field> </line> <line name="BG-25_2" > <field name="BT-129" >1</field> <field name="BT-130" >12</field> <field name="BT-134" >20230702</field> <field name="BT-135" >20230702</field> <field name="BT-147" >10.00</field> <field name="BT-148" >15550.00</field> </line> <line name="BG-25_3" > <field name="FRFE-136" >123456788</field> <field name="FRFE-138" >20230801</field> <field name="FRFE-149" >LILLE</field> </line> <line name="BG-25_4" > <field name="FRFE-150" >Adresse postal de la livraison à la ligne</field> <field name="FRFE-151" >Ligne adresse 1</field> <field name="FRFE-152" >Ligne adresse 2</field> <field name="FRFE-153" >Ligne adresse 3</field> </line> <line name="BG-25_5" > <field name="FRFE-154" >Ville l</field> <field name="FRFE-156" >Subdivision pays de livraison</field> <field name="FRFE-157" >FR</field> <field name="FRFE-158-0" >20230701</field> <field name="FRFE-158" >20230702</field> <field name="FRFE-155" >Code postal livraison</field> </line> <line name="BG-27" > <field name="BT-136" >123.00</field> </line> <line name="BG-27" > <field name="BT-136" >321.00</field> </line> <group name="BG-25" >
La rupture sur les <item> se fait sur les lignes indiquées en gras.
Fichier en sortie :
<list id="BG-25"> <item type="BG-25"> <field id="BT-153">Infoprint 20 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">20050.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 60 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">15550.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> </list>
Gestion de la rupture de document
Il est possible que le fichier texte paginé (PAG) en entrée soit multi-document. En d'autres termes, il est possible qu'il y ait par exemple, plusieurs factures au sein du même fichier. Si c'est le cas, le fichier XML Pivot en sortie devra être composé de 2 balises <doc>
<doc type="INVOICE00010"> ... </doc> <doc type="INVOICE00010"> ... </doc>
Pour ce faire, on doit spécifier un champ de rupture. Un nouveau document sera alors créé lors d'un changement de cette valeur.
remarque : La valeur de l'attibut type de la balise <doc> (<doc type="xxx">), portera le nom du format avec son numéro de séquence de la maquette designer utilisé pour la génération du fichier XML Designer
Solution : Dans la maquette, il faudra alors mapper la valeur de rupture (exemple : Numéro de facture) et nommer la zone DOC-BREAK
Les commandes d'exécutions associés
Conversion du fichier texte paginé en fichier XML Designer :
"C:\MAPPING\M-Processing Server\Applications\mapcpysplf" "-infile:C:\DesignerToPivot\PAG.txt" "-mapnam:FLUX2" "-xmlmapping" -xmloutfile:C:\DesignerToPivot\flux1_XML_Designer.xml -overflow:9999
Etape 2 : Conversion du XML Designer en XML Pivot
Une fois le fichier XML Designer (appelé aussi XMLDRAW) obtenu dans le format souhaité (groupes respectant la logique de rupture d'item, et), il est alors temps de le convertir vers le fichier cible dît XML Pivot
Fichier de paramétrage
Le convertisseur DRAW2PIVOT peut lire un fichier de paramétrage dans lequel nous pouvons :
- Surcharger le champ DOC-BREAK de rupture de doc <field id="DOC-BREAK">NUM_FAC</field>
- Lister les groupes Designer devant donner naissance à une liste dans le fichier de sortie XML Pivot <list id="BG-1" type="continue"/>
Attribut type de l'élément <list>
<list id="BG-1" type="xxx"/>
L'attribut type permet de spécifier le type de groupe Designer est lié à cette liste :
continue (valeur par défaut)
<list id="BG-1" type="continue"/>
L'attribut type=continue décrit un groupe continu à travers les différentes pages. Un exemple de groupe continu est par exemple la liste de détails d'une facture.
La page 2 contient la suite des information de la page 1.
On parle alors donc d'un groupe ou d'une liste continue
repeated
<list id="BG-1" type="repeated"/>
L'attribut type=repeated décrit un groupe se répétant de manière identique sur les différentes pages. Son contenu sera alors insérer qu'une seule fois dans le fichier XML Pivot. Un groupe repeated peut par exemple être la liste de TVA d'une facture. La liste de TVA peut être sur toutes les pages de la facture mais uniquement pour rappel à l'utilisateur, mais étant identiques sur toutes les pages il peut finalement se trouver uniquement sur une page (généralement la dernière pour la liste de TVA).
On parle alors donc d'un groupe ou d'une liste repeated
Exemple de fichier de paramétrage
<param> <doc type="FLUX100010"> <field id="DOC-BREAK">NUM_FAC</field> !--si la liste est non présente ici alors, groupe tête-chercheuse--> <list id="BG-1" type="continue"/><!--Default : continue--> <list id="BG-20" type="repeated"/><!--Default : continue--> <list id="BG-23" type="repeated"/><!--Default : continue--> <list id="BG-25" type="continue"/><!--Default : continue--> <list id="BG-3" type="repeated"/><!--Default : continue--> </doc> </param>
Eclatement du fichier XML Designer en plusieurs XML Pivot
Le convertisseur DRAW2PIVOT permet également l'éclatement du XML Pivot en sortie en XML Pivot unique par document. L'éclatement se fera sur la rupture du champ <DOC-BREAK>. On obtiendra alors un document unique <doc> par XML Pivot résultant :
<data> <doc> ... </doc> </data>
Nous avons également à disposition 2 variables pouvant être utilisée dans la variable DB.cmd :
- {{FILE}} : Fichier issu de l'éclatement
- {{DOC-BREAK}} : Valeur de rupture de document (du coup d'éclatement)
Les commandes d'exécutions associés
Conversion du fichier XML designer en fichier XML Pivot (sans éclatement de fichier) :
"C:\MAPPING\M-Processing Server\Applications\maprunrpt" "-rptname:DRAW2PIVOT" "-param:DB.infile=C:\DesignerToPivot\DesignerToPivot\flux1_Exemple.xml" "-param:DB.param=P:\MAPPING\M-Designer\docpc\Clients\Efalia\DesignerToPivot\designertopivot_param.xml" "-outfile:C:\DesignerToPivot\DesignerToPivot\out1.xml"
Conversion du fichier XML designer en fichier XML Pivot (Avec éclatement de fichier) :
c:\MAPPING\M-Processing Server\Applications\maprunrpt -rptname:DRAW2PIVOT"-param:DB.infile=C:\DesignerToPivot\DesignerToPivot\flux1_Exemple.xml" "-param:DB.param=P:\MAPPING\M-Designer\docpc\Clients\Efalia\DesignerToPivot\designertopivot_param.xml" '"-param:DB.cmd=""""C:\MAPPING\M-Processing Server\Applications\map_lp"""" """"-DTEST"""" """"-title:{{DOC-BREAK}}"""" """"-data:{{FILE}}"""""' '"-param:DB.path_temp=C:\DesignerToPivot\DesignerToPivot\out_temp"' "-param:DB.split_doc=true"
Exemple général
Prenons pour exemple, le besoin de convertir un fichier texte paginé en XML Pivot afin de gérer un flux CII flux 1 pour la facturation électronique.
Structure du fichier texte paginé
Le fichier texte paginé est un exemple de flux. N'importe quel flux pouvant être pris en charge par Designer peut être utilisé.
Dans notre cas, la facture comporte tous les champs possible du flux 1.
Ce flux d'exemple a été enrichi et modifier pour répondre aux exigences de la norme CII (flux 2) :
Maquette associée
La maquette comporte tous les champs ainsi qu'un champ de rupture de document DOC-BREAK.
Fichier de sortie XML Pivot
<doc type="FLUX100010"> <field id="DOC-BREAK">0024657</field> <field id="edi_BT-1">0024657</field> <field id="edi_BT-23">321</field> <field id="edi_BT-2">2023080</field> <field id="edi_BT-24">urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic</field> <field id="edi_BT-3">380</field> <field id="edi_BT-5">EUR</field> <field id="edi_BT-8">72</field> <field id="edi_BT-9">20230802</field> <field id="edi_BT-29A-1">1234</field> <field id="edi_BT-29A">79452145700021</field> <field id="edi_BT-30">00000000000000</field> <field id="edi_BT-30-1">0002</field> <field id="edi_BT-31">794521457</field> <field id="edi_BT-31-0">VA</field> <field id="edi_BT-40">FR</field> <field id="edi_BT-47">79452145800022</field> <field id="edi_BT-47-1">4321</field> <field id="edi_BT-48">0002</field> <field id="edi_BT-48-0">794521458</field> <field id="edi_BT-55">FR</field> <field id="edi_BT-63">BT-63_value</field> <field id="edi_BT-63-1">BT-63-1_value</field> <field id="edi_BT-72">20230202</field> <field id="edi_BT-73">20230201</field> <field id="edi_BT-74">20230228</field> <field id="edi_BT-75">Adresse réalisation prestation ligne 1</field> <field id="edi_BT-76">Adresse réalisation prestation ligne 2</field> <field id="edi_BT-77">Localité réalisation prestation</field> <field id="edi_BT-78">Code postalréalisation prestation</field> <field id="edi_BT-79">FRANCE</field> <field id="edi_BT-80">FR</field> <field id="edi_BT-165">Adresse réalisation prestation ligne 3</field> <field id="edi_BT-109">141600.00</field> <field id="edi_BT-110">28070.00</field> <list id="BG-1"> <item type="None"> <field id="BT-21">121</field> <field id="BT-22"> la note 1 de la facture</field> </item> <item type="None"> <field id="BT-21">122</field> <field id="BT-22">Voici la note 2 de la facture</field> </item> <item type="None"> <field id="BT-21">123</field> <field id="BT-22"> la note 3 de la facture</field> </item> <item type="None"> <field id="BT-21">124</field> <field id="BT-22"> la note 4 de la facture</field> </item> <item type="None"> <field id="BT-21">125</field> <field id="BT-22">Voici la note 5 de la facture</field> </item> <item type="None"> <field id="BT-21">126</field> <field id="BT-22"> la note 6 de la facture</field> </item> </list> <list id="BG-3"> <item type="None"> <field id="BT-25">987654321</field> <field id="BT-26">20230108</field> </item> <item type="None"> <field id="BT-25">987654320</field> <field id="BT-26">20230107</field> </item> </list> <list id="BG-25"> <item type="BG-25"> <field id="BT-153">Infoprint 20 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">20050.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 60 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">15550.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 70 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">17550.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 32 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">31950.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 32 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">18000.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 20 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">18000.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 60 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">18000.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> </list> <list id="BG-20"> <item type="None"> <field id="BT-92">123.20</field> <field id="BT-95">S</field> <field id="BT-96">20.00</field> </item> <item type="None"> <field id="BT-92">130.20</field> <field id="BT-95">S</field> <field id="BT-96">10.00</field> </item> </list> <list id="BG-23"> <item type="None"> <field id="BT-116">139100.00</field> <field id="BT-117">27820.00</field> <field id="BT-118">S</field> <field id="BT-119">20.0</field> <field id="BT-120">Geste commercial</field> <field id="BT-121">VATEX-EU-132-1H</field> </item> <item type="None"> <field id="BT-116">2500.00</field> <field id="BT-117">250.00</field> <field id="BT-118">S</field> <field id="BT-119">10.0</field> <field id="BT-120">Geste commercial</field> <field id="BT-121">VATEX-EU-132-1H</field> </item> </list> </doc> <doc type="FLUX100010"> <field id="DOC-BREAK">0024658</field> <field id="edi_BT-1">0024657</field> <field id="edi_BT-23">321</field> <field id="edi_BT-2">2023080</field> <field id="edi_BT-24">urn:cen.eu:en16931:2017#compliant#urn:factur-x.eu:1p0:basic</field> <field id="edi_BT-3">380</field> <field id="edi_BT-5">EUR</field> <field id="edi_BT-8">72</field> <field id="edi_BT-9">20230802</field> <field id="edi_BT-29A-1">1234</field> <field id="edi_BT-29A">79452145700021</field> <field id="edi_BT-30">00000000000000</field> <field id="edi_BT-30-1">0002</field> <field id="edi_BT-31">794521457</field> <field id="edi_BT-31-0">VA</field> <field id="edi_BT-40">FR</field> <field id="edi_BT-47">79452145800022</field> <field id="edi_BT-47-1">4321</field> <field id="edi_BT-48">0002</field> <field id="edi_BT-48-0">794521458</field> <field id="edi_BT-55">FR</field> <field id="edi_BT-63">BT-63_value</field> <field id="edi_BT-63-1">BT-63-1_value</field> <field id="edi_BT-72">20230202</field> <field id="edi_BT-73">20230201</field> <field id="edi_BT-74">20230228</field> <field id="edi_BT-75">Adresse réalisation prestation ligne 1</field> <field id="edi_BT-76">Adresse réalisation prestation ligne 2</field> <field id="edi_BT-77">Localité réalisation prestation</field> <field id="edi_BT-78">Code postalréalisation prestation</field> <field id="edi_BT-79">FRANCE</field> <field id="edi_BT-80">FR</field> <field id="edi_BT-165">Adresse réalisation prestation ligne 3</field> <field id="edi_BT-109">141600.00</field> <field id="edi_BT-110">28070.00</field> <list id="BG-1"> <item type="None"> <field id="BT-21">121</field> <field id="BT-22"> la note 1 de la facture</field> </item> <item type="None"> <field id="BT-21">122</field> <field id="BT-22">Voici la note 2 de la facture</field> </item> <item type="None"> <field id="BT-21">123</field> <field id="BT-22"> la note 3 de la facture</field> </item> <item type="None"> <field id="BT-21">124</field> <field id="BT-22"> la note 4 de la facture</field> </item> <item type="None"> <field id="BT-21">125</field> <field id="BT-22">Voici la note 5 de la facture</field> </item> <item type="None"> <field id="BT-21">126</field> <field id="BT-22"> la note 6 de la facture</field> </item> </list> <list id="BG-3"> <item type="None"> <field id="BT-25">987654321</field> <field id="BT-26">20230108</field> </item> <item type="None"> <field id="BT-25">987654320</field> <field id="BT-26">20230107</field> </item> </list> <list id="BG-25"> <item type="BG-25"> <field id="BT-153">Infoprint 20 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">20050.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 60 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">15550.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 70 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">17550.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 32 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">31950.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 32 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">18000.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 20 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">18000.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> <item type="BG-25"> <field id="BT-153">Infoprint 60 IBM</field> <field id="BT-129">1</field> <field id="BT-130">12</field> <field id="BT-134">20230702</field> <field id="BT-135">20230702</field> <field id="BT-147">10.00</field> <field id="BT-148">18000.00</field> <field id="FRFE-136">123456788</field> <field id="FRFE-138">20230801</field> <field id="FRFE-149">LILLE</field> <field id="FRFE-150">Adresse postal de la livraison à la ligne</field> <field id="FRFE-151">Ligne adresse 1</field> <field id="FRFE-152">Ligne adresse 2</field> <field id="FRFE-153">Ligne adresse 3</field> <field id="FRFE-154">Ville l</field> <field id="FRFE-156">Subdivision pays de livraison</field> <field id="FRFE-157">FR</field> <field id="FRFE-158-0">20230701</field> <field id="FRFE-158">20230702</field> <field id="FRFE-155">Code postal livraison</field> </item> <item type="BG-27"> <field id="BT-136">123.00</field> </item> <item type="BG-27"> <field id="BT-136">321.00</field> </item> </list> <list id="BG-20"> <item type="None"> <field id="BT-92">123.20</field> <field id="BT-95">S</field> <field id="BT-96">20.00</field> </item> <item type="None"> <field id="BT-92">130.20</field> <field id="BT-95">S</field> <field id="BT-96">10.00</field> </item> </list> <list id="BG-23"> <item type="None"> <field id="BT-116">139100.00</field> <field id="BT-117">27820.00</field> <field id="BT-118">S</field> <field id="BT-119">20.0</field> <field id="BT-120">Geste commercial</field> <field id="BT-121">VATEX-EU-132-1H</field> </item> <item type="None"> <field id="BT-116">2500.00</field> <field id="BT-117">250.00</field> <field id="BT-118">S</field> <field id="BT-119">10.0</field> <field id="BT-120">Geste commercial</field> <field id="BT-121">VATEX-EU-132-1H</field> </item> </list> </doc>
Evolutions futures
- Imbrication de listes
- Ajout d'un numéro incrément d'item afin de lier tous les <item> logique à son <item> physique