Domino 9 und frühere Versionen > ND7: Entwicklung
Suchen & Ersetzen Agent in Notes Script - Tipps für Anfänger?
watschn:
Ne, also ich krieg das nicht hin. Verwende ich db.UnprocessedDocuments, so greift er auf mein Haupt-Dokument zu, ich brauche aber das Antwortdokument. Wenn ich dann Testweise den Agenten auf ein Feld im Haupt-Dokument anwende, so bekomme ich nur die Meldung "Operation failed", im Debugger kann ich keine Fehlerursache erkennen. Mir fehlt´s dann doch zu sehr an den nötigen Kenntnissen um das jetzt auf die Schnelle noch hinzubekommen.
Ich werde jetzt für jeden Suchen & Ersetzen Vorgang meinen Agenten einfach umschreiben. Hierzu hätte ich noch eine Frage.
FIELD VKenntnis := @ReplaceSubstring(VKenntnis;"Michael";"Hans");
FIELD hVKennzeichen := ("Vorgangskennzeichen123");
SELECT @All
Wenn ich das so ausführe, dann wird für alle Dokumente in meiner DB das Vorgangskennzeichen gesetzt. Ich brauch das aber nur für die Dokumente, bei denen der Name ersetzt wurde. Geht das?
@MadMetzger
Also wenn ich das richtig verstanden habe, dann bringt mir dein Tipp leider nichts. Die Notes User bleiben ja bestehen. Es soll nur User1 gegen User2 im jeweiligen Dokument ausgetauscht werden.
koehlerbv:
Du brauchst doch vor dem @ReplaceSubstring nur die Bedingung anzugeben, die Du zu formulieren hast.
Bernhard
watschn:
Sorry, aber das versteh ich jetzt nicht so ganz Welche Bedingung hab ich vor dem @ReplaceSubstring denn zu formulieren? Die Funktion soll doch auf die gesamte Datenbank angewandt werden und das geht mittels Agent.
Wenn dann bräuchte ich ja eine Bedingung nach Anwendung von @ReplaceSubsting. Wenn ein Wert ersetzt wurde, dann soll bei dem betreffenden Dokument das Vorganskennzeichen geschrieben werden.
koehlerbv:
Das hast Du aber missverständlich beschrieben ...
Das geht natürlich auch hinterher, wenn Du eine Veränderung im Dokument dokumentieren willst. Du brauchst Du ja nur vor dem @ReplaceSubstring den alten Wert in eine Variable einzulesen und danach diese Werte zu vergleichen.
Aber vielleicht beschreibst Du das selber nochmal genauer, damit auch wir, die wir nicht direkt mit Deinem Problem beschäftigt sind, da wirklich durchsehen. Und bei einer guten Beschreibung erkennt man oft schon selbst die Lösung ;)
Bernhard
PS: Wenn Du einen ansprechbaren Namen unter Deine Postings setzt, dann ist die Motivation zum Antworten auch grösser ...
watschn:
Ok, nochmal eine Erklärung :-)
Ich habe einen kleinen Agent erstellt, der ein Feld nach einer bestimmten Zeichenfolge durchsucht und diese dann durch eine andere Zeichenfolge ersetzt. Hierzu verwende ich die @ReplaceSubstring Formel. Der Agent wird auf die gesamte DB angwandt, es werden aber natürlich nur die Dokumete geändert, die den gesuchten Wert enthalten. Wird ein Dokument auf diese Weise geändert (also bei einem "Treffer"), so muss ein zusätzlich noch ein sog. Vorgangskennzeichen gesetzt werden. Es wird also einfach nur ein Text in das Feld "Vorgangskennzeichen" geschrieben. Das brauche ich zum Ausführen eines weiteren Agenten der nachts läuft und eben nur Dokuemte mit Vorgangskennzeichen bearbeiten soll.
Ich habe vor der letzten Antwort den Code meines Agenten gepostet. Funktioniert einwandfrei, nur wird hier für jedes Dokument in der DB dieses Vorgangkennzeichen gesetzt. Das ist aber falsch, ich will das Zeichen nur bei den Dokumenten, die der Agent geändert hat.
Ich hoffe das ist jetzt etwas verständlicher fomuliert ;-)
Die Problemschilderung am Anfang meines Postes bezieht sich darauf, dass ich für meinen Agenten gerne eine Eingabemaske hätte. Daran scheitere ich aber mangels Script Kenntnissen.
Und klar hab ich auch einen Namen :-)
Michael
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln