Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: RKuehle am 29.04.11 - 19:20:49

Titel: Feld in Teilmaske aktualisieren
Beitrag von: RKuehle am 29.04.11 - 19:20:49
Hallo Forum,

ich habe folgende Situation:

- aus einer Hauptmaske wird per @Dialogbox eine Teilmaske aufgerufen
- in dieser Teilmaske gibt es ein Dialogfeld (f1) und ein Datumsfeld (f2)
- f1 ist ein Dialogfeld mit @DBColumn(...) als Formel

Aus f1 und f2 wird ein berechnetes Feld f3 mit f1+@text(f2) erzeugt welches dann in die Hauptmaske übernommen wid.

Das Problem:
Das Ergebnis aus f1 wird sauber übernommen, da hier "Felder bei Schlüsselwortänderung aktualisieren" aktiv ist. Der Eintrag / die Änderung von f2 geht offensichtlich nicht in die Berechnung von f3 ein.

Frage:
Wie kann ich sicherstellen, dass die Änderung in f2 in die Berechnung eingeht?

Hinweise sind willkommen!

Danke !

Ricardo
Titel: Re: Feld in Teilmaske aktualisieren
Beitrag von: DAU-in am 29.04.11 - 19:43:26
im Onchange-Event von f2 ein refresh auslösen (ich nehme an, f2 ist ein Textfeld?)

oder die Berechnung direkt auf der Hauptmaske durchführen.
Titel: Re: Feld in Teilmaske aktualisieren
Beitrag von: Peter Klett am 30.04.11 - 08:04:12
Ich nutze Dialogbox grundsätzlich nur mit Script und dann mit einem temporären NotesDocument als Datengrundlage.

Vor workspace.Dialogbox (......, dialogdoc) kann ich dem temporären dialogdoc alle notwendigen Informationen mitgeben und danach mir daraus die eingegebenen Daten auslesen, validieren, evtl. die Box nochmal zur Korrektur aufrufen, aufbereiten und dann so, wie ich es brauche, in das Dokument zurückschreiben.

Hampeleien mit fehlenden Refreshs und unkontrolliertem Schreiben irgendwelcher Felder in das Dokument, die ich dort nicht haben will, entfallen damit vollständig, da habe ich alles selbst im Griff. Kann ich nur empfehlen ...
Titel: Re: Feld in Teilmaske aktualisieren
Beitrag von: RKuehle am 30.04.11 - 12:37:00
Naja meine "Lösung" ist nicht die von Peter aufgezeigte Vorgehensweise, aber es funktioniert.

Im Exiting-Event von f2:

 dim ws as new notesuiworkspace
 dim uidoc as notesuidocument
 set uidoc=ws.currentdocument
 call uidoc.refresh
 call uidoc.gotofield("f2")

Danke für eure Vorschläge / Hinweise.
Ansonsten noch ein schönes WE.

Grüße Ricardo
Titel: Re: Feld in Teilmaske aktualisieren
Beitrag von: koehlerbv am 30.04.11 - 12:50:58
Deine Lösung hat zwei Nachteile:
- Es passiert nichts, wenn f2 nicht explizit verlassen wird
- f2 kann aber niemals verlassen werden, weil Exiting sofort wieder f2 anspringt.

Dein Refresh oder Felderzusammenbauen kannst Du auch im QueryClose der Dialogbox durchführen.

Bernhard