Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Selin am 15.03.04 - 11:42:56
-
Hallo,
ich versuche die Newsletter Funktion anzuwenden. Habe mal das Beispiel aus der Hilfe genommen:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim news As NotesNewsletter
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Call db.UpdateFTIndex(True)
Set dc = db.FTSearch("test", 2)
Set news = New NotesNewsletter(dc)
news.SubjectItemName = "Subject"
news.DoSubject = True
Set doc = news.FormatMsgWithDoclinks(db)
Call doc.Send(True, "Marketing")
End Sub
Ichhabe eine Mail mit dem Body "text" Also müsste er mind. 1 Dokument finden.
Nach Ausführen kommt die Meldung, "Spezielles Datenbankobjekt nicht gefunden. Verweis auf meine Maildb"
Was mach ich falsch?
-
Laß mal den Debugger mitlaufen und schau, wo genau die Meldung auftritt.
-
ab hier:
Set doc = news.FormatMsgWithDoclinks(db)
Call doc.Send(True, "Marketing")
-
Hi,
vermutlich liegts daran, daß Du für das doc keine Form bestimmst, im doc.Send aber angibst, daß die Form im Doc gespeichert werden soll.
Mach mal noch nen doc.Form = "Memo" vor das Send.
-
hmm, wnen ich das so mache kommt die Meldung "Object variable not set"
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim news As NotesNewsletter
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Call db.UpdateFTIndex(True)
Set dc = db.FTSearch("test", 1)
Set news = New NotesNewsletter(dc)
news.SubjectItemName = "Subject"
news.DoSubject = True
doc.Form = "Memo"
Set doc = news.FormatMsgWithDoclinks(db)
Call doc.Send(True, "name")
End Sub
-
aus der designer-hilfe:
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim newsletter As NotesNewsletter
Dim doc As NotesDocument
Dim j As Integer
Dim originalDoc As NotesDocument
Set db = session.CurrentDatabase
Set collection = db.UnprocessedFTSearch( "botany", 0 )
Set newsletter = New NotesNewsletter( collection )
newsletter.DoScore = True
newsletter.DoSubject = True
newsletter.SubjectItemName = "Topic"
Set doc = newsletter.FormatMsgWithDoclinks( db )
doc.Subject = "New botany documents from this week"
doc.Form = "Memo"
Call doc.Send( False, "Susanna Tallan" )
' mark all documents in newsletter's collection as
' processed, so that they aren't included in the
' newsletter next time
For j = 1 To collection.Count
Set originalDoc = collection.GetNthDocument( j )
Call session.UpdateProcessedDoc( originalDoc )
Next
End Sub
-
auch hier bekomm ich die Meldung "Spezielles Datenbankobjekt nicht gefunden. Verweis auf meine Maildb"
-
hmm, wnen ich das so mache kommt die Meldung "Object variable not set"
Sub Initialize
Dim session As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim news As NotesNewsletter
Dim doc As NotesDocument
Set db = session.CurrentDatabase
Call db.UpdateFTIndex(True)
Set dc = db.FTSearch("test", 1)
Set news = New NotesNewsletter(dc)
news.SubjectItemName = "Subject"
news.DoSubject = True
doc.Form = "Memo"
Set doc = news.FormatMsgWithDoclinks(db)
Call doc.Send(True, "Alev Oezer/FRA/DIEHL-AVIONIK")
End Sub
Also das doc.Form = "Memo" muß hinter das Set doc=...
Du hast ja sonst noch gar kein doc, wie soll da Form gesetzt werden.
Ist denn in der DocCollection überhaupt was drin oder ist die evtl. leer ?
-
wenn ich es danach setze kommt die Meldung, die ich am Anfang hatte
in der NotesDocCollection wird ein Dokument gefunden
-
Gibt es in Deiner Datenbank eine Vorgabeansicht ? MailSend macht doch immer Ärger, wenn keine Vorgabeansicht definiert wurde ...
Bernhard
-
nee, habe keine Vorgabeansicht oder Vorgabemaske
-
Na, dann werden wir damit den Fehler ja schon gefunden haben. Ohne Vorgabeansicht kein Send.
Bernhard
-
und wie Du Recht hast :D
Genau det wars.
Oh cool. *freu
Dankeschön
-
kann ich das ganze in einer Dialogbox auch aufrufen?
-
Du könntest auf jeden Fall über eine Dialogbox eine Auswahl treffen und somit eine DocCollection erzeugen.
-
ich weiß nicht, wie ich es einbauen soll.
Ich habe versucht es in meinen Newsletter Script einzufügen aber es hat nicht funktioniert. An welcher Stelle muss ich das einfügen, und wie muss es aussehen?
Bitte um Hilfe
-
Sorry, ich war im falschen Film. Dialogbox wäre verkehrt, mit ner PickListCollection könntest Du aber eine DocCollection erzeugen.
Was hast Du denn überhaupt vor ?
-
es geht darum bestimmte Leute zu informieren, wenn eine Mail in eine geimeinsam benutzten Mailbox reinkommt.
Allerdings soll die Benachrichtigung nicht per Mail erfolgen sondern über ein Popup, Dialogbox o.ä.
wo bestimmte Dinge drin stehen, wie Subject Absender o.ä.
-
Ahso, dann hatte ich das eh mißverstanden. Ich dachte, Du wolltest Dokumente über ein Dialogfenster zur Auswahl haben, um so eine DocCollection zu erstellen.
Aber wie willst Du denn die Dialogbox denn beim gewünschten Adressaten aufpoppen lassen ?
-
ich wollte in die Standartschablone die Maske erstennen, die in der Dialogbox auftauchen soll und es bei allen aktualisieren
-
Da poppt dann aber garantiert nichts auf ...
-
nich? ???
-
Nein, wie denn auch ? Dialogbox muss ja von irgendwas ausgelöst werden - durch ein auf dem Client laufendes Programm.
Wie ich auf Deine letzte Frage schon geschrieben hatte - die wurde bereits ausführlich und mit Lösungsansätzen in folgenden beiden Threads diskutiert:
http://www.atnotes.de/index.php?board=4;action=display;threadid=14413;start=0 (http://www.atnotes.de/index.php?board=4;action=display;threadid=14413;start=0)
und
http://www.atnotes.de/index.php?board=7;action=display;threadid=11096;start=0 (http://www.atnotes.de/index.php?board=7;action=display;threadid=11096;start=0)
Bernhard