eMail über Funktion Belegdruck
Mario Höfer
Hallo,wir haben folgende Anforderung:
Es soll diverse Geschäftspartner geben, bei denen die Funktion "Belegdruck" eben keine Druckauftrag absetzt sondern automatisch eine Email versendet.
Meine Idee dazu war, die Geschäftspartner mit einer entsprechenden Eigenschaft zu versehen. Wenn
diese gesetzt ist, wird in den Marketing Dokumenten der Druck über Engine.CancelRender() abgebrochen (unter der Bedingung daß FreeText leer ist, damit dies nicht auch im Einzeldruck passiert).
Anschließend wird über LayoutHelper.LayoutOpener.ExecutePrintDef die für den Formtyp passende Printdefinition (z.B. T0000012) geöffnet mit OpenLayoutModes.Email.
Das ist zwar ziemlich umständlich und aufwändig, leider ist mir bis jetzt keine andere Lösung eingefallen.
Hat jemand eine Idee bzw. einen Verbesserungsvorschlag ?
Danke im Vorraus.
Gruß,
Mario
Philipp Knecht
Hallo MarioJa dies ist eine Lösung.
Ansosnten kannst du auch ein SleectGrid definieren welches diese eblege darstellt.
Im Selectgrid lannst du ja auch einen Parameter abfragen lassen (ist ja eine reguläre Layoutdefinition)
Dieser Parameter schränkt dann ddie eblege gemäss deinem Kriterium ein (Emai ja/nein).
Dann muss der benutzer schlussendlich das SelectGrid zweimal starten einmal mit Parameter Email und einmal mit Parameter Nicht Email.
Oder du hinterlegts 2 Queries dem SelectGrid. Eine mit nur Druckebelegen und eine mit nur Emailbelegen. Dann öffnen sich automatisch 2 Formulare...
hth
Mario Höfer
Hallo Philipp,ich habe mal diesen Code versucht
Email = LD.QueryData("SELECT QryGroup4 from OCRD where CardCode = '" & Document("CardCode") & "'")
If GetData("LD.Par.PrintMode") = "N" And GetData("LD.Par.BatchPrint") = "Y" AND Email = "Y"
If GetData("LD.Par.FormType") = "133"
Engine.CancelRender()
LayoutHelper.LayoutOpener.ExecutePrintDef("T0000005",LayoutHelper.LayoutOpener.OpenLayoutModes.Email,"DocEntry", GetData("LD.Par.DocEntry"))
End If
End If
Wie Du das mit dem SelectGrid meinst ist mir noch nicht ganz klar.
Denkst du an ein Layout mit neuen Abfragen oder an das SelectGrid auf dem bisherigen Belegdruck ?
Bzw. könnte man dafür auch was über Customize machen ?
Nochmals Danke.
Gruß,
Mario
Mario Höfer
Folgendes Problem scheint aber aufzutreten:Belege die über diese Funktion per Email verschickt wurden, werden anscheinend nicht als gedruckt markiert und tauchen deshalb in den folgenden Durchläufen auch wieder auf.
Kann ich das irgendwie beheben ?
Sascha Balke
Hallo Mario,du kannst in der CLD Configuration hinterlegen, wann "gedruckt" gesetzt werden soll.
Mit einem Selectgrid könnte man dies sicherlich auch realiseren, was spez., bei einem Massendruck von Interesse sein könnte. Ebenso könnte man über ein UDF (auf GP-Ebene) das ganze steuern, in Verbindung mit dem entsprechenden Script.
0
Please sign in to leave a comment.
Comments
0 comments