Autor Thema: Kalendereintrag aus DB heraus  (Gelesen 2475 mal)

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Kalendereintrag aus DB heraus
« am: 18.06.04 - 11:28:35 »
Hallo ich rein zufällig mal wieder eine Frage ;)
 

Also mein "Chef" fragte mich ob es sich realisieren lässt aus einem Dokument der Datenbank heraus direkt einen Termineintrag im Notes Kalender zu machen. Also anhand eines Datum-Feldes in dem Dok. In diesem Termin soll dann auch noch eine Verknüpfung zu dem Dokument aus dem heraus er erstellt worden ist eingefügt sein.

Ist sowas möglich ? Wenn ja schieb mich mal einer in die richtige Richtug denn dabei weiss ich leider nicht so recht wo ich anfangen soll zu lesen ;)

Alternativ könnte ich mir auch vorstellen eine Mail mit Verknüpfung zum Dokument zu schicken. Allerdings müsste diese dann naja sagen wir mal einen Tag vor dem Termin gesendet werden und auch hier weiss ich leider nicht ob sich dieses Zeitversetze Senden (Wiedervorlage) realisieren lässt.


mfg & ein schönes Wochenende wünscht

Sebastian ! ! !  8)

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Kalendereintrag aus DB heraus
« Antwort #1 am: 18.06.04 - 11:39:49 »
Deine Frage ist aber arg allgemein. Deshalb auch erstmal eine allgemeine Antwort: Ja, es ist kein Zauberwerk, einen Kalendereintrag zu erstellen (solange es das eigene Mailfile ist oder die Rechte ausreichen).

Sag' also mal an, wo Du konkrete Probleme hast.

Bernhard

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Kalendereintrag aus DB heraus
« Antwort #2 am: 18.06.04 - 11:57:03 »
Hi,

ich hab' so was ähnliches mal gemacht, allerdings kein Kalenderdokument sondern eine Aufgabe.

Code (Agent) liegt in einen Aktionsbutton in Maske
Zitat
Sub Initialize
   
Dim session As New NotesSession
Dim workspace As New NotesUIWorkspace
Dim maildb As NotesDatabase
Dim currentdb As NotesDatabase
Dim uidoc As NotesUIDocument
Dim doc As NotesDocument
Dim adrdoc As NotesDocument
Dim taskdoc As NotesDocument
Dim taskuidoc As NotesUIDocument
Dim rtitem As NotesRichTextItem
Dim strTemp As String
   
iAdressDbError = 0
Set currentdb = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Set doc = uidoc.Document
   
'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)
   
If doc.Kontaktperson(0) = "" Then
   strTemp = doc.Firma(0)
Else
   strTemp = doc.Kontaktperson(0) + " - " + doc.Firma(0)
End If  'If doc.Kontaktperson(0) = "" Then
If doc.AktionArt(0) = "" Then
   taskdoc.Subject = "Aufgabe zu einem Vorgang zu " + strTemp
Else
   taskdoc.Subject = doc.AktionArt(0) & " aus einem Vorgang zu " +  strTemp
End If  'If doc.AktionArt(0) = "" Then
taskdoc.StartDate = doc.AktionDatum
taskdoc.DueDate = doc.AktionDatum
   
'Anlegen und füllen des Richtextfeldes
Set rtitem = taskdoc.CreateRichTextItem("Body" )
Call rtitem.AppendText(doc.Aktionen(0))   
   
Call rtitem.AddNewLine(2)
Call rtitem.AppendText("Vorgang -> ")   
Call rtitem.AppendDocLink(doc, "")
   
Call taskdoc.Save(True,False)  'Temp. Speichern des Backend-Doc. damit RTF-Feld angezeigt wird.   
Set taskuidoc = workspace.EditDocument(True, taskdoc)  'Dokument im Frontend öffnen
Call taskdoc.Remove(True)  'Das Dokument, das im Backend erstellt wurde, löschen
   
End Sub

Das umbasteln für ein Kalenderdokument sollte kein Problem darstellen.

Axel
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline Catrex

  • Junior Mitglied
  • **
  • Beiträge: 78
  • Geschlecht: Männlich
  • Noob@Work
Re:Kalendereintrag aus DB heraus
« Antwort #3 am: 18.06.04 - 12:09:34 »
Mmmh ja mein Problem ist ja auch allgemeiner Natur ;)

Ich weiss nicht so recht wo und wie ich anfangen soll mir das zu erarbeiten. Also was ich mir mal ansehen könnte usw. !

Ich habe eine Maske und ein Button ! Ok, und dann ? Was muss er denn per Script alles machen. Öffnet er nur einen Eintrag den ich noch beareiten muss oder speichert er das direkt im Kalender. All solche Sachen meine ich.

Sollte ich mir dann mal eine Eingabemaske aus der Kalender-DB ansehen ?

Offline Axel

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.658
  • Geschlecht: Männlich
  • It's not a bug, it's Notes
Re:Kalendereintrag aus DB heraus
« Antwort #4 am: 18.06.04 - 12:22:00 »
Hi,

wie gesagt, ich hab' so was ähnliches schon mal gemacht, mit Aufgabendokumenten (abär der Unterschied ist ja nicht so groß).

Der User ist in einem Vorgangsdokument (z.B. Telefonat) zu einer Adresse und möchte sich, weil er in drei Tagen nochmal anrufen soll, ein Aufgabe generieren. Er klickt auf die Aktion "Neue Aufgabe". nun wird alles was an Infos notwendig ist und im Vorgangsdokument enthalten ist eingefügt, incl. Doclink. Dann wird ihm das Aufgabendokument angeziegt, damit er den Termin eintragen kann.

An deiner Stelle würde ich das genauso machen, nur dass du eben ein Kalenderdokument erstellen musst. Alles was an Daten im Dokument vorhanden ist und in den Kalender soll bereits beim Anlegen übernehmen. Die User werden dir's danken.

Axel
 


schau dir doch mal meinen Code an.
Ohne Computer wären wir noch lange nicht hinterm Mond!

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re:Kalendereintrag aus DB heraus
« Antwort #5 am: 18.06.04 - 21:54:40 »
Eigentlich musst Du nix anders machen, als Dir einen bestehenden Kalendereintrag des gewünschten Typs im Detail anzusehen. Genau diese Items brauchst Du auch in Deinem Code und musst sie entsprechend belegen.
Wenn man sich keine Routine selber schreiben will, die einem alle Items eines beliebigen Docs sauber anzeigt, dann nehme man dieses Tool von MayFlower Software:
http://www.maysoft.com/web3.nsf/page/products-document_viewer-overview
Werf' dann einfach einen Kalendereintrag (des entsprechenden Appointment types) in die DB und analysiere das Resultat - und bilde es dann nach.

Bernhard

PS: Wegen des Zugriffs auf des Users MailDB brauchst Du wirklich nur Axels Code zu folgen.

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz