LL ver.26 , E-Rechnung, PDF und XML zusammenbinden in Delphi

Hallo zusammen , Ich versuche wie unten gesendet habe , ein ZUGFeRD REchnung erstellen.

Erst erstelle ich XML Datei , danach mit L&L Compenent einbinden. XML und PDF Dateien wurde erstellt. Aber in PDF Anhang XML Datei nicht dabei. Wo möglicher Fehler bei mir ?

LLNret := LL.LlPrintStart(LL_PROJECT_LIST, 'c:\E-Rechnung\zugferd.lst', LL_PRINT_EXPORT);
      LL.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, 'PDF');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.File', lspathpdf);
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.Path', 'C:\E-Rechnung\Output');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.Quiet', '1');
      ll.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.Conformance', 'PDF/A-3b');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.ZUGFeRDVersion', '2.1');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.PdfZUGFeRDConformanceLevel', 'BASIC');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.ZUGFeRDXmlPathxx', lsPath);
      LL.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, 'PDF');
      DefineFields26(MyQAuftrag, ll, '');

      Ll.LlPrint;
      ll.LlPrintEnd(0);

Freundliche Grüße ,
SAKAL

Ich denke, wir bräuchten da mal ein Logfile um zu sehen, was schiefläuft.

Schau mal den Code hier an:

Ich denke, dass hier die Option falsch benannt wurde. Es müsste PDF.ZUGFeRDXmlPath anstellen von PDF.ZUGFeRDXmlPathxx heißen. Sonst aber im Log schauen.

1 Like

LL.LlPrintStart(LL_PROJECT_LIST, ‘c:\E-Rechnung\zugferd.lst’, LL_PRINT_EXPORT );
LL.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, ‘PDF’);
LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ‘PDF’, ‘Export.File’,inttostr(MyQAuftrag.RecNo)+‘.pdf’);
LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ‘PDF’, ‘Export.Path’, 'C:\E-Rechnung\output');
LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ‘PDF’, ‘Export.Quiet’, ‘1’);
ll.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ‘PDF’, ‘PDF.Conformance’, ‘PDF/A-3b’);
LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ‘PDF’, ‘PDF.ZUGFeRDVersion’, ‘2.1’);
LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ‘PDF’, ‘PDF.ZUGFeRDConformanceLevel’, ‘BASIC’);
LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, ‘PDF’, ‘PDF.ZUGFeRDXmlPath’, ‘C:\E-Rechnung\output\2358.XML’);
LL.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, ‘PDF’);

Das ist die letzte Zustand. Pdf Datei wurde erzeugt, aber ohne XML Attach. Hier ist Logdatei :

[/]
{
[Job]
{
CreationInfo=19.09.2024, 15:41:28 (VM10TKrusche on DESKTOP-B8D442K)
*sCreated=19.09.2024, 15:41:28
*sCreatedByApp=-1
*sCreatedByDLL=-1
*sCreatedByUser=VM10TKrusche on DESKTOP-B8D442K
*sCreatorApplication=-1
DefaultFont={(0,0,0),12.000000,-16,0,0,0,400,0,0,0,0,4,0,0,0,Arial}
ExportFormats.Allowed=DOCX;FILE;HTML5;JSON;MHTML;MSFAX;PDF;PICTURE_BMP;PICTURE_EMF;PICTURE_JPEG;PICTURE_MULTITIFF;PICTURE_PNG;PICTURE_TIFF;PPTX;PRES;PRN;PRV;RTF;SVG;TTY;TXT;TXT_LAYOUT;XHTML;XLS;XML;XPS
IssueRange=
PageRange=
ProjectParameter.Export.File=4.pdf
ProjectParameter.Export.Path=C:\E-Rechnung\output
ProjectParameter.Export.Quiet=1
ProjectParameter.LL.ActiveLayout=
ProjectParameter.LL.DesignScheme=COMBIT
ProjectParameter.LL.EmbedDrilldownReports=0
ProjectParameter.LL.FAX.Queue=
ProjectParameter.LL.FAX.RecipName=
ProjectParameter.LL.FAX.RecipNumber=
ProjectParameter.LL.FAX.SenderBillingCode=
ProjectParameter.LL.FAX.SenderCompany=
ProjectParameter.LL.FAX.SenderDepartment=
ProjectParameter.LL.FAX.SenderName=
ProjectParameter.LL.IssueCount=1
ProjectParameter.LL.LabelCopyCount=1
ProjectParameter.LL.MAIL.BCC=
ProjectParameter.LL.MAIL.CC=
ProjectParameter.LL.MAIL.From=
ProjectParameter.LL.MAIL.ReplyTo=
ProjectParameter.LL.MAIL.Subject=
ProjectParameter.LL.MAIL.To=
ProjectParameter.LL.MinPageCount=1
ProjectParameter.LL.MultiPassCondition=-1
ProjectParameter.LL.MultiPassCount=1
ProjectParameter.LL.PageCondition=-1
ProjectParameter.LL.PageWrapCondition=0
ProjectParameter.LL.PrintJobLCID=
ProjectParameter.LL.ProjectDescription=List & Label Projektdatei
ProjectParameter.LL.SlideShow.TransformationID=
ProjectParameter.PDF.Conformance=PDF/A-3b
ProjectParameter.PDF.ZUGFeRDConformanceLevel=BASIC
ProjectParameter.PDF.ZUGFeRDVersion=2.1
ProjectParameter.PDF.ZUGFeRDXmlPath=C:\E-Rechnung\output\2358.XML
RepresentationCode.RET=182
RepresentationCode.TAB=247
b32bit=1
nDecimals=2
nEMFResolution=100
nFileVersion=26
nIssues=1
nPageOffset=0
nPrinters=1
nStgVersion=2
nUnit=2
sDecimalSep=44
sDescription=zugferd
sOperatingSystem=Windows 5.1 (UNKNOWN 32 bit APP on 64 bit OS)
sPrinterAliasList=
sPrinterEnvironment=
sProjectName=c:\E-Rechnung\zugferd.lst
sThousandsSep=46
}
}

