Jump to content
  • 0

XML-adepten to the rescue !


VWin

Question

Posted

Hallo, 

ik tracht een veld (tekst) in te stellen met een xml-tekst. 

Een eerste startdeeltje ( als voorbeeld, deel van een gehele tekst met uiteraard nog te wijzigen eigen fmp-veldinhoud...) luidt als volgt:

<?xml version="1.0"?>
<Invoice xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
  <cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0</cbc:CustomizationID>
  <cbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:01:1.0</cbc:ProfileID>
  <cbc:ID>100-2025</cbc:ID>
  <cbc:IssueDate>2025-09-02</cbc:IssueDate>
  <cbc:DueDate>2025-10-02</cbc:DueDate>
  <cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>

Natuurlijk van  zodra ik die tekst in dat veld inbreng en "enter" tik krijg ik steeds diverse opmerkingen, zelfs indien ik begin met "'s te plaatsen ... ( "hier wordt eeen operator verrwacht" of "duide ene tabel aan".

Kan er mij iemand op weg helpen om die foutmeldingen te vermijden  ? 

PS: inderdaad... heeft met peppol te maken ;-)

14 answers to this question

Recommended Posts

  • 0
Posted

Dat lukt dan inderdaad wel.


Maar ... dan is het wel een hondenwerk (voorafgaandelijk in een tekstverwerker extern aan fmp ?)  om eigen velden  (zie enkele gekleurde voorbeelden in bijlage van te vervangen eigen inhoud) te integreren in die tekst

EN vrees ik dat uiteindelijk zelfs dan de bewuste inhoud van die bestandsvelden bij een export niet zal te zien zijn ... Of toch ?

Indien niet ben ik terug naar af en zou enkel een methode via set variable of set field toch moeten werken. Maar hoe ?

Het is echt verleidelijk om op die manier een werkende peppol-factuur aan te maken want bij een test op https://www.itb.ec.europa.eu/invoice/upload bleek de totale tekst volledig aanvaardbaar !

xml test.pdf

  • 0
Posted

Ik zou in de basis tekst blokken zetten die je in een script / formule vervangt door de waardes in de velden.

de basis tekst kun je met insert text in een variabele zetten en daarna bewerken met een script.

bv:

  <cbc:ID>[ID]</cbc:ID>
  <cbc:IssueDate>[ISSUEDATE]</cbc:IssueDate>
  <cbc:DueDate>[DUEDATE]</cbc:DueDate>
  <cbc:InvoiceTypeCode>[INVOICETYPECODE]</cbc:InvoiceTypeCode>

  • 0
Posted

 

Bedoel je dat dan bv [ISSUEDATE] zou worden [file A::field one]  (zonder ""-en ) ?

en dat dan bij een export in de globale xml-tekst de "[" en "]"  verdwijnen én de data uit de ingeschoven velden wel getoond worden ???

  • 0
Posted

mmmh, niet slecht . Gaan we effe proberen...

Maar  (vraag van een dummy althans in deze materie)....:  Het su dus een functie en geen scriptlijn. Dan moet je dus een nieuw veld aanmaken en daarin de functie substitute gebruiken. Moet dan als "tekstbasis" hierin de ganse tekst komen te staan die je wilt wijzigen of enkel de referentie van het veld waarin die tekst staat ?

  • 0
Posted

Je kunt het in veld definities doen, maar meestal gebruik je een script.

eerst zet je de basis tekst in een variabele met Insert als tekst, daarna kun je die tekst vullen met één of meerdere set variable stappen door de [TAG] te vervangen door de veldwaardes.  

Zoals Sumar aangeeft kun je meerdere substitute commando's in 1 keer gebruiken
 

  • 0
Posted

En dus nog even mijn vraag: hoe ziet zo'n scriptlijn er uit ? Want ik vind niet echt de betrokken "substitute"-lijn om te gebruiken in zo'n script (ik vond het enkel als functie om een berekening te maken in een veld )

  • 0
Posted

script step : insert text (zet XML in $XmlTemplate)

script step : set variabele $XML :  Subsititute ($XmlTemplate: 
                                                         [ “[AAA1]”; tabel::veld1  ] ;
                                                         [ “[AAA2]”; tabel::veld2 ]  ;
                                                         [ “[AAA3]”; tabel::veld3 ] ;
                                                         [ “[AAA4]”; tabel::veld4 ] ;
                                                          ……
                                                          [ “[AAAxx]"; tabel::veldx  ] 

[AAAA..] zijn de teksten die aangepast moeten worden, je kan ook $cbc::IssueDate$ oid gebruiken als je dat makkelijker/duidelijker vindt. Belangrijkste is dat ’t duidelijk is en dat het niet voorkomt in de reguliere tekst (ook niet na vervanging).

  • 0
Posted (edited)
Op 10-10-2025 om 05:10, Sumar zei:

script step : insert text (zet XML in $XmlTemplate)

script step : set variabele $XML :  Subsititute ($XmlTemplate: 
                                                         [ “[AAA1]”; tabel::veld1  ] ;
                                                         [ “[AAA2]”; tabel::veld2 ]  ;
                                                         [ “[AAA3]”; tabel::veld3 ] ;
                                                         [ “[AAA4]”; tabel::veld4 ] ;
                                                          ……
                                                          [ “[AAAxx]"; tabel::veldx  ] 

[AAAA..] zijn de teksten die aangepast moeten worden, je kan ook $cbc::IssueDate$ oid gebruiken als je dat makkelijker/duidelijker vindt. Belangrijkste is dat ’t duidelijk is en dat het niet voorkomt in de reguliere tekst (ook niet na vervanging).

Goed nieuws. Dankszij de voorgestelde methodiek van Sumar  (vervangen in een script van initiële "blokken" dmv "substitute")  ben ik er vlot in geslaagd een valabele XML-file aan te maken die perfect ingelezen werd na opsturen als bijlage in een email.

Allen nogmaals bedankt !

Edited by VWin
  • 0
Posted (edited)

... Het ging 'm om het opsturen in XML-formaat van B2B-facturen (na opzoeken op basis van criteria) individueel verstuurd  naar Billit om verder te  naar de peppol-acount van de betrokken B2B-klant te verzenden.

Edited by VWin
  • 0
Posted

Wij zetten alles is variabelen die nadien aan elkaar worden geplakt om tot 1 xml te komen.
Maakt het makkelijker om te debuggen om een variabele maar 1 of een paar lijnen van de xml bevat.

"<cbc:IssueDate>" & FormatDate ( Peppol_Documenten::DocumentDatum; "[YYYY]-[MM]-[DD]" ) & "</cbc:IssueDate>" & Char(10)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...