Autor Thema: Kopieren von Feldinhalten aus geöffnetem Kalenderdokument.  (Gelesen 1617 mal)

Offline Sommersprosse

  • Senior Mitglied
  • ****
  • Beiträge: 296
  • Geschlecht: Weiblich
Hallo zusammen,

folgendes Problem:
Wir haben eine Datenbank erstellt in der Meetingprotokolle abgelegt werden sollen. Dafür wurde im Kalenderdokument ein Button hinzugefügt, der die Datenbank öffnet und dort ein neues Dokument erstellt. Das Kalenderdokument bleibt weiterhin geöffnet um in beiden Dokumenten weiterhin Daten eingeben zu können.

In diesem neu erstellten Dokument sollen wenn möglich die eingeladenen Personen aus dem Kalenderdokument übernommen werden, sprich aus einem nicht gespeicherten Frontend Dokument in ein neues. Folgenden Code habe ich schon mit dem das Dokument schon geöffnet wird und diverse Felder auch schon erfolgreich gefüllt werden.


Code
	Dim ws As New NotesUIWorkspace
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim uidoc As NotesUIDocument
	Dim aktdoc As NotesDocument
	Dim newdoc As NotesDocument
	Dim newuidoc As NotesUIDocument
	Dim item As notesitem
	
	server = "UNSERSERVER"
	file = "it\protokoll.nsf"
	Call ws.OpenDatabase(server,file,"","",True,False)
	
	
'Neues Dokument anlegen
	
	Set db = session.CurrentDatabase  'Aktuelle Datenbank
	Set newdoc = New NotesDocument(db)
	newdoc.Form = "fm_minutes"  'Zuweisung mit welcher Maske das Dokument erstellt werden soll
	newdoc.mailadress = session.UserName
	newdoc.creator = session.Username
	Set newuidoc = workspace.EditDocument(True, newdoc) 'Neues Dokument anzeigen
	Call newuidoc.Save 

Damit aber nicht 2x die betreffenden Personen eingetippt werden, wäre es praktisch aus der geöffneten Einladung zu übernehmen. Lt. Template "Appoinment" gibt es diese Feld "tmpRequiredAttendees" Typ berrechnet zur Anzeige. Welche Deklarationen brauche ich um diese Felder anzapfen zu können?
Besser gesagt, geht das überhaupt ohne das ich das Kalenderdokument gespeichert habe?

« Letzte Änderung: 23.01.14 - 14:33:23 von sommersprosse »
Gruß Ulli

Offline ascabg

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 3.697
  • Geschlecht: Männlich
Re: Kopieren von Feldinhalten aus geöffnetem Kalenderdokument.
« Antwort #1 am: 23.01.14 - 13:25:41 »
Hallo,

Und welches Feld liegt denn dem "zur Anzeige berechneten Feld" zugrunde?


Andreas

Offline Peter Klett

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 2.713
  • Geschlecht: Männlich
Re: Kopieren von Feldinhalten aus geöffnetem Kalenderdokument.
« Antwort #2 am: 23.01.14 - 13:31:45 »
Du musst das aktuell geöffnete Dokument nehmen und kannst dann auch temporäre Felder (Items) kopieren. Entsprechende Anpassungen in rot

   Dim ws As New NotesUIWorkspace
    Dim session As New NotesSession
    Dim db As NotesDatabase
    Dim uidoc As NotesUIDocument
    Dim aktdoc As NotesDocument
    Dim newdoc As NotesDocument
    Dim newuidoc As NotesUIDocument
    Dim item As notesitem

Dim workspace As New NotesUIWorkspace
Set uidoc = workspace.CurrentDocument
Dim doc As NotesDocument
Set doc = uidoc.Document

   
    server = "UNSERSERVER"
    file = "it\protokoll.nsf"
    Call ws.OpenDatabase(server,file,"","",True,False)
   
   
 'Neues Dokument anlegen
   
    Set db = session.CurrentDatabase  'Aktuelle Datenbank
    Set newdoc = New NotesDocument(db)
    newdoc.Form = "fm_minutes"  'Zuweisung mit welcher Maske das Dokument erstellt werden soll
    newdoc.mailadress = session.UserName
    newdoc.creator = session.Username

newdoc.MeinFeld = doc.tmpRequiredAttendees

    Set newuidoc = workspace.EditDocument(True, newdoc) 'Neues Dokument anzeigen
    Call newuidoc.Save



Offline Sommersprosse

  • Senior Mitglied
  • ****
  • Beiträge: 296
  • Geschlecht: Weiblich
Re: Kopieren von Feldinhalten aus geöffnetem Kalenderdokument.
« Antwort #3 am: 23.01.14 - 14:33:06 »
Hallo Peter,

vielen Dank für die Info,

klappt bestens.... musste noch ein bischen im Debugger suchen bis ich das richtige Feld gefunden hatte in der die Einträge dann auch wirklich drin stehen, aber dann hat's gepasst.

@Andreas
das Feld tmpRequiredAttendees ist im Template "Kalendereintrag".

Befüllt wird aber das Feld EnterSendTo im Kalender.

Code
Sub Click(Source As Button)
	
	
	Dim ws As New NotesUIWorkspace
	Dim session As New NotesSession
	Dim db As NotesDatabase
	Dim uidoc As NotesUIDocument
	Dim newdoc As NotesDocument
	Dim newuidoc As NotesUIDocument
	Dim item As notesitem
	
	Set uidoc = ws.CurrentDocument
	Dim doc As NotesDocument
	Set doc = uidoc.Document
	
	server = "UNSERSERVER"
	file = "it\protokoll.nsf"
	Call ws.OpenDatabase(server,file,"","",True,False)
	
	
'Neues Dokument anlegen
	
	Set db = session.CurrentDatabase  'Aktuelle Datenbank
	Set newdoc = New NotesDocument(db)
	newdoc.Form = "fm_minutes"  'Zuweisung mit welcher Maske das Dokument erstellt werden soll
	newdoc.mailadress = session.UserName
	newdoc.creator = session.Username
	
	newdoc.participant = doc.EnterSendTo
	
	Set newuidoc = ws.EditDocument(True, newdoc) 'Neues Dokument anzeigen
	Call newuidoc.Save 
End Sub

.... atnotes ist einfach immer wieder hilfreich , danke!
Gruß Ulli

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz