Das Notes Forum
Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: RKuehle am 20.09.10 - 19:27:53
-
Hallo Forum,
ich hätte da mal wieder ein Problem welches mich fast in den Wahnsinn treibt!
Folgender Sachverhalt:
In einer Maske A gibt es eine Aktion die ua. diese Zeilen enthält:
1) If ws.DialogBox ( "TM-Gliederung", True, True, False, True, False, False, "Prozessauswahl" ) Then
2) Call ws.ComposeDocument( "", "", "Transaktion" )
3) End If
zu 1)
Die hier aufgerufene Maske "TM-Gliederung" enthält ausschliesslich eine umfangreiche eingebettet Gliederung und ein Feld SaveOptions=0 / berechnet beim Anlegen.
Die Gliederungseinträge machen nix anderes als in der notes.ini eine Variable "RP" mit einem passenden Wert zu setzen
zur 2)
Die hier aufgerufene Maske "Transaktion" enthält ausschliesslich einen Bereich für berechnete Teilmasken. Beispiel:
@If(@environment("RP")="Bestellung IT-Verbrauchsmaterial";"TM-1";@environment("RP")="Verlagerung von Technik Dst zu Dst";"TM-2";"")
So wie ich es prüfen konnte wird über die Gliederungseinträge in der Dialogbox mit Klick auf "OK" die Variable "RP" in der notes.ini gesetzt.
Problem:
Die in Zeile zwei aufgerufene Maske berechnet immer erst beim zweiten Durchlauf die anzuzeigende Teilmaske nach dem aktuellen Wert von "RP"
Diese Fehler (meinerseits?) kann definiert nachvollzogen werden ohne dass die Maske A in der die auslösende Aktion steht neu aufgerufen wird,
sondern nur die Aktion selbst.
Es ist kein Timingproblem irgendeiner Art, ich habe mal zwischen die Zeilen ein sleep 3 gesetzt, gleiches Ergebnis.
Ebenfalls hat der Versuch über ein Feld "RP" in Transaktion" / berechnet beim Anlegen mit @environment("RP") und Anpassung der Berechnungsformel
für die Teilmaske keinen Erfolg gebracht. Es wird sogar keinerlei Teilmaske angezeigt, da wohl die Belegung des Feldes "RP" zu spät erfolgt.
Frage:
Wo liegt hier mein Denkfehler? Kennt jemand das Problem bzw. eine Lösung dazu?
Würde mich über eine hilfreiche Info sehr freuen!
Danke !
Grüße Ricardo
-
Lass Dir doch vor dem ws.ComposeDocument den Wert von @environment("RP") ausgeben.
Ich vermute mal bzw. glaube mich dumpf zu erinnern, dass der Wert leer sein wird, weil die Environment-Variablen nur beim Laden der ersten Maske geladen werden.
-
@m3
Ich vermute mal bzw. glaube mich dumpf zu erinnern, dass der Wert leer sein wird, weil die Environment-Variablen nur beim Laden der ersten Maske geladen werden.
Na das wäre ja richtig doof.
Andererseits frage ich mich, warum die Variable dann beim zweiten Lauf der Aktion richtig intepretiert wird.
Kann das was mit einem Recalc der ersten Maske zu tun haben?
Grüße Ricardo
-
@m3
Du hast recht. Ich habe mir die Variable ausgeben lassen und er zieht immer den Wert vom ersten Öffnen der Maske in der die Aktion ausgeführt wird. Das ist richtig Mist ;-((((
Mir fehlt nur irgendwie der Anstoß zu einer Alternatdive...
Grüße Ricardo
-
Sowie ein Dokument mit einer Maske, die Teilmasken inkludiert, geöffnet wurde, hat man jeden Einfluss auf die einzubindenden Teilmasken verloren.
Weiters: Du unterschreibst mit Ricardo, hast dafür aber irgendwie eine unpassende Geschlechtsauswahl getroffen. Ist Dir das noch nicht aufgefallen oder ist das ein Statement?
Bernhard
-
Sowie ein Dokument mit einer Maske, die Teilmasken inkludiert, geöffnet wurde, hat man jeden Einfluss auf die einzubindenden Teilmasken verloren.
Weiters: Du unterschreibst mit Ricardo, hast dafür aber irgendwie eine unpassende Geschlechtsauswahl getroffen. Ist Dir das noch nicht aufgefallen oder ist das ein Statement?
Bernhard
Hallo Bernhard,
wie immer sind deine Aussagen kurz und eindeutig, was mich zwingt nach Alternativen zu suchen.
Danke für den Hinweis auf die Profilangaben. War ein Fehler ;-)))
Grüße Ricardo