Domino 9 und frühere Versionen > ND6: Entwicklung
Doclink in Reminder einfügen per LS
Alexis:
Hallo Forum,
mühsam ist es mir gelungen aus einem Querysave eines Dokumentes einen "Reminder" in den Kalender etwa mit folgenden Code zu setzen.
Sub Querysave(Source As Notesuidocument, Continue As Variant)
Dim session As notessession
Dim db As notesdatabase
Dim ws As notesuiworkspace
Dim view As notesview
Dim doc As notesdocument
Dim db2 As New NotesDatabase ("Mailserver",Mailbox)
Dim uidoc2 As NotesUIDocument
Dim dbserver As String
dbserver = db2.server
dbfilename=db2.filepath
Set ws = New notesuiworkspace
Set uidoc2 = ws.ComposeDocument (dbserver,dbfilename,"Appointment")
StartDate=source.FieldGetText("DueDate")
Call uidoc2.FieldSetText("AppointmentType","4")
Call uidoc2.Reload
Call uidoc2.FieldSetText("Subject","Reminder")
Call uidoc2.FieldSetText("StartDate", StartDate)
Call uidoc2.FieldSetText("Body", Chr(10) & "Today is Due Date for …… ”)
Call uidoc2.FieldSetText("AppointmentType", "Reminder")
Call uidoc2.Save()
Call uidoc2.Close()
End Sub
Nun möchte ich gern auch noch den Link zurück auf das erzeugende Dokument mit in den Reminder übertragen.
Mein Bemühen aus dem Forum mittels der Beispiele für doclink den weiteren Code zu generieren ist kläglich an Unkenntnis gescheitert. Kann mir jemand unter die Arme greifen?
Alexis
Axel:
Hi,
du erstellst das Kalender-Dokument mittels Frontend-Methoden. Besser ist es das Ganze mit Backend-Funktionen zu realisieren. Dann kannst du auch problemlos einen Doclink einfügen. Ich hab so was mal für Aufgaben gemacht.
Die Umstellung auf ein Kalender-Dokument sollte kein Problem darstellen.
Hier ein Code-Auszug:
--- Zitat ---...
Dim rtitem As NotesRichTextItem
...
'Prüfen ob Mail-DB vorhanden
Set maildb = New NotesDatabase("","")
Call maildb.OpenMail
If Not maildb.IsOpen Then
Messagebox "Mail-Datenbank kann nicht geöffnet werden." + Chr$(10) + "Es wird keine Aufgabe erstellt.", 16, "Adressen"
Exit Sub
End If 'If Not maildb.IsOpen Then
'Neue Aufgabe erstellen
Set taskdoc = New NotesDocument(maildb)
taskdoc.Form = "Task"
Call taskdoc.ComputeWithForm(True, True)
taskdoc.Subject = "Aufgabe zu einem Vorgang"
'Anlegen und füllen des Richtextfeldes
Set rtitem = taskdoc.CreateRichTextItem("Body" )
Call rtitem.AppendText("Hier kommt der Doclink")
Call rtitem.AddNewLine(2)
Call rtitem.AppendText("Vorgang -> ")
Call rtitem.AppendDocLink(doc, "")
Call taskdoc.Save(True,False)
...
--- Ende Zitat ---
Axel
Alexis:
Hallo,
mein Script sieht derzeit so aus:
Dim rtitem As NotesRichTextItem
Dim maildb As NotesDatabase
Dim Mailbox As String
Dim uidoc As notesuidocument
Dim doc As NotesDocument
Dim workspace As notesuiworkspace
Dim currentdoc As NotesDocument
Set workspace = New notesuiworkspace
Set uidoc = workspace.currentdocument
Set doc = uidoc.Document
ID=source.FieldGetText("ID_Owner")
Mailbox="Mail\ABC" & ID & ".NSF"
'Prüfen ob Mail-DB vorhanden
Set maildb = New NotesDatabase("Mail007.XYZ.COM","Mailbox")
Call maildb.OpenMail
If Not maildb.IsOpen Then
Messagebox "Mail-Datenbank kann nicht geöffnet werden." + Chr$(10) + "Es wird keine Aufgabe erstellt.", 16, "Adressen"
Exit Sub
End If 'If Not maildb.IsOpen Then
'Neue Aufgabe erstellen
Set taskdoc = New NotesDocument(maildb)
taskdoc.Form = "Task"
Call taskdoc.ComputeWithForm(True, True)
taskdoc.Subject = "Aufgabe zu einem Vorgang"
'Anlegen und füllen des Richtextfeldes
Set rtitem = taskdoc.CreateRichTextItem("Body" )
Call rtitem.AppendText("Hier kommt der Doclink")
Call rtitem.AddNewLine(2)
Call rtitem.AppendText("Vorgang -> ")
Call rtitem.AppendDocLink(doc, "Dokumentenlink")
Call taskdoc.Save(True,False)
Leider kommt in der vorletzten Zeile die Fehlermeldung:
<Could't get default view id for database> hoch.
Was fehlt da noch?
Alexis
Driri:
Hat die Datenbank denn eine Standardansicht ? Sonst gibts Probleme bei verschiedenen Funktionen.
Alexis:
Die Datenbank hat noch keine Standard-View, kann sie aber sofort einrichten und teste den Vorgang abermals.
Alexis
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln