Domino 9 und frühere Versionen > ND6: Entwicklung
Wechsel EditMode im Postopen
wuschel:
Hallo,
ich habe eine Maske, bei der der Bearbeitungsmodus nicht automatisch aktiviert wird. Dokumente werden also normalerweise im Lesemodus angezeigt. Unter bestimmten Umständen möchte ich jetzt im Postopen den Bearbeitungsmodus einschalten, ein paar Änderungen an Feldern durchführen und das Dokument wieder in den Lesemodus nehmen:
@If (Status="6" & @IsMember(@UserName;AktBearbeiterListe); @Do(
@Command([EditDocument];"1");
@setfield...
@Command([EditDocument];"0")
);@Success)
Leider erhalte ich beim letzen Umschalten die Fehlermeldung "Document command is not available".
Hat jemand ne Idee, warum dies so ist oder wie ich das ganze besser lösen könnte?
Gruß Matthias
flaite:
Ich glaub mit Script kannst du das im Backend machen und am Ende uidoc.refresh.
Ist vielleicht einfacher.
Wenn in dem Postopen bereits Formelsprachen-Code drin ist, kannst du einen Agenten aufrufen, der in Script programmiert ist.
wuschel:
Hallo,
ich hab jetzt so einiges ausprobiert, aber ich komme einfach nicht weiter. Also,
- das Dokument soll generell im Lesemodus geöffnet werden
- bei bestimmten Usern soll das Dokument im Bearbeitungsmodus geöffnet werden und das Öffnen soll protokolliert werden
- im POSTOPEN wird also unter Umständen der EditMode eingeschaltet, anschließend sind einige Felder editierbar.
ABER
- hat das Dokument einen bestimmten Status erreicht, soll zwar weiterhin protokolliert werden, dass diese bestimmten User das Dokument geöffnet haben, die Felder des Dokuments dürfen jedoch nicht mehr verändert werden.
Ich wollte das in diesem Fall so lösen, dass im POSTOPEN der Bearbeitungsmodus eingeschaltet wird, die Protokollinformationen in bestimmte Felder eingetragen werden, das Dokument gespeichert wird und anschließend der Lesemodus wieder eingeschaltet wird.
Unabhängig von Formelsprache oder LS erhalte ich aber in jedem Fall einen harten Programmabbruch. Und zwar offensichtlich dann, wenn ich speichern möchte, also vor dem Zurückschalten in den Lesemodus. Lasse ich den Speicherbefehl weg, läuft alles durch, der Anwender erhält aber als Eingabeaufforderung die Anfrage auf Speicherung, ist also murks.
Hat jemand ne Idee oder einen Hinweis, wie ich das vielleicht ganz anders lösen könnte.
(Berechnete Anzeigefelder helfen in diesem Fall nichts, da ich u.a. ein RTF-Feld habe, in dem ich Anhänge speichere. Und hier habe ich bisher keine Möglichkeit gefunden, dieses Feld berechnen zu lassen.)
koehlerbv:
Wozu setzt Du denn das Dokument in den EditMode, nur um Protokollinformationen zu speichern? Mach das doch im Backend.
Bernhard
klaussal:
Ich würde das Doc grundsätzlich nur im Lesemodus öffnen. Schaltfläche "Bearbeiten" nur zeigen , wenn bestimmte Rolle vorhanden.
Wenn der bestimmte Status da ist, das Bearbeiten nicht mehr erlauben. (Was soll denn da überhaupt protokolliert werden, wenn man nix mehr darf?)
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln