Domino 9 und frühere Versionen > ND6: Entwicklung

Wechsel EditMode im Postopen

<< < (2/3) > >>

wuschel:
@bernhard: mein gesamter POSTOPEN ist in Formelsprache, daher suchte ich hier eine Lösung (oder kann ich auch hier ins Backend schreiben?)

@klauss: es muss protokolliert werden, dass die Mitarbeiter das Dokument gesehen haben.

Thomas Schulte:
Nicht durchdacht. Was machst du mit Benutzern die zwar lesen aber nicht editieren dürfen. Was machst du mit Benutzern die nur Leseberechtigung auf der DB haben was machst du mit .....

Guckst du hier. das ist vielleicht eine mögliche Lösung für dein Problem.

wuschel:
@Thomas:
wieso nicht durchdacht?
Hast Du noch nie eine Prüfinstanz in einem Miniworkflow gehabt, die einfach NUR sichtgenehmigen soll und KEINE Felder verändern können soll?
Und wieso soll ich Benutzer haben, die nur eine Leseberechtigung auf der DB haben?

cash:
so habe ich das auch.. oder so ähnlich und komme nicht wirklich weiter:

Also mal von Anfang an:

Ich habe eine Datenbank mit Vordrucken erstellt. Mich interessiert wieoft der User den Vordruck öffnet.

Also habe ich jeden User Editor rechte gegeben. Außerdem 2 Rollen definiert Editor und Leser
der Editor sieht auch die Felder die er editieren darf der Leser sieht nur die berechneten  Felder.

im Postopen habe ich folgende Formel reingeschrieben:


@Command( [EditDocument]; "1" );
FIELD Statistik:=@If(Statistik="";@Text(@Now);Statistik:@Text(@Now));
FIELD Statistik_1:=@If(Statistik_1="";1;Statistik_1+1);
@Command( [EditDocument]; "1" );
@Command([FileSave];"1")

Somit wird jeder Zugriff gezählt. Der Leser kriegt davon nichts mit weil für ihn alle Felder trotzdem dicht sind. Jetz würde ich o .g . Fomel gerne erweitern so das wenn ein User mit Rolle Editor zugreift eben nichts gezählt wird sondern dasDokument am besten erst garnicht in in Edit-Modus geht. Leider kriege ich das nicht hin.

WEnn ich folgende Eintrage:

@If(@IsMember("[Leser]";@UserRoles);
@PostedCommand( [EditDocument]; "1" );
FIELD Statistik:=@If(Statistik="";@Text(@Now);Statistik:@Text(@Now));
FIELD Statistik_1:=@If(Statistik_1="";1;Statistik_1+1);
@PostedCommand( [EditDocument]; "1" );
@PostedCommand([FileSave];"1");
@Return(""))

funktioniert es nicht sonder es kommt eine Felermeldung...

Zahl erwartet

Gruß

Cash

koehlerbv:
So kann das auch nichts werden.

Generell: Was Du da machst für "Statistiken", ist nicht besonders smart. Ein Dokument kannst Du Dir dann so maximal 1.700 mal anschauen, dann ist Ende Gelände - das Feld "Statistik" ist voll.
Weiters: Statistik_1 ist unnötig - das wäre das gleiche wie @Elements (Statistik).

Warum man sich aber gar nicht weiter mit der Sache beschäftigen muss: Selbst, wenn Du den EditMode wieder auf False setzen könntest, braucht der User ja nur Strg-B zu drücken ... Vielleicht habe ich das aber nur missverstanden.
Mir erschliesst sich nicht, was Du mit dem @If-Konstrukt überhaupt gedacht hast zu erreichen: Die Formel widerspricht ja jeglicher Syntax für @If.

Du wirst das nur sauber hinbekommen, wenn Du statt @functions LotusScript verwendest.

Bernhard

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln