25. Mai 2009 09:34
25. Mai 2009 09:42
26. Mai 2009 16:41
27. Mai 2009 07:41
27. Mai 2009 08:46
27. Mai 2009 10:12
himi81 hat geschrieben:Hallo Christoph;
Zunächst mal Danke, echt ne sehr interessante Codeunit.
Leider ist das für mich sehr harter Tobak, bin halt noch ein ziemliches Greenhorn.
Wenn ich es vielleicht sio hin bekäme, dass sie bei mir das selbe macht wie bei dir, könnte ich sie vielleicht für meine Zwecke anpassen. So ist das ein bisschen zu schwer für mich, z.B. die Reports die in der Codeunit angewählt werden habe ich garnicht, wenn ich igrendwas veränder bekomme ich immer die Meldung " Die gewählte Typenbibliothek konnnte nicht geladen werden. Die Var PDFCreater und PDFCreatorOption zeigen vom Subtype nur "Unknown Automation Server" usw.
Wie rufst ud die Codeunit auf? Über nen Report?
Scheint aber genau das zu sein, was ich suche. Mit der Email ist nur für MS - Emailprogramme gedacht? Wir nutzen z.Z. als Standard "Tobit".
Wäre für weitere Unterstützunmg dankbar.
Gruß Matthias
PROCEDURE NewMessageWSH@1000000001(ToName@1000000005 : Text[80];CCName@1000000004 : Text[80];Subject@1000000003 : Text[260];Body@1000000002 : Text[1024];AttachFileName@1000000001 : Text[260]);
VAR WSH_Shell@1000000000 : Automation "{F935DC20-1CF0-11D0-ADB9-00C04FD58A0B} 1.0:{72C24DD5-D70A-438B-8A42-98424B88AFB8}:'Windows Script Host Object Model'.WshShell";
IF ISCLEAR(WSH_Shell) THEN
  CREATE(WSH_Shell);
WSH_Shell.Run('mailto:' + ToName + '?subject=' + Subject + '&cc=' + CCName + '&body=' + Body + '&attachment=' + AttachFileName);
4. Juni 2009 15:36
ChristophE hat geschrieben:Ich habe mal eine autom. PDF Erstellung mit dynamischen Dateinamen und anschließenden E-Mail Versand mit dem PDFCreator realisiert.
http://www.pdfforge.org/products/pdfcreator/download
Ich hab dir mal die CU angehangen.
Vielleicht kannst du damit was anfangen.
Gruß
Christoph
5. Juni 2009 09:14
8. Juni 2009 07:09
12. Juni 2009 10:00
12. Juni 2009 12:09
 ... is schon sooo lange her
  ... is schon sooo lange her   
			
		28. August 2009 08:51
 
 28. August 2009 10:11
30. September 2009 11:15
11. Dezember 2009 12:07
IF ISCLEAR(PDFCreatorL) THEN
  CREATE(PDFCreatorL);
IF ISCLEAR(PDFCreatorErrorL) THEN
  CREATE(PDFCreatorErrorL);
  {
IF ISCLEAR(PDFCreatorOptionL) THEN
  CREATE(PDFCreatorOptionL);
 }
PDFCreatorErrorL := PDFCreatorL.cError;
IF PDFCreatorL.cStart('/NoProcessingAtStartup',TRUE) = FALSE THEN
  ERROR('Status: Error[' + FORMAT(PDFCreatorErrorL.Number) + ']: ' + PDFCreatorErrorL.Description);
PDFCreatorOptionL := PDFCreatorL.cOptions;
PDFCreatorOptionL.UseAutosave := 1;
PDFCreatorOptionL.UseAutosaveDirectory := 1;
PDFCreatorOptionL.AutosaveDirectory := pPfad;
PDFCreatorOptionL.AutosaveFormat := 0; //PDF
PDFCreatorOptionL.AutosaveFilename := pFileName; 
			
		11. Dezember 2009 12:17
15. Dezember 2009 15:12
15. Dezember 2009 15:28
 )
 )15. Dezember 2009 15:34
 
 
15. Dezember 2009 15:48
15. Dezember 2009 16:06
 
			
		16. Dezember 2009 14:21
 .
  . fnZuPDF(pTyp : Text[30];pNummer : Code[20];pFileName : Text[100];pPfad : Text[200])
