Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: wuschel am 04.06.03 - 14:01:28

Titel: Felder für markierte Dokumente ändern
Beitrag von: wuschel am 04.06.03 - 14:01:28
Hallo,
ich möchte eine Ansicht bereitstellen, in der die Anwender bestimmte Dokumente markieren können und über eine Aktion in den markierten Dokumenten ein Feld damit auf einen bestimmten Wert setzen.
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: Rob Green am 04.06.03 - 14:08:58
schreib in den Actionbutton rein:

@command([toolsrunmacro];"(Agentname)")

Der Agent selbst enthält zB
Field ABC:="123"

und ist so eingestellt, daß er auf ausgewählte Dokumente läuft.

Soll der User allerdings bestimmte Docs trotz Auswahl nicht ändern, nimmste in den Agent noch ne Zeile dazu:

@if(FeldABC="nicht beendet";@return(void);@success);
Field ABC:="123"

So läuft er nur über die zulässigen Docs und läßt unzulässige außen vor in einem Abwasch.
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: wuschel am 04.06.03 - 14:20:00
Besten Dank,
hab ich verstanden, umgesetzt, - funktioniert...
Wie kriege ich aber den Agenten so hin, dass er nur über die Aktion gestartet werden kann und nicht aus Menü Aktionen
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: wuschel am 04.06.03 - 14:27:08
...funktioniert doch noch nicht so ganz.
Aus dem Menü Aktionen aufgerufen, macht der Agent, was er soll,
aus der Aktion aufgerufen, wird nur das Dokument geändert, das sich in der Vorschau befindet.
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: klaussal am 04.06.03 - 14:32:48
in der die Anwender bestimmte Dokumente markieren können ...

hst du doch so geschrieben, oder  ::)
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: Rob Green am 04.06.03 - 14:36:57
und wenn der Agent so eingestellt wird, daß er aus einer "Liste" aufgerufen wird, statt aus dem Menue, bekommt er "Klammern" um den Namen. Daher im Beispiel auch "@command([toolsrunmacro];"(Agentname)")". Sorry, hätte ich deutlicher machen sollen. Und klausals Hinweis dazu, dann haste es.
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: wuschel am 04.06.03 - 14:43:09
vielleicht habe ich mich nicht deutlich ausgedrückt:
die Anwender sollen über den Auswahlrand bestimmte Dokumente markieren können, so dass sie mit dem Häkchen versehen sind.
Und nicht ein Dokument anklicken, so dass ein dicker Rand um diesen Eintrag angezeigt wird.

Der Agent, so wie ihn jetzt eingerichtet habe, arbeitet für die "angehakten" Dokumente richtig, wenn ich ihn aus dem Menü Aktionen aufrufe. Rufe ich ihn über die von mir eingerichtete  Aktion auf, werden die "Anhakungen" ignoriert und nur das Dokument verändert, das den dicken Rand hat.
Der Agent reagiert also unterschiedlich. Ich hätte gerne die Lösung mit den "Anhakungen"  UND dem Aufruf über die Aktion.

Vielleicht laienhaft ausgedrückt, aber so ist es vielleicht verständlicher.

Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: Rob Green am 04.06.03 - 14:47:16
was steht konkret in dem
Aktionsbutton drin?
und imm Agent drin?
Wie heißt der Agent, über welche Docs soll er laufen und wie wird er aufgerufen (aus Menue, aus Liste, bei Einfügen)...

Ich frage deswegen so explizit, weil es wie oben beschrieben auf jeden Fall  läuft, es sei, Du hast was vergessen, korrekt einzustellen.
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: klaussal am 04.06.03 - 14:47:34
... dokumente sidn dann markiert, wenn sie einen haken vorne dran haben.
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: wuschel am 04.06.03 - 14:55:35
ok, mit den Haken sprechen wir also jetzt dieselbe Sprache...

Hier das Umfeld:
Die Ansichtenaktion hat folgende Befehle:
@Command([ToolsRunMacro];"(Sonderstatus)");
@Command([EditDeselectAll])

Der Agent
- heisst Sonderstatus
- ist gemeinsam genutzt
- wird manuell aus der Liste der Agenten gestartet
- gilt für ausgewählte Dokumente
- beinhaltet die einfache Aktion 'Feld "Status" ändern in "3"'

Wie gesagt, speichere ich ihn mit Startoption "Manuell aus dem Menü Aktionen" läuft er auch wie gewünscht. Nur eben über die Aktion nicht, hier werden die Anhakungen ignoriert.
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: wuschel am 04.06.03 - 14:59:10
habe gerade selber die Lösung gefunden,
durch den deselect werden wohl vor dem Agentenstart die Markierungen gelöscht.
Jetzt funktionierts also bestens
DANKE für Eure Hilfe
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: ghost am 04.06.03 - 15:01:37
Das '@Command([EditDeselectAll])' muss aus dem Actionbutton raus...
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: Rob Green am 04.06.03 - 15:02:20
@commands werden in einer bestimmten Reihenfolge im Client ausgeführt. Und zwar eben nicht so, wie Du sie Zeile für Zeile reingeschrieben hast.

Help dazu:
Dieser Befehl wird erst nach allen @Funktionen ausgeführt....etc etc.. es gibt in der Help ein Doc zur Ausführungsreihenfolge.

Probier daher mal diesen Trick:
@Command([ToolsRunMacro];"(Sonderstatus)");
@POSTEDCommand([EditDeselectAll])

Wenn das nicht geht, dann dasin die ACtion:
@Command([ToolsRunMacro];"(Sonderstatus)");
@Command([ToolsRunMacro];"(Deselect)");

Wobei im letzteren Agent steht:
@Command([EditDeselectAll])
UND
auf "einmalig ausführen" eingestellt ist.
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: ghost am 04.06.03 - 15:05:58
Meiner Meinung nach wird das @Command([EditDeselectAll]) gar nicht benötigt, da Agenten, die auf selektierte Dokumente laufen die Markierung nach Ausführung ohnehin aufheben.

Viele Grüße
ghost
Titel: Re:Felder für markierte Dokumente ändern
Beitrag von: klaussal am 04.06.03 - 16:13:12
... und jetzt machen wir noch einen HAKEN bei ERLEDIGT  ;D