L&L Export von Rechnungen als .PDF ohne User-Eingriff
Moderator: Moderatoren
L&L Export von Rechnungen als .PDF ohne User-Eingriff
Hallo,
ich hoffe es es kennt sich jemand mit dem für mich komplizierten Combit-Vorgehen aus ..
Ich möchte ohne Usereingriff aus einer Rechnungsschleife pdfs erzeugen und in einem Archiv-Verzeichnis absppeichern.
Der Dateiname muss dynamisch aus Rechnungsdaten in der Schleife erzeugt werden.
So weit der Ansatz ...
// Allgemeine Vorbereitung
nRet := LlPrintStart(hJob, ;
LL_PROJECT_LIST, ;
sName,LL_PRINT_EXPORT)
LlPrintSetOptionString(hJob, LL_PRNOPTSTR_EXPORT, "PDF")
LlSetOption(hJob, LL_OPTION_SUPPORTS_PRNOPTSTR_EXPORT, FALSE)
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "" ,"Export.ShowResult", "0")
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PDF" ,"Export.Quiet", "1")
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PDF" ,"Export.File", cFile ) // hier klappt der Export 1X
(Wo weise ich den neuen Datenamen und wie zu ..?)
nRet:=LLprint(hJob)
Do ......
(hier müsste der neue Dateinamen erzeugt werden ..)
LLPrintResetProjectState(hJob)
LlDefineFieldStart(hJob)
ENDDO
Hinweis : es arbeitet dann , wenn ich VOR LLPrint() den Datenamen eingebe - aber so kann ich keinen neuen dynamisch erzeugen.
Anderes Problem ist die Anzeige von Firmenlogos in der pdf - da kommt "Matsch" raus .. ist das Problem bekannt ?
Danke für Hilfe
Rainer
ich hoffe es es kennt sich jemand mit dem für mich komplizierten Combit-Vorgehen aus ..
Ich möchte ohne Usereingriff aus einer Rechnungsschleife pdfs erzeugen und in einem Archiv-Verzeichnis absppeichern.
Der Dateiname muss dynamisch aus Rechnungsdaten in der Schleife erzeugt werden.
So weit der Ansatz ...
// Allgemeine Vorbereitung
nRet := LlPrintStart(hJob, ;
LL_PROJECT_LIST, ;
sName,LL_PRINT_EXPORT)
LlPrintSetOptionString(hJob, LL_PRNOPTSTR_EXPORT, "PDF")
LlSetOption(hJob, LL_OPTION_SUPPORTS_PRNOPTSTR_EXPORT, FALSE)
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "" ,"Export.ShowResult", "0")
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PDF" ,"Export.Quiet", "1")
LlXSetParameter(hJob, LL_LLX_EXTENSIONTYPE_EXPORT, "PDF" ,"Export.File", cFile ) // hier klappt der Export 1X
(Wo weise ich den neuen Datenamen und wie zu ..?)
nRet:=LLprint(hJob)
Do ......
(hier müsste der neue Dateinamen erzeugt werden ..)
LLPrintResetProjectState(hJob)
LlDefineFieldStart(hJob)
ENDDO
Hinweis : es arbeitet dann , wenn ich VOR LLPrint() den Datenamen eingebe - aber so kann ich keinen neuen dynamisch erzeugen.
Anderes Problem ist die Anzeige von Firmenlogos in der pdf - da kommt "Matsch" raus .. ist das Problem bekannt ?
Danke für Hilfe
Rainer
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9387
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 362 Mal
- Kontaktdaten:
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Es empfiehlt sich, die ganzen Optionen - einschließlich Pfad und Dateinamen - vor dem LlPrintStart() zu setzen. Wenn Du das in einer Schleife machst, muss "cFile" (Export.File) halt neu besetzt werden, bevor die Option wieder gesetzt wird. Wichtig wäre, dass das LlPrintEnd() innerhalb der Schleife liegt. Den Job musst Du nicht jedes Mal neu eröffnen und/oder schließen; ich mache das je Thread nur einmal. Aber jede LlPrintStart-LlPrintEnd-Klammerung erzeugt ein PDF-Dokument. Wenn Du also mehrere erzeugen willst, musst Du den jeweiligen Dateinamen drumherum setzen.
Herzlich,
Tom
Tom
- Marcus Herz
- 1000 working lines a day
- Beiträge: 858
- Registriert: Mo, 16. Jan 2006 8:13
- Wohnort: Allgäu
- Hat sich bedankt: 39 Mal
- Danksagung erhalten: 192 Mal
- Kontaktdaten:
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
- Firmenlogos? welche Graphiken verwendest du? Auflösung?
Und welche LL Version. Da gibts es immer wieder Probleme. Hier im Forum suchen, war schon ein paarmal Thema
Und welche LL Version. Da gibts es immer wieder Probleme. Hier im Forum suchen, war schon ein paarmal Thema
Gruß Marcus
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
Den Kopf in den Sand zu stecken verbessert die Welt auch nicht.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Hallo Rainer
das war besonders zwischen LL23 und LL26SP2 ein grosses Problem. Nicht nur Match auch Abstürze ohne Ende.....
In den Grafikdatein können je nach Dateiformat viele Metadaten oder sonstige Zusatzdaten enthalten sein. (Je nach Grafikprogramm ist da z.T echt viel Müll drin) Wenn du alle Zusatzdaten entfernst so dass die Grafikdatei nur noch die reinen Grafikdaten für das eine Logo in nicht zu hoher Auflösung enthält ist das Problem weg. Oder konvertiere das Logo in ein Dateiformat das keine zusätzlichen Daten erlaubt. (BMP)
Valar Morghulis
Gruss Carlo
Gruss Carlo
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Hallo TomTom hat geschrieben: ↑Mo, 01. Mär 2021 12:21 Es empfiehlt sich, die ganzen Optionen - einschließlich Pfad und Dateinamen - vor dem LlPrintStart() zu setzen. Wenn Du das in einer Schleife machst, muss "cFile" (Export.File) halt neu besetzt werden, bevor die Option wieder gesetzt wird. Wichtig wäre, dass das LlPrintEnd() innerhalb der Schleife liegt. Den Job musst Du nicht jedes Mal neu eröffnen und/oder schließen; ich mache das je Thread nur einmal. Aber jede LlPrintStart-LlPrintEnd-Klammerung erzeugt ein PDF-Dokument. Wenn Du also mehrere erzeugen willst, musst Du den jeweiligen Dateinamen drumherum setzen.
so geht das mit den PDF Optionen aber nicht!
Du kannst keine PDF Export Werte setzten bevor du den Job nicht mit LLPrintStart() gestartet hast.
Weil ja LL gar noch nicht weiss dass er überhaupt was tun soll ......
So bekommst du sicher den Fehler -4 "Es wurde kein Druckjob gestartet ....."
Valar Morghulis
Gruss Carlo
Gruss Carlo
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9387
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 362 Mal
- Kontaktdaten:
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Du musst nur ein gültiges Handle haben(LLJobOpen). Der Printjob selbst muss noch nicht laufen.
Herzlich,
Tom
Tom
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Versuch es! Du kannst erst PDF-Optionen setzten nachdem das Projekt bestimmt ist. bzw. LLPrintStart() ausgeführt wurde.
Du kannst vor LLPrintStart() Variablen definieren aber keine Ausgabeoptionen wie z.B. PDF.
Jedenfalls funktioniert es bei mir nur in dieser Reihenfolge....
Valar Morghulis
Gruss Carlo
Gruss Carlo
- HaPe
- 1000 working lines a day
- Beiträge: 996
- Registriert: So, 15. Nov 2015 17:44
- Wohnort: 71665 Vaihingen-Enz
- Hat sich bedankt: 17 Mal
- Danksagung erhalten: 15 Mal
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Hallo Carlo !
Ich sehe in meinem Combit-Konto nur die Version 26 und 26.001 vom 27.0.2021
Was ist mit LL26SP2 gemeint?das war besonders zwischen LL23 und LL26SP2 ein grosses Problem
Ich sehe in meinem Combit-Konto nur die Version 26 und 26.001 vom 27.0.2021
--
Hans-Peter
Hans-Peter
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Hallo Hans-Peter
Damit ist das in der Testphase befindliche kommende Service Pack 2 gemeint.
Ich habe eine Vorabversion die ich auf eigenes "Risiko" verwende weil es damit nicht mehr zu Total-Abstürzen nach bestimmten Aktionen in ganz bestimmten Fällen kommt. Der Support hat mir aber eindringlich empfohlen und geraten möglichst schnell auf die 64-Bit Programm Version zu wechseln.
Damit ist das in der Testphase befindliche kommende Service Pack 2 gemeint.
Ich habe eine Vorabversion die ich auf eigenes "Risiko" verwende weil es damit nicht mehr zu Total-Abstürzen nach bestimmten Aktionen in ganz bestimmten Fällen kommt. Der Support hat mir aber eindringlich empfohlen und geraten möglichst schnell auf die 64-Bit Programm Version zu wechseln.
Valar Morghulis
Gruss Carlo
Gruss Carlo
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2518
- Registriert: Mi, 28. Jul 2010 17:16
- Hat sich bedankt: 12 Mal
- Danksagung erhalten: 77 Mal
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Hallo Tom
ich habe es jetzt doch noch getestet. Du liegts wirklich falsch.
Bereits der Aufruf von: LLPrintSetOptionString( hJob, LL_PRNOPTSTR_EXPORT, "PDF" )
ohne vorgehenden Aufruf LLPrintStart()
Führt zum Fehler -4 Es wurde eine Druckfunktion aufgerufen, obwohl noch kein Druckjob gestartet wurde.
Das Handbuch sagt dazu:
1. <starte Ausdruck> (LlPrintStart, LlPrintWithBoxStart)
2. <definiere Druckoptionen>* (LlPrintSetOption, LlPrintSetOptionString, LlPreviewSetTempPath)
ich habe es jetzt doch noch getestet. Du liegts wirklich falsch.
Bereits der Aufruf von: LLPrintSetOptionString( hJob, LL_PRNOPTSTR_EXPORT, "PDF" )
ohne vorgehenden Aufruf LLPrintStart()
Führt zum Fehler -4 Es wurde eine Druckfunktion aufgerufen, obwohl noch kein Druckjob gestartet wurde.
Das Handbuch sagt dazu:
1. <starte Ausdruck> (LlPrintStart, LlPrintWithBoxStart)
2. <definiere Druckoptionen>* (LlPrintSetOption, LlPrintSetOptionString, LlPreviewSetTempPath)
Valar Morghulis
Gruss Carlo
Gruss Carlo
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Hallo,
ich habe da ein ähnliches Problem und weiss nicht mehr weiter,
würde auch gerne für die Problemlösung bezahlen.
Ich programmiere mit VB6 und verwende List&Label22 (ich weiß, es ist veraltet)
Ich möchte über die Vorschau das Dokument per eMail als PDF verschicken,
das funktioniert ja soweit problemlos. Aber jetzt soll die PDF-Datei einen bestimmten
Namen haben (z.B. die Rechnungsnummer einer Rechnung). Das bekomme ich einfach nicht hin.
Habe dann das ganze nicht über die Vorschau programmiert und funktionert. Siehe Code
Mir wäre das Ganze aber über die Vorschau viel viel lieber.
Kann mir da jemend helfen!!!
Liebe Grüße
Efi
Hier der Code:
z_emailtext = z_emailtext & Chr(13) & Chr(13) & "Mit freundlichen Grüßen" & Chr(13) & Trim(mod_allg.z_name) & Chr(13) & Trim(mod_allg.z_Branche) & Chr(13) & Trim(mod_allg.z_Straße) & Chr(13) & Trim(mod_allg.z_Plz) & " " & Trim(mod_allg.z_Ort)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.SendAsMail", "1")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.To", z_emailadresse)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.ShowDialog", "1")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.SendResultAs", "text/html")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.File", W_belegart & BELEG01!belegnr & ".pdf")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.Subject", W_belegart & BELEG01!belegnr & ".pdf")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Path", mod_allg.Pfad_fuer_im_ex)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Quiet", "1")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.SendAsMailAvailable", "0")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.Provider", "MSMAPI")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.Body", z_emailtext)
ret% = ListLabel1.LlPrintStart(LL_PROJECT_LIST, pfad, LL_PRINT_EXPORT)
ret% = ListLabel1.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, "PDF")
ich habe da ein ähnliches Problem und weiss nicht mehr weiter,
würde auch gerne für die Problemlösung bezahlen.
Ich programmiere mit VB6 und verwende List&Label22 (ich weiß, es ist veraltet)
Ich möchte über die Vorschau das Dokument per eMail als PDF verschicken,
das funktioniert ja soweit problemlos. Aber jetzt soll die PDF-Datei einen bestimmten
Namen haben (z.B. die Rechnungsnummer einer Rechnung). Das bekomme ich einfach nicht hin.
Habe dann das ganze nicht über die Vorschau programmiert und funktionert. Siehe Code
Mir wäre das Ganze aber über die Vorschau viel viel lieber.
Kann mir da jemend helfen!!!
Liebe Grüße
Efi
Hier der Code:
z_emailtext = z_emailtext & Chr(13) & Chr(13) & "Mit freundlichen Grüßen" & Chr(13) & Trim(mod_allg.z_name) & Chr(13) & Trim(mod_allg.z_Branche) & Chr(13) & Trim(mod_allg.z_Straße) & Chr(13) & Trim(mod_allg.z_Plz) & " " & Trim(mod_allg.z_Ort)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.SendAsMail", "1")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.To", z_emailadresse)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.ShowDialog", "1")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.SendResultAs", "text/html")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.File", W_belegart & BELEG01!belegnr & ".pdf")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.Subject", W_belegart & BELEG01!belegnr & ".pdf")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Path", mod_allg.Pfad_fuer_im_ex)
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Quiet", "1")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.SendAsMailAvailable", "0")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.Provider", "MSMAPI")
ret% = ListLabel1.LlXSetParameter(LL_LLX_EXTENSIONTYPE_EXPORT, "PDF", "Export.Mail.Body", z_emailtext)
ret% = ListLabel1.LlPrintStart(LL_PROJECT_LIST, pfad, LL_PRINT_EXPORT)
ret% = ListLabel1.LlPrintSetOptionString(LL_PRNOPTSTR_EXPORT, "PDF")
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9387
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 103 Mal
- Danksagung erhalten: 362 Mal
- Kontaktdaten:
Re: L&L Export von Rechnungen als .PDF ohne User-Eingriff
Hallo, Efi.
Du kannst mit festlegen, was als Speicherungsname für die Vorschaudatei vorgeschlagen wird. Mit kannst Du bestimmen, welches Format präferiert wird. <cFormat> kann zum Beispiel "PDF" heißen.
Du kannst mit
Code: Alles auswählen
LlSetOptionString(nJobNo,LL_OPTIONSTR_SAVEAS_PATH,<DateinameMitPfad>)
Code: Alles auswählen
LlSetDefaultProjectParameter(nJobNo,"SaveAs.Format",<cFormat>,LL_PARAMETERFLAG_VALUE)
Herzlich,
Tom
Tom