Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Silent_Bob am 24.06.03 - 12:28:51
-
hallöchen,
ich habe in einer schaltfläche ganz zum schluß eingebaut:
@Command([FileSave]);
@Command([FileCloseWindow])
davor ist noch ein agent eingebaut.
wenn ich die schaltfläche betätige, kommt trotzdem die abfrage ob ich speichern möchte oder nicht.
warum das? wie kann ich das umgehen?
der komplette code hinter der schaltfläche lautet mal wieder:
FIELD Feld1:=Feld1;
@SetField("Feld1";"Ja");
@Command([ToolsRunMacro] ; "my_Agent");
@Command([FileSave]);
@Command([FileCloseWindow])
hintergrund ist der, das die user nur autorenrechte haben dürfen. jeder darf sein dokument anlegen und EINMAL speichern. danach kann der user das nicht mehr ändern. das klappt auch, soweit
aber wenn ich die schaltfläche drücke kommt die abfrage trotzdem und endet mit einer fehlermeldung, daß die rechte fehlen um das dokument erneut zu speichern.
was hab ich das falsch gemacht?
-
... wenn die rechte der user geändert worden sind, also jetzt wohl nur noch leser sind, dann besteht die fehlermeldung ja zu recht.
vielleicht könnte man die schaltfläche verbergen, wenn das dokument z.bsp kein newdoc mehr ist (näheres siehe designer-hilfe).
-
hi,
nein geändert wurden die rechte nicht. die user hatten schon immer nur autorenrechte auf die dokumente. darum wundert mich das ja, daß die abfrage kommt, obwohl ich das in der formel angegeben habe
-
... glaub ich nicht. die fehlermeldung sagt ja (anscheinend), dass die rechte nicht ausreichen.
-
Probiers mal damit:
@SetField("SaveOptions";"0");
@Command([FileSave]);
@Command([FileCloseWindow])
-
hallo,
meines Wissens ist @Command([ToolsRunMacro]) einer der Befehle, die erst zum Schluß einer Formel ausgeführt werden (genau wie [FileCloseWindow]), es könnte also sein das erst speichert, dann den Agenten ausführt und dann schließt und da halt nochmal nachfragt - ist nur ne Vermutung
Grüße
-
hi @all.
es hatte tatsächlich etwas mit der reihenfolge zu tun in der die befehle, insbesonder das makro ausgeführt werden.
ich habe jetzt das makro/bzw. den agent ganz ans ende der formel gesetzt und nun funktioniert es endlich.
danke für die mühe