Domino 9 und frühere Versionen > ND6: Administration & Userprobleme
agent email zeitintervall
Jensi:
Hallo... mein Agent sollte nun mit folgender Logik befüllt werden siehe Bild), ich weiß wo ich das einfügen muss, aber nicht wie ich dies bewerkstelligen soll...
Sub Initialize
Dim s As notessession
Dim db As notesdatabase
Dim view As notesview
Dim doc, memo, ProfileDoc As notesdocument
Dim Item As NotesItem
Dim body As notesrichtextitem
Dim dtthen As notesdatetime, dtnow As notesdatetime
Dim dateTime As New NotesDateTime( "Today" )
Dim dateTime_ As Variant
Dim maxdiff, difference As Long
Set s = New notessession
Set db=s.currentdatabase
' Profildokument
Set ProfileDoc = db.GetProfileDocument("PRFdoc_defaultVertrag")
Set Item = ProfileDoc.getfirstitem("prfdoc_default_warnen")
maxdiff =item.values(0)
' Einzelne Vertragsdokumente werden geprüft
Set view = db.getview("($AllDocID)")
Set doc = view.getfirstdocument
' Schleife
Do While Not (doc Is Nothing)
Set dtthen = doc.getfirstitem("ver_fruehesterkuentermin").DateTimeValue
If Not (dtthen Is Nothing) Then
HIER SOLLTE DIE LOGIK REIN
Call dtthen.setAnyTime
Set dtnow= New notesdatetime("Today")
Call dtnow.setAnyTime
' Differenzberechnung - Liefert einen negativen Wert zurück(?), deswegen wird am Ende mit -1 multipliziert
difference = dtnow.TimeDifference(dtthen) / 86400 *(-1)
' Bedingung
If ( (difference > 0) And (difference <= maxdiff)) Then
Set memo = db.createdocument
With memo
Call .replaceitemvalue("Form", "Memo")
Call .replaceitemvalue("Subject","Auslaufender Vertrag - " & doc.ver_firma(0))
Set body = .createrichtextitem("Body")
With body
Call .appendtext("Der "& doc.ver_art(0) &" für "& doc.ver_gegenstand(0) &" läuft demnächst aus. Hier ist das Dokument: ")
Call .appenddoclink(doc,"Bitte hier klicken","")
End With
Call .send(False, ProfileDoc.GetFirstItem("prfdoc_default_email"))
End With
End If
End If
Set doc = view.getnextdocument(doc)
Loop
End Sub
MadMetzger:
Hm... Das ganze lässt sich doch noch einfacher bewerkstelligen. Warum fragst du an der Stelle, wo du die Differenz prüfst, nicht auf Gleichheit ab? Dann fällt ein Dokument nur genau einmal in dein Schema und du brauchst auch kein Flag setzen, das du zusätzlich überprüfen musst. Ein Nachteil könnte hier aber sein, dass du die Nachricht nicht bekommst, wenn für Dokumente an einem Stichtag der Agent nicht läuft.
klaussal:
Mal eine Frage: hast Du keinen Ausbilder, etc ?
Wenn der Agent wirklich von dir stammt, dann müsstest du den Rest aber auch alleine
hinbekommen.
koehlerbv:
--- Zitat von: Jensi am 27.02.08 - 13:41:49 --- Dim doc, memo, ProfileDoc As notesdocument
--- Ende Zitat ---
Mal nur als kleiner Hinweis: Obenstehender Code ist gleichbedeutend mit
Dim doc As Variant
Dim memo As Variant
Dim ProfileDoc As NotesDocument
So schreibt man "Gruselcode" ...
Bernhard
Navigation
[0] Themen-Index
[*] Vorherige Sete
Zur normalen Ansicht wechseln