LL30: VB6 - XML Datei anhängen

Hallo zusammen,
ich verwende VB6 mit LL30. Wir erstellen Rechnungen damit.
Leider bekomme ich die von mir generierte XML Dateie nicht in das PDF eingebettet. Hat mir jemand mal ein VB6 Beispiel wie man das einbetten kann?

Da ich da schon zwei Tage reingesteckt habe bin ich über jeden Tipp dankbar!
Die .net Beispiele habe ich gesehen, die helfen mir aber leider nicht weiter.

Gruß Frank

Hallo,

gerne würden wir zu unserem besseren Verständnis erfahren, welche Beispiele und Methoden du deinerseits bereits in diesem Fall probiert hast. Grundsätzlich sollte hier das benötigte Vorgehen recht “gradlinig” aussehen, allerdings müsste in VB6 mit der API LlXSetParameter() gearbeitet werden. Nachfolgend verlinkt ist ein Beispiel für Xbase++, wobei es sich in diesem Fall um einen Tippfehler gehandelt hatte. Trotzdem könnte dir das bei deinem Anliegen weiterhelfen. -siehe: LL28 - Erstellung ZugFerd-PDF scheitert (mit XBase)

Hallo Herr Richter,
besten Danke für den Denkanstoss. Ich hoffe/denke das reicht mir.
Ich teste das nächste Woche und gebe eine Rückmeldung.
Gruß Frank

Hallo Herr Richter, hallo Gemeinde,
ich bekomme das XML einfach nicht eingebettet.
Anbei eines der VB Beispiele das problemlos mit LL30 läuft.
(Erstellen einer Datei als PDF).
Aber das anhängen der XML geht nicht.
Hat jemand noch einen Tipp?
Gruß Frank

Option Explicit
Private Sub Form_Load()
Data1.DatabaseName = “C:\Program Files (x86)\combit\LL13\Programmierbare Beispiele und Deklarationen\Visual Basic\simple.mdb”
End Sub
Private Sub Form_Activate()
Dim ret%
Form1.Data1.Recordset.MoveFirst
ret% = ListLabel1.Print(0, LL_PROJECT_LIST, App.Path & “\simple.lst”, 0, LL_PRINT_EXPORT, LL_BOXTYPE_STDWAIT, hWnd, “Drucke liste”, False, Environ$(“temp”))
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, “PDF”, “PDF.ZUGFeRDXmlPath”, App.Path & “\factur-x.xml”)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, “PDF”, “Export.Path”, App.Path)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, “PDF”, “Export.File”, “export.pdf”)
Unload Me
End Sub

Private Sub ListLabel1_CmndSetPrintOptions(ByVal nUserData As Long, pnPrintMethodOptionFlags As ListLabel.LlCmndSetPrintOptionsConstants)
Dim ret%
ret% = ListLabel1.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, “PDF”)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, “PDF”, “Export.Path”, App.Path)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, “PDF”, “Export.File”, “export.pdf”)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, “PDF”, “Export.Quiet”, “1”)
End Sub

Private Sub ListLabel1_CmndDefineFields(ByVal nUserData As Long, ByVal bDummy As Long, pnProgressInPerc As Long, pbLastRecord As Long)
Dim i As Integer
Dim para As Long
Dim content$, a!
For i = 0 To Form1.Data1.Recordset.Fields.Count - 1 ’ Wiederholung für alle Felder eines Datensatzes
Select Case Form1.Data1.Recordset.Fields(i).Type
Case 3, 4, 6, 7: para = LL_NUMERIC: content$ = Form1.Data1.Recordset.Fields(i)
Case 8: para = LL_DATE_MS: a! = CDate(Form1.Data1.Recordset.Fields(i)): content$ = a!:
Case 1: para = LL_BOOLEAN: content$ = Form1.Data1.Recordset.Fields(i)
Case Else: para = LL_TEXT: content$ = Form1.Data1.Recordset.Fields(i)
End Select
Dim nRet As Integer
nRet = Form1.ListLabel1.LlDefineVariableExt(Form1.Data1.Recordset.Fields(i).Name, content$, para)
Next i

If bDummy = 0 Then
    pnProgressInPerc = Form1.Data1.Recordset.PercentPosition
    Form1.Data1.Recordset.MoveNext
    If Form1.Data1.Recordset.EOF = True Then pbLastRecord = 1
End If

End Sub

Hallo!
Evtl. musst du noch die Version setzen?

2.1 für Factur-X (PDF.ZUGFeRDVersion)

Grüße

HP

Hallo Frank,

wie @Hans_Peter_Reische auch schon meint, sind die Parameter für ZUGFeRD nicht komplett definiert fürchte ich. Zudem muss sichergestellt werden, dass auch die gesetzten Parameter PDF.ZUGFeRDXmlPath, PDF.ZUGFeRDConformanceLevel und PDF.ZUGFeRDVersion zum verwendeten XML passen - siehe auch weitere Details in PDF Export-Optionen. Könnte dann ungefähr (kenne VB6 nicht (mehr)) so aussehen bei dir:

...
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "PDF.ZUGFeRDXmlPath", App.Path & "\factur-x.xml")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "PDF.ZUGFeRDVersion", "2.1")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "PDF.ZUGFeRDConformanceLevel", "EN 16931")
...

Wichtig ist aber auch, dass List & Label nur bis Version 2.1 unterstützt… wenn 2.2 oder höher verwendet wird, muss man die ZUGFeRD-Integration “selber” machen - also nicht über den PDF-Export, sondern über eigenen Code - siehe auch PDF-Export: Unterstützung der ZUGFeRD-Versionen 2.2 und 2.3.