Druckdatum UDF vor dem Druck setzen
Marcus R. Burch
Hallo Philipp,Ich habe in einem Layout die Prozedur
"Private Sub MyAfterPrint(oCmp As SAPbobsCOM.Company, isPrinted As Boolean)"
eingebaut. Hier drin wird das Druckdatum (UDF) NACH dem Druck gesetzt. Nun muss ich das Druckdatum VORHER setzen, und muss diese gleich auf dem Beleg anstelle von "DocDate" aufdrucken.
Wie kann ich das machen?
Gruss, MB
Philipp Knecht
Hi MarkusWorkaround: Leeres Layout machen und in der Druckreihenfolge vorher einsetzen. Dann die Scripts in dieses Layout übernehmen. Eventuell gehts sogar mit copy = 0 damit auch wirklich nix gedruckt wird.
hth
Manuel Grenacher
Ist das nicht das heutige datum? NOW? Ist eine Variable?Marcus R. Burch
Hallo Philipp und Manuel,@Philipp: gute Idee - vielen Dank - lets try!
@Manuel: Kunde verwaltet Belegänderungen mittels Revision nach Bedarf (Angebot und Auftrag). Nun wird das Druckdatum auch gesichert. Auf einer Kopie soll immer das letzte Druckdatum auf Grund der Revision gedruckt werden, und auch auf dem Beleg ersichtlich sein (Auftragserfassung = DocDate, Auftragsbestätigung = PrintDate). Ausserdem wird die Revision und Druckdatum in einem Reporting (MIS Auftragseingang) verwendet
Gruss, Markus
Manuel Grenacher
Markus, du bekommst von mir einen Preis:Krassister coresuite designer Anwender (oder besser Programmierer!)
;-)
Marcus R. Burch
Vielen Dank für die Blumen. :-)Marcus R. Burch
Hallo Philipp,Das Script im leeren Layout wird nur bei copy > 0 ausgeführt. Funktioniert, aber so wird auch ein leeres Blatt gedruckt.
Idee wie das Script ausgeführt, aber das Layout nicht gedruckt wird?
Gruss, Markus
Philipp Knecht
Hoi MarkusAndere Idee:
Im Common - Script:
Dim saveVal As String = ""
Im Generate¨- Script im ersten Durchgang (Falls DoublePass = true) folgenden (Pseudo)Code:
If Not Engine.IsDoublePass Then
' Wert zurückschreiben
LD.QueryData("UPDATE MeineTabelle SET MeinUDF = Wert WHERE ...")
' Wert verifizieren
saveVal = LD.QueryData("SELECT MeinUDF FROM MeineTabelle WHERE ...")
If saveVal = "" Then
MsgBox("Fehler beim Schreiben des Wertes!")
End If
End If
End If
Dann im Binding des Value des sntsprechenden Textfeldes im Layout : saveVal
hth
0
Please sign in to leave a comment.
Comments
0 comments