Domino 9 und frühere Versionen > ND6: Entwicklung

Termin im Kalender in Lotus script

(1/2) > >>

Ralf_M_Petter:
Hat jemand schon mal von Script aus einen Klaendereintrag (Termin) in der Maildatenbank erzeugt. Falls jemand einen kleinen Beispielcode hätte würde ich mich sehr freuen. Das script sollte womöglichst sowohl mit R5 als auch mit R6 funktionieren. Danke im voraus für eure Hilfe!

Grüße

Ralf M Petter

MartinG:
Dieses Script habe ich mal aus der Sandbox geholt und setze es auch ein. Ist allerdings alles hartcodiert - wobei Du ja glaube ich einiges ScriptKnowHow hast um das entsprechend anzupassen...

Falls Du etwas damit anfangen kannst wäre es klasse wenn Du mir kurz posten könntest wie ich Feldwerte anstelle der Hartcodierten Dinger da reinbringe. Bin leider kein Scriptmann...


REM      Quick and dirty code to add business holidays to the user's calendar   
REM      This code will add your business holidays to the user's calendar by using front end classes and allowing the form's built in funtionality to handle the validation
Sub Click(Source As Button)
   Dim session As New NotesSession   
   Dim db As New NotesDatabase ("","")
   Dim ws As New NotesUIWorkspace
   Dim uidoc As NotesUIDocument
   Dim doc As NotesDocument   
   Dim userName As New notesname(session.username)
   Dim dbfilename As String
   Dim dbserver As String
   Dim value As Integer
   
   Call db.OpenMail   
   dbfilename=db.filepath   
   dbserver = db.server
   
   value = Messagebox ("Möchten Sie diesen Termin in Ihren Kalender eintragen", (4+32+0+0), "Termin eintragen")
   
   If (value = 6) Then
'*****************Do this chunk of code for each holiday in the year**************************      
      Set uidoc = ws.ComposeDocument (dbserver,dbfilename,"Appointment")
      Call uidoc.FieldSetText("Subject","Mitarbeiterweiterbildung - 1.1. Die neue ESD-Norm ")
      Call uidoc.FieldSetText("StartDate","22/10/2002")      
      Call uidoc.FieldSetText("AppointmentType","0")            
      Call uidoc.FieldSetText("StartTime","16:30")
      Call uidoc.FieldSetText("EndTime","18:00")
      Call uidoc.Save()
      Call uidoc.Close()
'****************************************************************************************************
      
      Messagebox ("Termin wurde im Kalender eingetragen.")
   Else
      Messagebox ("Es wurde kein Eintrag im Kalender erzeugt....")
   End If
   
End Sub

Ralf_M_Petter:
Danke für die Antwort, aber ich habe vergessen, dass ich den Kalendereintrag nicht im Fronent sondern im Backend erstellen will. Damit auch eine Erstellung durch einen Agenten der am Server läuft möglich ist. Vielleicht kann dazu auch jemand ein script zur Verfügung stellen. Es würden mir auch eine Liste der Felder genügen die mit Inhalt versehen werden müssen. Es kann ja nicht gut sein, dass man wirklich alle Felder mit Inhalten versehen muß.

Grüße

Ralf

MartinG:
Hallo Ralf,

keine ja keine Ahnung von Front-oder Backend, aber sind die Felder nicht diesselben?

So wie ich das sehe braucht musst Du doch nur die Felder Subject, StartDatei, AppointmentType, StartTime, EndTime füllen

Axel_Janssen:
@MartinG: das ist nicht egal. Manche Felder haben default Werte. Die werden zwar übers Frontend gesetzt aber nicht wenn man die über Script erzeugt.

Für wirklich berechnete Felder kann man sich mit computeWithForm behelfen. Aber man muß z.B. im querySave nachschauen, ob da nicht irgendwelche Felder gesetzt werden. Außerdem ist computeWithForm performance-mässig sehr kostspielig.

Ich brauch das auch bald. Im Zweifelsfall einfach ein Dokument erzeugen und in der Eigenschaftsbox nachlesen, welche Felder wann mit welchen Werten gesetzt sind.
Ich hab das mal für Location und Connection Dokumente in der lokalen names.nsf gemacht. Definitiv no fun.

Gruß Axel

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln