Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Centaury am 05.06.03 - 15:33:54

Titel: Aktuelles Dokument im Web
Beitrag von: Centaury am 05.06.03 - 15:33:54
Hallo Leute!

Wie komme ich in einem Lotusscript Agenten an das aktuelle Dokument? Der Agent wir vom WebQuerySave Event getriggert und soll überprüfen, ob das Doc neu ist oder schonmal gespeichert wurde.
Kann es sein, dass session.DocumentContext nicht bei neuen Docs funktioniert?
Was kann sonst der Fehler sein? Ich bekomme ein "Object Variable not set" im Client und ein "Type mismatch", wenn ich den Agenten auf dem Server laufen lasse. (Da soll er ja letztendlich laufen, weil Web...
Das aktuelle Doc wollte ich mir über DocumentContext holen, aber anscheinend existiert da nix...
HILFE!
Titel: Re:Aktuelles Dokument im Web
Beitrag von: ata am 05.06.03 - 19:50:42
... vielleicht liegt es an deiner Session, hast du sie mit

Dim session as New NotesSession

... initialisiert?

ata
Titel: Re:Aktuelles Dokument im Web
Beitrag von: Centaury am 06.06.03 - 09:00:20
Ja, habe ich  :-\
Titel: Re:Aktuelles Dokument im Web
Beitrag von: Rob Green am 06.06.03 - 16:27:43
type mismatch kommt zB wenn ein Feld angesprochen wird, aber so nicht vorhanden ist. Dh. ohne Code kann man wenig sagen, was nicht gehen soll.

Laut HELP sollte document.context gehen:

For an agent activated in a view through the Notes client UI, the in-memory document is the document highlighted in the view.
For an agent run from a browser with the OpenAgent URL command, the in-memory document is a new document containing an item for each CGI (Common Gateway Interface) variable supported by Domino. Each item has the name and current value of a supported CGI variable. (No design work on your part is needed; the CGI variables are available automatically.)
For an agent run from a browser with @Command[ToolsRunMacro], the in-memory document is the current document. In the case of WebQueryOpen, this is the document before Domino converts it to HTML and sends it to the browser; in the case of WebQuerySave, this is the document before Domino saves it. If the form on which the document is based contains a field named the same as a Domino-supported CGI variable, the in-memory document also contains the value of that variable. (You must explicitly design the CGI variables into the form, for example, as hidden fields.)
Titel: Re:Aktuelles Dokument im Web
Beitrag von: ata am 07.06.03 - 00:13:01
... kannst du den Code abgespeckt posten, dann kann ich versuchen zu debuggen...

ata
Titel: Re:Aktuelles Dokument im Web
Beitrag von: Centaury am 10.06.03 - 09:54:46
OK, hier der Code:

Betrifft = die Namen, für die die Aufgabe erstellt wurde,
Angenommen = derjenige, der die aufgabe angenommen hat.

Code
   Dim ses As New NotesSession
   Dim db  As NotesDatabase
   Dim doc As NotesDocument
   Dim mail As NotesDocument
   Dim RTItem As NotesRichTextItem
   
   Set db = ses.CurrentDatabase
   Set doc = ses.DocumentContext
   
   
   If doc.GetItemValue ("Angenommen") = "" Then
      mail.SendTo = Betrifft
   Else
      mail.SentTo = Angenommen
   End If
   
   If doc.IsNewNote = True Then
      mail.Subject = "Neue Aufgabe"
      RTItem.AppendText ("Es gibt eine neue Aufgabe!")
      Call RTItem.AddNewline (1)
      Call RTItem.AppendDocLink (doc, "Hier klicken!")
   Else
      mail.Subject = "Aufgabenänderung"
      RTItem.AppendText ("Eine Aufgabe hat sich geändert!")
      Call RTItem.AddNewline (1)
      Call RTItem.AppendDocLink (doc, "Hier klicken!")
   End If
   mail.Body = RTItem
   mail.Send (False)
Titel: Re:Aktuelles Dokument im Web
Beitrag von: Meff am 10.06.03 - 10:09:41
Kann es sein, dass der Fehler in der Deklarierung des RichTextItems liegt ?
Ausserdem solltest Du bei der ersten Prüfung die Werte für das Feld SentTo in Hochkomma setzten.

Meff
Titel: Re:Aktuelles Dokument im Web
Beitrag von: Glombi am 10.06.03 - 10:41:52
Du musst mail noch setzen:
set mail = db.CreateDocument

Ausserdem muss es statt
mail.SentTo = Angenommen

mail.SendTo = Angenommen
heissen!

Das RTItem muss Du auch noch setzen...

Gruss
Andreas
Titel: Re:Aktuelles Dokument im Web
Beitrag von: ata am 11.06.03 - 20:52:35
... oder übergibst du fehlenden Variablen bereits irgendwie - denn sonst gibt es dem nichts hinzuzufügen...

ata