Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: Thunder am 09.09.04 - 19:32:06

Titel: Kalendereinträge, die nicht jeder sehen kann..
Beitrag von: Thunder am 09.09.04 - 19:32:06
Hallo Leute,
bin auch Frischling in Sachen Script und hatte mir mal folgenden Code gebastelt (auch mit eurer Hilfe), der mir aus einer DB automatisch Einträge in den eigenen Kalender bringt. Das funktioniert auch einwandfrei - nur, wenn ein Kollege über das Delegierungsprofil auf einen Kalender zugreift, kann er diese Einträge nicht sehen und trägt womöglich noch einen Termin ein. Die Termine sind aber nicht als privat markiert. Wo liegt der Fehler ?


Sub Click(Source As Button)
   Dim Session As New NotesSession
   Dim Workspace As New NotesUIWorkspace
   Dim TheDocument As NotesDocument
   Dim db As notesDatabase
   Dim UserName As String
   
   Set UIDoc = Workspace.CurrentDocument
   Set TheDocument = UIDoc.Document
   
   Set db = New NotesDatabase("", "")
' Open user's mail database
   db.openmail
   
' Notestime variabels
   Dim StartDatum As String
   Dim EindDatum As String
   
' Get variabels from document
   StartDatum = Uidoc.FieldGetText("gA_vom_1")
   EindDatum = Uidoc.FieldGetText("gA_bis_1")
   
   If EindDatum ="" Then
      EindDatum = StartDatum
   End If
   
   
'Conversion for string to datefield
   Set datum1 = New NotesDateTime (StartDatum)
   Set datum2 = New NotesDateTime (EindDatum)
   Call datum2.AdjustDay( 1 )
   
   Startdatum = Cstr(datum1.DateOnly)
   Einddatum = Cstr(datum2.DateOnly)
   
   
   
'The do while places the calendar item everyday unit startdate and endate are the same.
   Do While StartDatum <> EindDatum
      Dim CalendarEntry As New NotesDocument(db)
      Dim rtitem As New NotesRichTextItem(CalendarEntry, "Body")    
'Call calender
      Call rtitem.AppendText("Klicken Sie auf folgenden DocLink, um sich den ZINA-Antrag noch einmal anzusehen.")
      Call rtitem.AddNewline(1)
      Call rtitem.AppendDocLink(TheDocument, "Verlof")
      UserName = Session.CommonUserName
      
      CalendarEntry.Form = "Appointment"
      CalendarEntry.Principal = UserName
      
      CalendarEntry.Chair = Session.UserName
      CalendarEntry.ExcludeFromView = "D"
      CalendarEntry.OrgTable = "CO"
      CalendarEntry.SequenceNum = 1
      CalendarEntry.Subject = "Urlaub (Zina)"
      
      
'Appointment Type 4 = Reminder , 3 = meeting, 2 = event, 1 = anniversary, 0 = Personal
'Place string in calender fields
      CalendarEntry.AppointmentType = "2"
      CalendarEntry.StartDate = Cdat(StartDatum)
      CalendarEntry.StartDateTime = Cdat(StartDatum)
      CalendarEntry.CalendarDateTime = Cdat(StartDatum)
      CalendarEntry.EndDateTime = Cdat(StartDatum)
      
      Call CalendarEntry.save(True, True)
      Call datum1.AdjustDay( 1 )
      Startdatum = Cstr(datum1.DateOnly)
      Einddatum = Cstr(datum2.DateOnly)
   Loop
Titel: Re:Kalendereinträge, die nicht jeder sehen kann..
Beitrag von: Semeaphoros am 09.09.04 - 19:48:19
Na ja, das hat nicht wirklich etwas mit Script zu tun, diese Kalendereinträge sind nun mal eine sehr empfindliche Sache, da stimmt in dem Falle etwas nicht mit den Feldbelegungen, und so über den Daumen gepeilt schätze ich, dass den erzeugten Dokumenten gewisse Felder fehlen. Sorry, ich weiss auch nicht auswendig, wo dieses "sichtbar/unsichtbar" genau hinterlegt wird. Har wahrscheinlich etwas mit "public documents" zu tun.
Titel: Re:Kalendereinträge, die nicht jeder sehen kann..
Beitrag von: koehlerbv am 09.09.04 - 19:51:36
Dir fehlt auf jeden Fall noch die Zeile
CalendarEntry.~$PublicAccess = "1"

Personen, die kein Leserecht lt. Deiner MailDB-ACL haben, sehen sonst das Dokument nicht.

HTH,
Bernhard
Titel: Re:Kalendereinträge, die nicht jeder sehen kann..
Beitrag von: Thunder am 10.09.04 - 11:29:32
Genau das ist das Problem.
Wenn nur Leseberechtigung auf den Kalender besteht, sieht man diese Einträge nicht.
Ich werde das mal austesten mit dem Eintrag.
Titel: Re:Kalendereinträge, die nicht jeder sehen kann..
Beitrag von: Thunder am 13.09.04 - 12:32:31
Jawoll ja !
Hat geklappt.

Danke schön