Domino 9 und frühere Versionen > ND6: Entwicklung

Bug im Exiting-Event?

<< < (4/5) > >>

TomLudwig:
Die Maske ist Teil eines CRM Moduls. Beim Schließen und Öffnen dieser wird sehr viel Code ausgeführt der dazu führt, dass verschiedene Stati gesetzt werden. Mails verschickt werden usw.
Ich kann diesen Code nicht ändern, da er sehr sehr umfassend ist und auch an mehreren Stellen in der Datenbank wiederverwendet wird.

Wie ich die Informationen ins Dokument bekomme (BackEnd oder FrontEnd) ist mir relativ egal. Sie müssen dann nur im Dokument sichtbar sein ohne, dass es geschlossen und erneut geöffnet wird.
Und bei den Informationen handelt es sich um reine Textinformationen (Textfelder) und Bilder in RichtTextFeldern.

Das hat ja auch über den Edit-Mode bisher wunderbar funktioniert. Bis auf den "Bug" im Exiting Event der Felder. Dieses Event wird (wie ganz oben beschrieben) nicht mehr ausgeführt.
Und ich möchte wissen warum....


koehlerbv:
Wenn Du die Quelldokumente im EditMode öffnen kannst, dann kannst Du die RT-Inhalte auch im Frontend über die Copy- und Paste-Methoden des NotesUIDocuments holen. Ansonsten ist ein ReOpen zwingend erforderlich.

Bernhard

TomLudwig:
Geht leider auch nicht, da des RichtTextFeld berechnet ist.
Sorry. Den Teil hab ich wirklich vergessen zu schreiben.

Bisher hat die Aktualisierung ohne ReOpen ja funktioniert.
Ich scheitere nur am Exiting Event.

jo@chim:

--- Zitat ---Beim Schließen und Öffnen dieser wird sehr viel Code ausgeführt
--- Ende Zitat ---
Doch sicher im Query- bzw. Post-Save, oder?
Wenn Du den "sehr viel Code" nicht ausführen willst, setzt Du dort ganz am Anfang eine Abfrage in der Art

--- Code: ---If NotesUIDocument.FieldGettext("SollCRMCodeLaufen")="0" Then
Continue = False
End If
--- Ende Code ---
Dann schreibst Du Deine Werte (inkl. dem berechneten RTItem-Inhalt) ins Backend, stoppst mit Call NotesUIDocument.FieldSettext("SollCRMCodeLaufen","0") den Ablauf des Codes im Query- und/oder Post-Save des NotesUIDocument, schliesst es (verhinderst ggf. eine Speicher-Abfrage per NotesUIDocument.FieldSetText("SaveOptions","0") und öffnest es wieder.
Et voilà.

TomLudwig:
Natürlich kann über die unten beschriebene Abfrage verhindert werden, dass der Code ausgeführt wird.

Die Abfrage müsste dann in allen betroffenen Events eingebaut werden. In der Maske und in allen geladenen Teilmasken. Weiter müsste in allen weiteren Masken, in denen die veränderten Teilmasken geladen werden, zusätzlich immer bei jeder Aktion der Status des Feldes gesetzt werden.

Das ist einfach nicht machbar. Es handelt sich hier um ca. 5 Teilmasken die in mehr als 30 Masken geladen werden.

Und meine Ursprüngliche Frage bezieht sich nicht auf das Einfügen von diversen Feldwerten. Mir gehts um das Exiting Event der Felder und warum dieses nicht mehr ausgeführt wird.

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln