4. April 2017 11:34
4. April 2017 11:46
4. April 2017 16:27
4. April 2017 17:29
5. April 2017 08:36
5. April 2017 09:11
werden dann beim Druck auch aus 20 Rechnungen 20 PDF - sprich also Massendruck - denn das passiert eigentlich standardmäßig nicht - da wird eine PDF erzeugt, in der die 20 Rechnungen drin sind....was sicherlich nicht Sinn und Zweck ist
5. April 2017 12:11
CreatePDF(RecAsVariant : Variant) : Text
IF RecAsVariant.ISRECORD THEN
RecRef.GETTABLE(RecAsVariant);
IF RecAsVariant.ISRECORDREF THEN
RecRef := RecAsVariant;
RecRef.SETRECFILTER;
//Erstelle Temporäre Serverdatei
TempServerFileName := FileMngmt.ServerTempFileName(''); //FileMngmt=Codeunit419
TempServerFileName := FileMngmt.GetDirectoryName(TempServerFileName)+ '\' + GetDocumentCaption(RecRef) + '.pdf');
ReportID := GetDocumentReportID(RecRef);
REPORT.SAVEASPDF(ReportID, TempServerFileName, RecAsVariant);
EXIT(TempServerFileName)
GetDocumentCaption(RecRef: RecordRef) : Text
DocType := RecRef.CAPTION;
DocType := COPYSTR(DocType,strpos(DocType,' ')+1);
TempDocNo := COPYSTR(FORMAT(RecRef.RECORDID),STRLEN(RecRef.NAME)+3);
IF STRPOS(TempDocNo,',') <> 0 THEN begin
DocNo := SELECTSTR(2,TempDocNo);
if strpos(DocType,'kopf') <> 0 then
DocType := COPYSTR(DocType,1,strpos(DocType,'kopf')-1)+LOWERCASE(SELECTSTR(1,TempDocNo));
end else begin
DocNo := TempDocNo;
if strpos(DocType,'skopf') <> 0 then
DocType := COPYSTR(DocType,1,strpos(DocType,'skopf')-1);
if strpos(DocType,'kopf') <> 0 then
DocType := COPYSTR(DocType,1,strpos(DocType,'kopf')-1)+'ung';
end;
exit(DocType + '_' + DocNo);
GetDocumentReportID(RecRef: RecordRef) : Integer
CASE RecRef.NUMBER OF
112 : UsageType := 'S.Invoice'; //Verkauf Geb. Rechnung
122 : UsageType := 'P.Invoice'; //Einkauf Geb. Rechnung
5992: UsageType := 'SM.Invoice'; //Verkauf Geb. Servicerechnung
114 : UsageType := 'S.Cr.Memo'; //Verkauf Geb. Gutschrift
124 : UsageType := 'P.Cr.Memo'; //Einkauf Geb. Gutschrift
5994: UsageType := 'SM.Credit Memo'; //Verkauf Geb. Servicegutschrift
297 : UsageType := 'Reminder'; //Mahnung
ELSE
ERROR('Keine ReportID gefunden!');
END;
ReportSel.SETFILTER(Usage,FORMAT(UsageType)); //ReportSel=Table77
ReportSel.SETFILTER("Report ID",'<>0');
IF ReportSel.FINDFIST THEN
EXIT(ReportSel."Report ID")
ELSE
ERROR('Keine ReportID gefunden!');
5. April 2017 17:45
vandyke hat geschrieben:Also es geht auch ohne zusätzlichen PDF Drucker:
Grobes Konzept (Mal aus der alten Funktionskiste gekramt. Ich übernehme keine Haftung :D)