Domino 9 und frühere Versionen > ND8: Entwicklung
agent.run in QuerySave
Bruce Willis:
Hallo Roland,
--- Zitat von: pram am 17.01.12 - 03:19:31 ---Agenten, die mit Agent.run gestartet werden, sind Backend-Agenten, auf UI-Funktionen sollte man da tunlichst verzichten.
--- Ende Zitat ---
Oooooh!
Danke!
--- Zitat von: pram am 17.01.12 - 03:19:31 ---Ausgaben mit Print/Megbox landen im lokalen Noteslog.
--- Ende Zitat ---
Ach soooo.
Dann muss ich meinen FS Agenten wirklich anders realisieren, weil er dem Benutzer noch einige Statusleiste- und Popup-Meldungen auf dem Weg gibt...
--- Zitat von: pram am 17.01.12 - 03:19:31 ---Man kann dem Agenten eine NoteID übergeben, das Dok. muss dann aber gespeichert sein was dir im Querysave höchstwahrscheinlich einen Konflikt erzeugt.
(erst seit 8.5.? gibt es runwithdocumentcontext)
--- Ende Zitat ---
Aber wie genau rufe ich einen ForsmelSprache-Agent und/oder auch einen BackEnd LS-Agent mit NoteID und runwithdocumentcontext ?
Kannst Du bitte ein paar Zeilen mit den beiden Beispiele hier schreiben?
Ich finde in der Designer Hilfe leider keine Beispiele.
Und was schreibe ich in dem BackEnd LS-Agent, damit er weiß, welches Doc er abarbeiten soll?
--- Zitat von: pram am 17.01.12 - 03:19:31 ---Ist denn dein Historie-Agent ein LS-Agent? Wenn ja, dann pack den Code in eine Methode in einer Scriptlibrary, der du das zu protokollierende Dokument übergibst. Das ist m.E. die sauberste Lösung.
--- Ende Zitat ---
Ja, das werde ich wohl tun müssen.
Gruß
Leo
Bruce Willis:
Hallo Peter,
--- Zitat von: Peter Klett am 17.01.12 - 07:59:16 ---Wenn ich Dich richtig verstehe, hast Du das Problem, dass Du im QuerySave sowohl Script als auch Formel ausführen willst. Deshalb hast Du einen Agenten, der in Formelsprache das "alte" Querysave enthält, und den Du dann aus dem "neuen" Querysave, das in Script geschrieben ist, per agent.Run starten willst.
--- Ende Zitat ---
Ja, im Prinzip so.
Ich hatte das super lange QuerySave voll mit FS Code.
Dann merkte ich, dass die Validierungen nicht immer ganz sauber funktionieren und wollte in LS umschreiben. Aber nicht sofort mangels der Zeit.
Daher habe ich einen größten Teil in den FS Agenten ausgelagert und einen kleineren im FS QuerySave gelassen.
So lief es ein Weile.
Gestern hab ich das QuerySave in LS umgeschrieben und ziemlich spät am Abend merkte, dass der FS Agent nicht gestartet wird... ::)
Schließlich nach der nachtlichen Diskussion hier habe ich QuerySave wieder auf FS umgestellt. :'(
Das ist der letze Status.
--- Zitat von: Peter Klett am 17.01.12 - 07:59:16 ---Wenn Dein Hauptproblem also ist, dass Du zwei Querysaves benötigst, eines in Formel und eines in Script, erstelle Dir eine Teilmaske und füge die in Deine Maske ein. Ins Querysave der Teilmaske schreibst Du Formelsprache, ins Querysave der Maske das Script (oder umgekehrt). Erst wird das Querysave der Maske, dann das der Teilmaske ausgeführt.
Hoffe, das bringt Dich weiter.
--- Ende Zitat ---
Ja, vielen Dank!
Die Idee ist sehr interessant.
Gruß
Leo
Bruce Willis:
--- Zitat von: pram am 17.01.12 - 03:19:31 ---pack den Code in eine Methode in einer Scriptlibrary, der du das zu protokollierende Dokument übergibst. Das ist m.E. die sauberste Lösung.
--- Ende Zitat ---
Ich bin fast am Ende. :(
Ich hab in einer Scriptlibrary eine Funktion erstellt:
--- Code: ---Function fTest As String
fTest = "Test"
Messagebox "Test"
Print "Test"
End Function
--- Ende Code ---
Wenn ich sie aus QuerySave aufrufe, passiert gar nichts.
Wenn ich sie in QuerySave ausgebe, wird alles nur leer (also ohne "Test") angezeigt.
Messagebox fTest
Print fTest
Wenn ich diese Funktion aus einem LS Agenten aufrufe, läuft alles.
Was mache ich falsch? :-:
Peter Klett:
Wie rufst Du die Function auf?
Bruce Willis:
Danke für den Denkanstoß, Peter!
Ich hatte die Library in die Maske nicht eingebunden.
Und das QuerySave hatte nicht gemeckert. :-:
Jetzt läuft's. :)
Navigation
[0] Themen-Index
[#] Nächste Seite
[*] Vorherige Sete
Zur normalen Ansicht wechseln