//*****fnZuPDF** 09.12.09 ** h_CM **********************************************************
//***** Funktion zum Erstellen von PDF Dateien aus Reports
//***** Vorraussetzung: Installation vom PDFCreator auf dem entsprechenden Client
//***** unter Nutzung der Standard-Installationsoptionen. Wichtig: Die Version muss einheitlich
//***** sein (aktuell PDFCreator 0.9.8)
//*****
//***** Übergabeparameter:
//***** pTyp: der Typ des Reports, 
//***** pNummer: die aktuelle Datensatznummer
//***** pFileName: der Dateiname, wichtig ist die Endung ".pdf"
//***** pPfad: der Pfad, unter welcher der Report als PDF gespeichert werden soll (Endet mit "\")
//***** pPfad + pFileName werden eventuell benötigt, um die PDF-Datei danach per Mail zu versenden.
IF ISCLEAR(PDFCreatorL) THEN
  CREATE(PDFCreatorL);
IF ISCLEAR(PDFCreatorErrorL) THEN
  CREATE(PDFCreatorErrorL);
PDFCreatorErrorL := PDFCreatorL.cError;
IF PDFCreatorL.cStart('/NoProcessingAtStartup',TRUE) = FALSE THEN
  ERROR('Status: Error[' + FORMAT(PDFCreatorErrorL.Number) + ']: ' + PDFCreatorErrorL.Description);
PDFCreatorOptionL := PDFCreatorL.cOptions;
//PDFCreatorOptionL := PDFCreatorL.cReadOptions(); //funktioniert auch
PDFCreatorOptionL.UseAutosave := 1;
PDFCreatorOptionL.UseAutosaveDirectory := 1;
PDFCreatorOptionL.AutosaveDirectory := pPfad;
PDFCreatorOptionL.AutosaveFormat := 0; //PDF-Format
PDFCreatorOptionL.AutosaveFilename := pFileName;
//weitere mögliche Optionen hier einfügen
PDFCreatorL.cOptions := PDFCreatorOptionL;
PDFCreatorL.cClearCache();
DefaultPrinter := PDFCreatorL.cDefaultPrinter; //Der System-Standarddrucker wird ziwschengespeichert
PDFCreatorL.cDefaultPrinter := 'PDFCreator';
PDFCreatorL.cPrinterStop := FALSE;
CASE pTyp OF
  //Unterscheidung anhand verschiedener Typmöglichkeiten
  'Reklamation':
  BEGIN
    ReklaKopfL.RESET;
    ReklaKopfL.SETRANGE("Nr.", pNummer);
    ReklaKopfL.FINDFIRST;
    REPORT.RUNMODAL(REPORT::Reklamationsbericht,TRUE,TRUE,ReklaKopfL);
  END;
  'Anfrage':
  BEGIN
    //TODO: Anfrage
  END;
  'Rahmenbestellung':
  BEGIN
    //TODO: Rahmenbestellungen
  END;
  'Bestellung':
  BEGIN
    //TODO: Bestellungen
  END;
  'Lieferanmahnung':
  BEGIN
    //TODO: Lieferanmahnung
  END;
  '8D-Report':
  BEGIN
    //TODO: 8D-Report
    ReklaZeilenL.RESET;
    ReklaZeilenL.SETRANGE(ReklaZeilenL."Reklamationsnr.", pNummer);
    ReklaZeilenL.FINDSET(FALSE);
    REPORT.RUNMODAL(REPORT::"8D-Report",TRUE,TRUE,ReklaZeilenL);
  END;
END;
Window.OPEN('Bitte warten, PDF wird erstellt ...');
WindowIsOpen := TRUE;
//Auf Erstellen warten, gegen Endlosschleife läuft Zähler
CounterL := 0;
REPEAT
  SLEEP(200);
  CounterL := CounterL + 1;
UNTIL ((FILE.RENAME(pPfad + pFileName, pPfad+pFileName)) OR (CounterL = 30));
//Abbruch prüfen
IF CounterL = 30 THEN
  ERROR('Fehler beim Erstellen des Dokuments, bitte erneut versuchen');
//Beenden der PDF-Funktion
PDFCreatorL.cPrinterStop := TRUE;
PDFCreatorL.cClearCache();
PDFCreatorL.cDefaultPrinter := DefaultPrinter;
CounterL := 0;
REPEAT
  SLEEP(200);
  CounterL := CounterL + 1
UNTIL (PDFCreatorL.cClose()) OR (CounterL = 30);
IF CounterL = 30 THEN
  ERROR('Fehler beim Beenden vom PDFCreator');
CLEAR(PDFCreatorL);
IF WindowIsOpen THEN
  Window.CLOSE;
WindowIsOpen := FALSE;
 )
 )16. Dezember 2009 15:07

4. Februar 2010 09:30
 
			
		4. Februar 2010 09:52