Belegdaten im Ereignis "Nach Einfügung" der Struktur strVKBeleg

Rolf Schmid

Mitglied
Hallo zusammen,

ich habe mich in der Datenstruktur "strVKBeleg" an das Ereignis "Nach Einfügung" angehängt und führe dort ein "AufrufenDLL" aus, um bei neuen Belegen bestimmte Aktionen zu machen. Als Parameter übergeben ich Beleginformationen, wie bspw. den Nettobetrag.
Solange "mit Abschluss drucken und schließen" nicht angehakt ist, funktioniert auch alles. Sitzt dort aber der Haken, dann habe ich in meinem Makro ein neu initialisiertes (leeres) Belegobjekt und nicht das vorher eingefügte.
Wie löst ihr das, wenn ihr an dieses Stelle noch Belegdaten benötigt?

Gruß
Rolf
 
Ich würde dazu die DCMs verwenden. Wenn die Aktionen unabhängig von der Erfassungsart (manuelle Belegerfassung, Beleggenerierung über Assistenten, Beleggenerierung über Schnittstellen) greifen sollen, kannst Du die DCMs des Belegobjekts nutzen, ansonsten die DCMs des Datenservices, die nur im Kontext der Belegerfassung aufgerufen werden.
Hier hast Du in der DLL das aktuelle Belegobjekt und je nach Kontext weitere relevante Daten zur Verfügung.
 
Die Anforderung ist, bei einem Lieferschein mit Betrag 0 auf Nachfrage den Vorgang auf erfüllt zu setzen, da der Vorgang nicht berechnet wird. D.h. ich habe auch noch eine Benutzerinteraktion. Deshalb möchte ich das nicht in einer DCM lösen.
 
Dann würde ich die Logik per Datenservice ("DataServiceExecute.Sage.Wawi" -> DCM "VKBelegProxyServiceCall") über einen Kontextmenüeintrag implementieren, der in der Datenstruktur "strVKBeleg" im Ereignis "Vor Änderung" (Wenn IsRunningOnServer()=False) aufgerufen wird.
Ich würde dann jedoch nur die Positionen vom Lieferbeleg manuell auf erledigt setzen. Der Vorgang sollte dann automatisch vom Standard auf erfüllt gesetzt werden, wenn es keine Teillieferung ist.
 
Guter Ansatz, was ich gerade nicht weiß, kann man aus dem Datenservice eine für den Benutzer sichtbare Abfrage machen, "Soll der Vorgang auf erfüllt gesetzt werden?"
 
Guter Ansatz, was ich gerade nicht weiß, kann man aus dem Datenservice eine für den Benutzer sichtbare Abfrage machen, "Soll der Vorgang auf erfüllt gesetzt werden?"

Du kannst zunächst einen Kontextmenüeintrag mit einem Makro aufrufen. Dort kannst Du die Abfrage über einen Popup-Dialog implementieren und abhängig von der Entscheidung dann einen weiteren Kontextmenüeintrag mit dem Datenservice aufrufen.
 
Zurück
Oben