Das sieht nach dem Log für die jeweilige Seite im Exporter aus von List & Label. Ich fürchte, dass man aber das Debug-Log von Debwin benötigt - schau mal hier, wie man das mit Debwin macht: Log-Datei mit Debwin4 erstellen.

Einfach die Anwendung beenden, Debwin starten und dort auch “Capture List & Label Log” klicken, Anwendung starten und Aktion ausführen und alle API Aufrufe werden protokolliert. Dabei sollte man dann einen Anhaltspunkt erhalten, was die Ursache sein könnte.

So jetzt bin andere Niveau ; Ich hatte erst PDF.Conformance Parameter ‘PDF/A-3b’ gegeben. Dann habe in Log Datei dieses gefunden.

[cmll26EX] Warning: ZUGFeRD XML path is set and current selected PDF.Conformance (5888) does not match → forcing PDF/A-3b Mode

Danach habe ich PDF.Conformance als ‘PDF/A-3’ geändert. Aber wieder fast gleiche Fehler.

Debwin4::CSV::V1;TypeCode;Timestamp;Level;Logger;Thread;Properties;Message
:black_small_square:;1000;19.09.2024 16:41:25.282;1;LL.Generic;FEC;100:2=CMLL26​:diamonds:101:1=1; [cmll26EX] >>CExportTypePDFNextGen::GetPdfConformance(‘PDF/A-3’)
:black_small_square:;1000;19.09.2024 16:41:25.282;1;LL.Generic;FEC;100:2=CMLL26​:diamonds:101:1=1; [cmll26EX] Warning: ZUGFeRD XML path is set and current selected PDF.Conformance (5888) does not match → forcing PDF/A-3b Mode

Welche Parameter soll ich nutzen ?

Die fürchte, dass die Option im Code leider falsch übergeben wird. Laut Dokumentation müsste das so aussehen:
ll.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.Conformance', 'pdfa3b');

Wenn das nicht helfen sollte, würde ich aber mal zusammen mit der XML-Datei und einem vollen Debwin Logfile direkt auf combit zugehen, damit man sich das genauer anschauen. Vermutlich per Support-Portal oder E-Mail, damit man die Dateien besser austauschen kann.

Endlich geschafft. Problem war mit Parametern zu tun. Conformancelevel und Version bitte unbedingt beachten Den richtige Code als Beispiel :

 LL.LlPrintStart(LL_PROJECT_LIST, 'c:\E-Rechnung\zugferd.lst', LL_PRINT_EXPORT );
      LL.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, 'PDF');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.File',inttostr(MyQAuftrag.RecNo)+'.pdf');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.Path', 'C:\E-Rechnung\output\');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'Export.Quiet', '1');
      ll.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.Conformance', 'pdfa3b');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.ZUGFeRDVersion', '1.0');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.ZUGFeRDConformanceLevel', 'BASIC');
      LL.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, 'PDF', 'PDF.ZUGFeRDXmlPath', 'C:\E-Rechnung\output\2000.XML');
      LL.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, 'PDF');

Danke Euch für schnelle Antwort und Hilfe.

1 Like

Prima, schön zu wissen, dass es nun funktioniert.