Domino 9 und frühere Versionen > ND8: Entwicklung

@Command([ReloadWindow]) macht nicht das was ich erwarte

(1/3) > >>

gstueb:
Hallo,

ich habe eine Maske, die entweder zum Bearbeiten oder zur Ansicht geöffnet ist. Es gibt dort einen Aktionsbutton "Erste Beurteilung erfolgt". Wenn die Maske zum bearbeiten geöffnet ist, soll sie erst gespeichert werden, anschließend wird ein Agent aufgerufen, der im Dokument ein paar Felder setzt.

Soweit klappt auch alles. Nach dem Klick auf die Aktion befinde ich mich im Vorschaumodus, allerdings werden mir die Felder, die der Agent gesetzt hat, nicht angezeigt. Wenn ich aus dem Dokument raus- und wieder reingehe, werden mir die geänderten Daten angezeigt.

Warum funktioniert der @Command([ReloadWindow]) hier nicht? Wer kann mir den genauen Unterschied zwischen @Command([ReloadWindow]) und @Command([RefreshWindow]) erklären?


--- Code: ---@If(@IsDocBeingEdited;
   @If( @Command([FileSave]);"";@Return(0) );
"");
@Command([EditDocument];"0");
@Command([ToolsRunMacro];"(Erste Beurteilung erfolgt)");
@Command([ReloadWindow])

--- Ende Code ---

Der Agent (Erste Beurteilung erfolgt):


--- Code: ---FIELD SKBeurteilt1 := @Text(@Now) + " " + @UserName;
Aktion := "Erste Beurteilung";
FIELD Protokoll:=Protokoll + @NewLine + Aktion + " am " + @Text(@Now) + " von " + @UserName;
SELECT @All

--- Ende Code ---

Danke & Gruß,
Gregor

Peter Klett:
Irgendwo in der Hilfe steht, dass Agentenaufrufe immer am Ende der Formel ausgeführt werden, unabhängig davon, wo sie in der Formel stehen. Folglich wird ReloadWindow wohl vor dem Agentenlauf ausgeführt.

klaussal:
RelaodWindow:
--- Zitat ---This command executes after all @functions.
--- Ende Zitat ---

RefreshWindow:
--- Zitat ---This command executes immediately.
--- Ende Zitat ---

Steht alles in der Hilfe.....

Peter Klett:

--- Zitat von: klauss am 13.09.10 - 15:46:53 ---
--- Zitat ---This command executes after all @functions.
--- Ende Zitat ---

--- Ende Zitat ---
Das steht bei ToolsRunMacro auch in der Hilfe.

Welches Event nun als letztes von den zuletzt ausgeführten Events ausgeführt wird?

Habe dabei auch @Command ([RunAgent]; ...) gefunden, das soll sofort ausgeführt werden, sollte vielleicht mal probiert werden.

gstueb:

--- Zitat von: Peter Klett am 13.09.10 - 15:44:36 ---Irgendwo in der Hilfe steht, dass Agentenaufrufe immer am Ende der Formel ausgeführt werden, unabhängig davon, wo sie in der Formel stehen. Folglich wird ReloadWindow wohl vor dem Agentenlauf ausgeführt.

--- Ende Zitat ---

Das hatte ich auch vermutet, aber da auch ein wiederholtes klicken auf meinen Button nichts anzeigte, konnte ich dies als Grund eigentlich ausschließen.

Aber auch das Ändern des Agent-Aufrufes auf


--- Code: ---@Command ([RunAgent];"(Erste Beurteilung erfolgt)");
--- Ende Code ---

bringt nichts. Auch das Aktualisieren mit F9 zeigt die Änderungen nicht an. Ich muss das Dokument verlassen und wieder reingehen, vorher klappt nichts.

Hmm?

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln