Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Don Pasquale am 14.02.03 - 10:10:46

Titel: Seiteneffect von CreateReminder
Beitrag 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
Titel: Re:Seiteneffect von CreateReminder
Beitrag von: ata am 14.02.03 - 10:41:30
... was macht NoticeType "R" ?...

ata
Titel: Re:Seiteneffect von CreateReminder
Beitrag von: Don Pasquale am 14.02.03 - 10:52:00
Ich hab´s auskommentiert aber keine Wirkung festgestellt.

Ciao

Don Pasquale
Titel: Re:Seiteneffect von CreateReminder
Beitrag von: ata am 14.02.03 - 13:42:09
... gibts in dem Dokument was mit STATIONARY, z.B. IsMailStationary

... wenn ja dann auf "0" setzen...

ata
Titel: Re:Seiteneffect von CreateReminder
Beitrag von: Don Pasquale am 14.02.03 - 14:14:30
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


Titel: Re:Seiteneffect von CreateReminder
Beitrag von: ata am 14.02.03 - 15:24:35
... das könnte man vielleicht benutzen, indem du das Feld mal aufnimmst und den Wert "0" verpasst...

ata
Titel: Re:Seiteneffect von CreateReminder
Beitrag von: wflamme am 16.02.03 - 21:01:41
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.
Titel: Re:Seiteneffect von CreateReminder
Beitrag von: Don Pasquale am 17.02.03 - 08:33:14
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
Titel: Re:Seiteneffect von CreateReminder
Beitrag von: ata am 17.02.03 - 14:53:09
... siehste wohl...  ;D ;D

... IsMailStationary auf 1 setzen müßte bereits reichen...

ata
Titel: Re: Seiteneffect von CreateReminder
Beitrag von: cash am 08.01.08 - 14:32:02
wo muß ich das genau machen?

isMailStationery auf 1 setzen

Cash
Titel: Re: Seiteneffect von CreateReminder
Beitrag von: Driri am 08.01.08 - 14:39:10
Um in der Syntax des Codes oben zu bleiben :

Zitat
With reminderDoc
....
 .ReplaceItemValue "IsMailStationery", 1
....
 End With

Also irgendwo innerhalb des With-Blockes.
Titel: Re: Seiteneffect von CreateReminder
Beitrag von: cash am 08.01.08 - 15:01:52
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
Titel: Re: Seiteneffect von CreateReminder
Beitrag von: Driri am 08.01.08 - 15:06:37
Das ist ein Flagfeld, daß die Mail als Entwurf kennzeichnet.
Titel: Re: Seiteneffect von CreateReminder
Beitrag von: koehlerbv am 08.01.08 - 15:40:06
Nicht Entwurf (=Draft), sondern Vorlage (=Stationary).

Bernhard