Autor Thema: Agent mit dem angegebenen Namen kann nicht gefunden werden  (Gelesen 3299 mal)

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Ich habe hier ein Phänomen was mich schon einige graue Haare gekostet hat.

Wir haben eine eigene Datenbank erstellt, die als Startseite fungieren soll. Darin enthalten ist eine Gliederung mit verschiedenen Einträgen die zu den Datenbanken führen. In den Einträgen sind jeweils zwei Zeilen Formelbefehle.

@SetEnvironment("DatenbankID"; xxxxxxxx:yyyyyyyy);
@PostCommand([ToolRunMacro]; "(NameDesAgent)")

Der Agent ist in Script geschrieben und ist letztendlich für das Starten der DB verantwortlich.

Das Ganze funktioniert auch soweit ganz gut. Nur wenn ein Client neu installiert und konfiguriert wurde, wird beim Klick auf einen Gliederungseintrag die Meldung "Agent mit dem angegebenen Namen kann nicht gefunden werden" angezeigt. erst nachdem der Client mehrmals neu gestartet wurde funktioniert's und dann aber zuverlässig.

Hast jemand eine Idee woran das liegen könnte? Mir sind die Ideen ausgegangen.

Axel

« Letzte Änderung: 09.12.10 - 12:33:37 von Axel »
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agent mit dem angegebenen Namen kann nicht gefunden werden
« Antwort #1 am: 23.11.10 - 15:29:01 »
Hat keiner eine Idee oder kennt das Problem.

Ich habe hier jetzt schon den zweiten Fall. Ein Button in einer Maske mit dem ich einen Agent starten will.

Formel: @Command([ToolRunMacro]; "(NameDesAgent)")

Eine Suche in der Knowledgebase von IBM brachte auch keinen Hinweis.


Axel


Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Agent mit dem angegebenen Namen kann nicht gefunden werden
« Antwort #2 am: 23.11.10 - 15:44:41 »
Im Falle des Agenten aus der Maske würde ich den Button mal testweise in Script schreiben. Ich könnte mir vorstellen, dass dadurch, dass die Datenbank als Startdatenbank verwendet wird, Notes nicht ganz klar darüber ist, wo es sich gerade befindet (wir hatten vor Jahren auch immer mit unserer Startdatenbank zu kämpfen, und bei jeder neuen Notesversion ging der K(r)ampf von vorne los).

Mit Script kannst Du den Agenten m.E. gezielter ansprechen (Datenbank und Agentenname, anstelle nur Agentenname).

Bei der Gliederung geht glaube ich nur Formel, oder?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agent mit dem angegebenen Namen kann nicht gefunden werden
« Antwort #3 am: 23.11.10 - 16:57:32 »
Bei der Gliederung geht glaube ich nur Formel, oder?

Richtig.

Ich habe auf die Schnelle das ganze Script aus dem Agenten in den Button eingefügt. Das funktioniert einwandfrei. Wenn ich wieder etwas Luft habe, werde ich mich des Themas mal genauer annehmen.

Im Falle der Gliederung, haben wir den Agenten versuchsweise "nicht versteckt". Nun taucht er zwar unter dem Menü "Aktion" auf, aber damit leben wir erstmal.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agent mit dem angegebenen Namen kann nicht gefunden werden
« Antwort #4 am: 08.12.10 - 14:41:22 »
Ich muss das Thema noch mal hochholen.

Auch der Aufruf eines nicht versteckten Agenten über Gliederungselemente schlägt mit der entsprechenden Meldung fehl. Das Problem taucht aber nur sporadisch auf. Dann bei einzelnen Usern aber hartnäckig. Da der Agent auch im Aktionen-Menü auftaucht, habe ich ihn darüber mal gestartet und er ist sauber gelaufen. Danach funktionierten auch die Aufrufen über die Gliederungselemente wieder.

Aufgerufen wird das Ganze über:

@SetEnvironment("DatenbankID"; xxxxxxxx:yyyyyyyy);
@PostCommand([ToolRunMacro]; "NameDesAgent")

Es ist wahrscheinlich nur eine Frage der Zeit, bis die Meldung, dass der Agent nicht gefunden kann, wieder auftaucht. An einem bestimmten Ereignis lässt es sich aber nicht festmachen.

Hat jemand solche Phänomene schon mal beobachtet?

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Agent mit dem angegebenen Namen kann nicht gefunden werden
« Antwort #5 am: 08.12.10 - 16:37:38 »
ja, das Problem tritt z.b. dann auf, wenn man ein Frameset in DB1 mit einer Outline aus DB1 hat und eine View anzeigt, die aus DB2 stammt.

Will man nun einen Agent in der Outline starten, so wird dieser nicht (wie man erwarten würde) in DB1 gesucht, sondern in DB2.

Ich vermute dass es bei dir ähnlich ist, dass Notes einfach nicht weiß, welche DB aktuell offen ist.

ggf ein Workaround wäre: Anstatt einen Agenten zu starten mit @Command([Compose]... ) eine Maske zu öffnen.
Der Skript-Code kommt dann ins initialize der Maske und ins QueryOpen ein continue=false

Gruß
Roland
Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agent mit dem angegebenen Namen kann nicht gefunden werden
« Antwort #6 am: 08.12.10 - 19:14:48 »
ja, das Problem tritt z.b. dann auf, wenn man ein Frameset in DB1 mit einer Outline aus DB1 hat und eine View anzeigt, die aus DB2 stammt.

Will man nun einen Agent in der Outline starten, so wird dieser nicht (wie man erwarten würde) in DB1 gesucht, sondern in DB2.

Ich vermute dass es bei dir ähnlich ist, dass Notes einfach nicht weiß, welche DB aktuell offen ist.

Bingo!!

Das ist es. Ich hab's auf die Schnelle getestet. Die Startseite enthält auf der linken Seite die Gliederung und rechts wird oben die Inbox und unten der Kalender aus der Mailk-DB des entsptrechenden Users angezeigt.
Klicke ich einmal in die Inbox und klicke dann auf ein Gliederungselement an, dann kommt die Meldung.

Klicke ich zuerst einmal auf die freie Fläche im Frame mit der Gliederung und dann auf ein Element wird der Agent ausgeführt.

Manchmal sieht man den Wald vor lauter Bäumen nicht. Danke für den Tipp.

Ich muss mir jetzt nur noch eine Lösung einfallen lassen. Das mit der Maske geht so nicht, da über den Agent lediglich eine Datenbank gestartet wird. Mal sehen was mir da einfällt.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline pram

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 1.170
  • Geschlecht: Männlich
    • Foconis Object Framework
Re: Agent mit dem angegebenen Namen kann nicht gefunden werden
« Antwort #7 am: 08.12.10 - 23:40:14 »
Zitat
Das mit der Maske geht so nicht, da über den Agent lediglich eine Datenbank gestartet wird. Mal sehen was mir da einfällt.

Da hab ich mich vielleicht noch unklar ausgedrückt. Die Maske ersetzt den Agenten (erscheint aber nicht am Bildschirm)

Da dein Agent bereits in skript ist, müsste es reichen, diesen skript-code ins initialzie der Maske zu kopieren:
Code
sub initialize
     ' deinAgentCode, z.B.
     ws.openDatabase(sess.getEnvironmentString(...))
end sub

sub queryOpen(source, continue)
     continue = false ' verhindert das Öffnen
end sub
Nun kann es sein, dass du gewissermaßen recht hast, weil bestimmte UI Aktionen im initialize vielleicht nicht möglich ist. (öffnen einer DB gehört wohl dazu)

Dann muss man es wie Folgt im Postopen machen (queryOpen bleibt dann leer)
Code
sub postOpen(source)
     ' dein code
     source.close ' uiDoc schließen. Maske sollte ein verstecktes Feld SaveOptions = "0" enthalten
end sub

Nachteil: Maske erscheint kurz am Bildschirm, da kann man aber einen Text rein machen: "Bitte warten" oder so was in der Richtung.
Leider gibt es kein "offizielles" @Command um einen Agenten in einer bestimmten DB zu starten, außer vieelleicht noch das:
http://www.johndavidhead.com/jhead/johnhead.nsf/dx/ibm-just-blew-me-away-...-?opendocument&comments

Gruß
Roland

Roland Praml

IBM Certified Application Developer - Lotus Notes and Domino 8
Ich verwende das Foconis Object Framework

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re: Agent mit dem angegebenen Namen kann nicht gefunden werden
« Antwort #8 am: 09.12.10 - 12:33:24 »
Der Weg über die Maske ist anscheinend der im Moment einzigste Weg das geregelt zu kriegen.

Im Initialize-Event funktioniert das Ganze nicht 100%ig sauber, aber im Postopen sieht's recht gut aus.

Danke nochmal für den Tipp.


Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz