Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 14.02.03 - 10:10:46
-
Hallo Leute,
ich nutze folgendes Skript (aus eknori´s Schatzkiste).
Es erstellt einen Eintrag im Kalender des Users.
Allerdings, und das würde ich gerne vrhindern, auch
einen Eintrag in ENTWÜRFE im MAILORDNER des Users.
Hat dazu jemand eine Idee ?
Ciao
Don Pasquale
Sub createReminder( dateTime As notesDateTime, JNAlarm As String, popUpStr As String, subjectStr As String, infoStr As String ,DocID As String)
Dim ICON As NotesItem
Dim sess As New NotesSession
Dim userMailDb As New NotesDatabase( "", "" )
Dim reminderDoc As NotesDocument
Dim DTItem As NotesItem
Call userMailDb.OpenMail
If userMailDb.IsOpen Then
Set reminderDoc = New NotesDocument( userMailDb )
Dim s As New NotesSession
Dim db As NotesDatabase
Dim view As NotesView
Dim doc As NotesDocument
Dim rtItem As NotesRichTextItem
Set db = s.CurrentDatabase
Set view = db.GetView ("($AllDocID)")
Set doc = view.GetDocumentByKey(DocID)
Set Icon = New NotesItem ( reminderDoc , "_ViewIcon" , 83 ) ' Icon = Daumenhoch
ICON.IsSummary = True
With reminderDoc
.Form = "Appointment"
.ReplaceItemValue "$Alarm", 1
.ReplaceItemValue "$AlarmDescription", popUpStr
.ReplaceItemValue "$AlarmMemoOptions", ""
.ReplaceItemValue "$AlarmOffset", 0
.ReplaceItemValue "$AlarmUnit", "M"
.ReplaceItemValue "Location", ""
' .ReplaceItemValue "ExcludeFromView", "D"
' .ReplaceItemValue "ExcludeFromView", "E"
.ReplaceItemValue "NoticeType", "R"
.ReplaceItemValue "tmpDoNotProcess", "1"
.Subject = subjectStr
.Alarms = JNAlarm
.CalendarDateTime = dateTime.lsLocalTime
.StartDate = dateTime.lsLocaltime
.StartTime = dateTime.lsLocaltime
.StartDateTime = dateTime.lsLocaltime
.EndDate = dateTime.lsLocaltime
.EndTime = dateTime.lsLocaltime
.EndDateTime = dateTime.lsLocaltime
.AppointmentType = "4"
End With
Set rtitem = New NotesRichTextItem( reminderDoc, "Body" )
Call rtitem.AddNewLine( 1 )
Call rtitem.AppendText( infoStr )
Call rtitem.AddNewLine( 3 )
Call rtitem.AppendText( "Bitte klicken sie hier, um das Dokument zu öffnen --> " )
' Call rtitem.AddTab( 1 )
Call rtitem.AddTab( 2 )
Call rtitem.AppendDocLink( doc, db.Title )
reminderDoc.ComputeWithForm True,True
reminderDoc.save True,False
reminderDoc.PutInFolder( "$Alarms" )
Print "Wiedervorlage erstellt"
Else
Print "Fehler: Kann die Maildatei nicht öffnen"
End If
End Sub
-
... was macht NoticeType "R" ?...
ata
-
Ich hab´s auskommentiert aber keine Wirkung festgestellt.
Ciao
Don Pasquale
-
... gibts in dem Dokument was mit STATIONARY, z.B. IsMailStationary
... wenn ja dann auf "0" setzen...
ata
-
Hi ata,
Das ist die Maske Appointment im Mail50.nsf
aber nein, da gibt es nicht was Stationary heisst.
Da es in dem Code aber nicht vorkommt, nehme ich an
es handelt sich um einen Seiteneffekt im Mail50.nsf
und nicht in diesem Code.
Ciao
Don Pasquale
-
... das könnte man vielleicht benutzen, indem du das Feld mal aufnimmst und den Wert "0" verpasst...
ata
-
Hi ata,
Das ist die Maske Appointment im Mail50.nsf
aber nein, da gibt es nicht was Stationary heisst.
Da es in dem Code aber nicht vorkommt, nehme ich an
es handelt sich um einen Seiteneffekt im Mail50.nsf
und nicht in diesem Code.
Schau Dir die SELECT-Formel vom $Drafts-View nochmal an und vergleiche mit den Inhalten des Dokuments. Irgendwo (vermutlich beim ComputeWithForm) wird da eine Übereinstimmung erzwungen.
-
Die Select Formel lautet
SELECT PostedDate = "" & $MessageType = "" & @IsNotMember("D";ExcludeFromView) & ISMAILSTATIONERY != 1 & Form != "Person"
Also müßte ich doch isMailStationery auf 1 setzen
und das postedDate setzen
und siehe da
es klappt.
HipHipHurra.
Ciao
Don Pasquale
-
... siehste wohl... ;D ;D
... IsMailStationary auf 1 setzen müßte bereits reichen...
ata
-
wo muß ich das genau machen?
isMailStationery auf 1 setzen
Cash
-
Um in der Syntax des Codes oben zu bleiben :
With reminderDoc
....
.ReplaceItemValue "IsMailStationery", 1
....
End With
Also irgendwo innerhalb des With-Blockes.
-
Super so klappt es. Das heißt hiermit wird ein Kalendereintrag erzeugt und das Dokument wird nicht unter Entwürfe angezeigt.
Was genau heißt denn "IsMailStationery"? In der Hilfe steht dazu leider nichts...
Normalerweise findet man Kalendereinträge auch unter "Alle Dokumente" durch diesen Script anscheinend nicht.
Gruß
Cash
-
Das ist ein Flagfeld, daß die Mail als Entwurf kennzeichnet.
-
Nicht Entwurf (=Draft), sondern Vorlage (=Stationary).
Bernhard