Domino 9 und frühere Versionen > ND6: Entwicklung
Feldwerte aller Dokumente per Eingabe setzen
Catrex:
Hallo,
ich muss zunächst mal sagen, dass ich hier noch neu bin und bislang nur im R5 Forum mein "Unwesen" getrieben habe. Ich bin sicher nicht das was man einen "Profi" nennt. Aber ich habe mir das unter R5 bislang alles selber begebracht - im Rahmen eines Praxissemesters. Ich bin auch einer der keine perfekt Lösung braucht sonder es sollte nur seinen Zweck erfüllen. Nun Aber zu meiner Frage:
Ich würde gerne einen bestimmtes Feld in allen Dokumenten bzw. ausgewählten Dokumenten in einer Ansicht ändern. Ansich ja kein Problem, wenn der Feldwert bekannt ist kann ich es ja z.B. via Agent mit @setfield lösen. Nun ist es aber so, das der Feldwert zunächst von User eingegeben werden muss.
Wen ich da mit @prompt in der Agentenformel rangehe bringt mir das nichts weil ich die Eingabe bei jeden Dokument wiederholen muss. Dann dachte ich mir ich verknüpfe 2 Agenten. Der eine mach die Eingabeabfrage und der andere setzt dann die Werte um. Nur ist hier das Problem, das ich nicht weiss ob und wie ich Rückgabewerte bzw. die Eingabe des ersten Agenten an den anderen weitergebe.
Ich hoffe, dass ihr mir vieleicht einen Lösungsansatz geben könnt, auf dem ich dann weiterarbeiten kann.
Wäre euch wirklich sehr dankbar !
mfg
Sebastian
eknori (Aktivrentner):
Das http://www.eknori.de/tipps/detail.php?nr=90&kategorie=tipps sollte seinen Zweck erfüllen.
Du wählst die zu ändernden Dokumente aus und startest den Agenten. Der zeigt dir dann ein Dokument aus der Auswahl mit der zugrundeliegenden Maske. Jetzt kannst du ein oder mehrere felder Ändern; die Änderungen werden dann in allen markierten Dokumenten vorgenommen.
animate:
dieses Problem habe ich meistens mit einem Eintrag in der Notes.ini gelöst.
Agent 1 schreibt den eingegebenen Wert in die Notes.ini (mit @Environment, glaube ich) und Agent 2 holt ihn wieder raus, werkelt rum und entfernt ihn danach.
natürlich ist der Tipp von eknori mehr 'sophisticated'.
Catrex:
Hallo,
zunächsteinmal möchte ich mich dafür entschuldigen, dass ich mich jetzt erst wieder melde.
Also, zu der ersten lösung kann ich sagen, dass die natürlich schonmal ihre Zweck erfüllt. Ob das nun wieder benutzerfreundlich ist sei dahingestellt. Aber sollte ich keine andere Lösung finden kann ich darauf, bzw. auf dem Skript schonmal aufbauen. Danke
Was die zweite Lösung angeht, habe ich mich damit noch nicht vertraut gemacht. Ich dachte mir aber schon das sowas gehen müsste. mmh, ich hoffe das ich dazu in der Hilfe noch was finde. also zu den entsprechenden @Befehlen. Bist du dir auch sicher das das der richtige ist ?
Also danke euch beiden für die schnellen Antworten...
mfg
Sebastian ! ! !
koehlerbv:
Der Tip von Thomas funktioniert schon so, wie er es geschrieben hat. Das trifft vor allem Deine Anforderungen, da Du offensichtlich den Namen und den Typ des zu ändernden Feldes kennst. Genau das kannst Du dann mit einer Dialogbox in Agent 1 auslesen, auf Gültigkeit prüfen, in eine Environment-Varibale schreiben und dann Agent 2 aufrufen. Der setzt dann auch den erforderten Datentyp wieder um, wenn er dann alle in Frage kommenden Dokumente updated.
Danach nicht vergessen, die Environment-Variable wieder zu löschen - wir wollen ja keinen Müll in der Natur (=Environment).
Mit LS geht sowas natürlich eleganter. Der Code, den Ulrich gepostet hat, ist da schon sehr weitreichend und universell, berücksichtigt aber leider nur Textfelder, und dort auch nur skalare Werte. Als Beispiel ist das Teil aber bestens geeignet !
HTH,
Bernhard
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln