Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: gossifu am 05.11.08 - 07:28:52

Titel: Agent funktioniert nur im Designer
Beitrag von: gossifu am 05.11.08 - 07:28:52
Hallo zusammen,

Wir haben einen Agenten entwickelt, der per Hand gestartet wird und auf kein Dokument zielt.
Der Agent erstellt im Hintergrund ein Backend Dokument, welches ungespeichert nach dem Füllen im Frontend angezeigt werden soll.
Bei der Entwicklung und bei ausgiebigen Tests gab es keine Probleme, jetzt ist das Ding beim Kunden in der Testumgebung und funktioniert nur, wenn man den Agenten im Designer startet.
Beim Debuggen des Agenten stellt sich heraus, dass er im Client bei der Zeile stehenbleibt:

Code
Call ws.EditDocument(True,doc)

Wie gesagt, im Designer macht der Agent das alles wunderbar. :-: ???

What's wrong?

mfg

Kjeld
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: m3 am 05.11.08 - 08:13:05
"auf kein Dokument zielt" widerspricht dem ws.EditDocument

"Von Hand gestartet" heißt?

Für mich klingt die Fehlerbeschreibung nach dem klassischen, in der Designer-Hilfe ausführlich dokumentierten "Problem", dass in Scheduled-Tasks am Server keine NotesUI Klassen wie NotesUIWorkspace, ... verwendet werden dürfen.

Beschreib das Problem mal etwas genauer, falls es Deiner Meinung nach nicht daran liegt.
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: gossifu am 05.11.08 - 08:26:43
Hallo m3,

Der Agent wird gestartet durch "Auswahl im Menü 'Aktionen'", Ziel "Keines".

Es wird im Agenten ein nagelneues Dokument erstellt mit Werten gefüllt und im Frontend geöffnet.

Der Agent rattert den Code durch und bleibt an beschriebener Stelle stehen und blockiert alles.
Starte ich den Agenten im Designer durch rechten Mausklick - Starten bleibt er nicht stehen, sondern zeigt mir das Dokument an.

Kjeld
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: m3 am 05.11.08 - 08:33:23
"doc" wurde vorher schon gespeichert?
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: gossifu am 05.11.08 - 08:40:43
Der Agent erstellt im Hintergrund ein Backend Dokument, welches ungespeichert nach dem Füllen im Frontend angezeigt werden soll.


mfg

Kjeld
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: DAU-in am 05.11.08 - 08:47:08
hast du im Designer den Debugger laufen beim Testen?
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: gossifu am 05.11.08 - 08:53:17
Im Client mit und ohne, im Designer mit und ohne. Allways the same. :-:

mfg

Kjeld
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: DAU-in am 05.11.08 - 09:55:14
also, bei mir läuft das durch, auch im Client.

wie sieht denn dein Code aus?

Titel: Re: Agent funktioniert nur im Designer
Beitrag von: gossifu am 05.11.08 - 10:09:45
Wie ich ja oben schon beschrieben habe, ist es in der Entwicklungs und Testumgebung auch in der Produktion bei uns kein Thema.
Nur beim Kunden spinnt der Agent im Notes-Client.

Den kompletten Code kann ich leider nicht posten, aber soviel:
Code
Sub Initialize
   Dim ws As New notesuiworkspace
   Dim se As New notessession
   Dim db As notesdatabase
   Dim doc As NotesDocument, pdoc As notesdocument
   Dim s As String	


   Set db=se.CurrentDatabase
   Set pdoc=db.GetProfileDocument("Marker")
   Call pDoc.ComputeWithForm(False,False)
   Set doc=db.CreateDocument
   doc.form="ShowMarker"

   s="hier kommt der zur Laufzeit zusammengebastelte Text rein"	

   doc.tempHTML=s

   Call ws.EditDocument(True,doc)   ' Hier kommt im Client die Eieruhr und hört nicht mehr auf
End Sub

Eigentlich ganz normal.

Kjeld
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: DAU-in am 05.11.08 - 10:43:35
und die Anzeigemaske ist in Ordnung und vorhanden?
Und genauso wie bei euch?
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: gossifu am 05.11.08 - 10:51:27
Wie gesagt, starte ich den Agenten aus dem Designer heraus, alles super, nur wenn ich über Aktionen... im Client gehe, dann macht der Agent nichts mehr.
Im Designer (rechter Mausklick auf den Agenten - Starten) wird das Dokument so hübsch angezeigt, wie ich es haben will.

Kjeld
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: Axel am 05.11.08 - 12:39:27
Nur mal so ein Schuss ins Blaue: Verwendest du irgendwo in der Maske @DbLookups und steht da evt. ein Servername fest verdrahtet drin?



Axel
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: gossifu am 05.11.08 - 13:10:51
Hallo,

die Maske hat 3 feste Felder. Eins, da stehen Stylesheets drin, ein zweites um Parameter von/an Javascriptfunktionen/HTML übergeben zu können, und das SaveOptions-Feld auf "0".

Dann gibt es noch berechneten Text, markiert als Durchgangs-HTML, welcher sich auf ein temporäres Feld beruft.

Der Agent liest jetzt ein bestimmtes Dokument aus und baut daraus nach einem bestimmten Schema HTML zusammen.
Dann wird dieses HTML in das temporäre Feld geschrieben. Beim Aufruf des Dokuments habe ich dann in Notes eine HTML-Seite mit Bildern, Links und schön strukturiert, wie ich es dynamisch in Notes nicht hinbekommen würde.

Warum geht aber das ganze im Designer?

mfg

Kjeld
Titel: Re: Agent funktioniert nur im Designer
Beitrag von: gossifu am 07.11.08 - 00:03:36
Die Lösung liegt an der Interpretation von Durchgangs-HTML im Client.
Ich hatte eine HTML-Tabelle gebaut und in die 1.Zeile 10 leere Spalten mit fester Breite eingefügt.
Der eine Client hat es gefressen, der andere nicht und hat die Spaltenaufteilung durcheinandergewirbelt. Im Designer war immer alles chique.

Jetzt habe ich der Tabelle auch eine feste Breite verpasst und ihr mit colspan="10" gesagt, dass sie 10 Spalten breit ist.

Jetzt funktioniert es. ;D

Danke für eure Mühe.

Kjeld