Eingehende Belege - 1 XML mit n Belegen

11. April 2019 07:40

Hallo zusammen,

wir nutzen das Modul "eingehende Belege" (Incoming Documents) für den Import von Eingangsrechnungen im XML-Format.
Nun kommen wir an den Punkt an welchem wir mehrere Rechnungen in einer XML-Datei haben. Da das Modul grundsätzlich nur eine 1:1 Beziehung abbildet (1 XML > 1 Incoming Document > 1 ungebuchte Einkaufsrechnung) überlegen wir, wie wir da am Besten rangehen...

Eigentlich gibt es 3 theoretische Optionen:

- die XML-Datei wird vor dem Import in Einzelrechnungen zerlegt, so dass wir wieder 1 XML pro Rechnung haben und in NAV alles so bleibt wie es ist. Knackpunkt: Man hat zwingend eine Vorverarbeitung (Batch, XML-Parser, etc...) was ich eigentlich vermeiden möchte.
- die XML-Datei wird über das Datenaustausch-Framework (Data Exchange Framework) zerlegt. Quasi XML Import, XML Export pro Rechnung und erneuter XML-Import. Ergebnis wie oben, aber ein doofer Medienbruch
- XML wird importiert und generiert 1 "Incoming Document" und daraus dann n Einkaufsrechnungen. Das wäre eigentlich der optimale Weg. Da das Modul aber für die 1:1 Beziehung designed wurde, muss die Karte und jede Nachverarbeitung angepasst werden. Auf der Karte wird z.B. das Feld "Eink. v. Kred" nicht mehr gefüllt (sind ja mehrere), etc...

Hat sich damit schon mal jemand beschäftigt?

Grüße

Re: Eingehende Belege - 1 XML mit n Belegen

11. April 2019 08:55

Wenn du in der Spaltendefinition die Pfade anpasst könntest du damit erreichen, dass er über die n-Belege iteriert. Du müsstest dann noch in der Datenaustauschdefinition den Datenzeilen-Tag entsprechend definieren. Das heißt aber noch nicht, dass die Codeunit, die die Dokumente tatsächlich anlegt, darauf klar kommt.

Kopier dir am besten die jeweilige Definition und versuch es mal aus.

Der einfachste und schnellste Weg wäre wohl per Powershell vorher die XML in einzelne XML zu zerlegen.