Domino 9 und frühere Versionen > ND6: Entwicklung

Agenten-Problem

<< < (3/4) > >>

Glombi:
Ok, mit den Kenntnissen sollte es eigentlich recht schnell gehen...

Ich fange mal an, den Script Agenten zu basteln: Du willst per Agent die gewählten Dokumente in der Maildatenbank in eine Mail-In-Datenbank weiterleiten. Es soll ein entsprechender Betreff "SAP-irgendwas" und die Form "SAP-Helpme" gesetzt werden.

Sub Initialize

'Deklaration der Objekte
dim session as NotesSession
dim db as NotesDatabase
dim dc as NotesDocumentCollection
dim doc as NotesDocument
dim maildoc as NotesDocument
dim rtitem as NotesRichTextItem

'Setzen der Objekte
set session = New NotesSession      'Öffne Notes Session
set db = session.CurrentDatabase   'Hole aktuelle Datenbank
set dc = db.UnprocessedDocuments 'alle Dokumente, die der Agent-Auswahl entsprechen, hier gewählte Dokumente

'Abbruch, falls kein Dokument gewählt wurde
if dc.Count = 0 then exit sub

'Iteriere über alle Dokumente der Collection
set doc = dc.GetFirstDocument
Do while not (doc is Nothing)

'Erstelle Mail
set maildoc = db.CreateDocument
'Setze Felder
maildoc.SendTo = "Name der Mail-In-Datenbank"
maildoc.Subject = "SAP irgendwas"
'Setze Maske
maildoc.Form = "SAP-Helpme"

'Kopiere Dokument in Rich Text Feld Body des Mail
set rtitem = New RichTextItem(maildoc,"Body")
call rtiem.RenderToRTItem(doc)

'Sende Mail (Maske nicht im Dokument speichern)
call maildoc.Send(false)

'Gehe zum nächsten Dokument
set doc = dc.GetNextDocument(doc)
Loop

End Sub


Ich denke, damit hast Du eine Grundlage. Der Agent muss über gewählte Dokumente laufen.
Was das Klassen-Modell sowie die verwendeten Methoden und Properties betrifft: Das steht gut in der Designer Hilfe beschrieben.

Andreas

DaWutz:
Moin Moin,

ich habe das jetzt mal versucht so umzusetzen, wie Du das vorgeschlagen hast, aber er stolpert immer über folgende Zeile:


--- Code: ---call rtitem.RenderToRTItem(doc)
--- Ende Code ---

Das da der ein oder andere Buchstabe gefehlt hat, habe ich bemerkt und korrigiert, oder war das nun mein Fehler?

Als Fehlermeldung erhalte ich ein:
Initialize: 37 (das ist die Zeile die ich oben gepostet habe) Not a member: RENDERTORTITEM

Was mache ich falsch?  ???

klaussal:
aus der designer-hilfe (das sollte dir weiterhelfen):

  1.   This script creates a picture of document A and places it into the Body item of the newly created document B.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim docA As NotesDocument
Dim docB As NotesDocument
Dim rtitem As NotesRichTextItem
Dim success As Variant
Set db = session.CurrentDatabase
Set collection = db.AllDocuments
Set docA = collection.GetFirstDocument
Set docB = New NotesDocument( db )
Set rtitem = New NotesRichTextItem( docB, "Body" )
docB.Form = "Main Topic"
docB.Subject = "It's a picture of the document"
Call docB.Save( True, True )
success = docA.RenderToRTItem( rtitem )
Call docB.Save( True, True )

Glombi:
@DaWutz: Den Fehler habe ich absichtlich eingebaut, es soll ja ein kleiner Kurs werden ;D
Spaß beiseite. Das RenderToRTItem gehört in eine andere Klasse. Klaussal hat es ja bereits geschrieben.
Sieh mal in der Designer Hilfe nach.

Andreas

klaussal:
@glombi,

öh, hab ich das ?
man muss nicht wissen , wie's geht, sondern nur wissen wo's steht. ;D

Navigation

[0] Themen-Index

[#] Nächste Seite

[*] Vorherige Sete

Zur normalen Ansicht wechseln