Ersatz für ReadOnly DCM (zb alle VKBelegProxy..)

OJansen

Neues Mitglied
Hallo zusammen,
wie kann man per DCM nach der Belegübernahme in einen neuen Beleg die Belegdaten manipulieren ?
in alten Versionen wurde hier zb BelegEnable verwendet.
Seit der neuen Erfassung gibt es dies nur als Proxy (VKBelegProxyBelegEnable). Hier ist das Belegobjekt jedoch schreibgeschützt.

Kennt jemand eine Alternative um bei Belegübernahme die Belegdaten des neuen Beleges zu manipulieren ?

Schöne Grüsse

Oliver Jansen
 
Hallo Oliver,

es gibt dabei verschiedene Ansätze die du wählen kannst es gibt zum Beispiel den Punkt VKBelegInitialize und VKBelegTransform. Die kannst du nutzen und darin den Beleg manipulieren.

Gruß

Jaan Scholz
 
DIe Sache hat leider einen Haken..
Bei Belegübernahme in werden lediglich
VKBelegProxyBelegToContainer
VKBelegProxyAfterSetKonto
VKBelegProxyAfterLoad
VKBelegProxyBelegEnable
VKBelegProxyBelegToContainer
ausgelöst.
 
Ich habe mittlerweile eine Lösung für mein Problem gefunden.
Hintergrund : nach Belegübernahme sollte die Belegreferenz zum Vorbeleg gelöscht werden.
Die DCM Aufrufe bringen mich hier nicht weiter, da zb nach VKBelegTransform (hier konnte ich im Belegobjekt die Referenz löschen) noch VKBelegProxyAfterLoad aufgerufen wird. Hier ist die Referenz leider wieder im Beleg drin.

Code:
VKBelegCreate
VKBelegCreate
VKBelegInitialize
VKBelegInitialize
VKBelegProxyContainerToBeleg
VKBelegCreate
VKBelegCreate
VKBelegTransform
VKBelegTransform (Start) von:D01110 RefBelHandle Servicerechnung 2018-215847:3086358
VKBelegTransform (Ende) von:D01110 RefBelHandle ohne Referenz:0
VKBelegTransform
VKBelegTransform (Start) von:D01110 RefBelHandle ohne Referenz:0
VKBelegTransform (Ende) von:D01110 RefBelHandle ohne Referenz:0
VKBelegProxyAfterSetKonto
VKBelegProxyAfterSetKonto von:D01110 RefBelHandle ohne Referenz:0
VKBelegProxyAfterLoad
VKBelegProxyAfterLoad von:D01110 RefBelHandle Servicerechnung 2018-215847:3086358
VKBelegProxyBelegEnable
VKBelegProxyBelegEnable von:D01110 RefBelHandle Servicerechnung 2018-215847:3086358
VKBelegProxyBelegToContainer
VKBelegProxyBelegToContainer von:D01110 RefBelHandle Servicerechnung 2018-215847:3086358

Ich habe mich dann entschieden im Appdesigner das Element ediVKBelegerfassung in meine Lösung zu kopieren und dort per Makro "Bei Anzeige" die entsprechenden Felder zu setzen.

Leider funktioniert dieser Weg nur wenn die Belege nicht im Hintergrund generiert werden sondern in der Belegerfassung selbst. Für mich ist das erst einmal ausreichend.....

Schöne Grüsse

Oliver Jansen
p.s.: wenn jemand einen eleganteren Weg kennt... bin gerne für Vorschläge offen.. :)
 
Zurück
Oben