Autor Thema: Kalendereintrag für jemand anderen erstellen  (Gelesen 3882 mal)

Offline Thorsten Kalweit

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Kalendereintrag für jemand anderen erstellen
« am: 24.11.14 - 14:33:40 »
Hallo zusammen,

wie kann ich per Button einen Kalendereintrag für einen bestimmten Termin für eine andere Person in dessen Kalender erzeugen?

Hintergrund ist, dass wir einen zentralen Empfang haben, die am Telefon Termine mit Kunden für Berater vereinbaren. Die Termine sollen direkt in die Kalender der Berater gespeichert werden. ABER: Die Kolleginnen und Kollegen des Empfangs sollen nicht alle Mail-In Datenbanken der Berater auf der Arbeitsoberfläche "horten" und sich mühsam durch den Arbeitsbereich suchen, bis sie einen Kollegen gefunden haben.

In der Maske, den der zentrale Empfang ausfüllt, werden bereits Username des Beraters sowie Start- und Endzeit erfasst.
Die Zugriffsberechtigungen auf Kalender stellen zunächst kein Problem bzw. Hindernis dar.

Wäre super, wenn mir jemand helfen könnte (ggf. auch mit Code-Schnipsel)

Danke im Voraus.

Gruß
Thorsten
Viele Grüße
Thorsten

klaussal

  • Gast
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #1 am: 24.11.14 - 14:49:07 »
Welche Felder wie zu füllen sind lässt sich an einem bestehenden Termin erkennen.
Oder man sucht etwas im Forum (das Thema war gefühlt bestimmt schon zig-mal da).

Viel interessanter wäre es aber, was ihr macht, wenn der Berater schon belegt ist, etc pp.
Das muß man auch berücksichtigen.

Ich glaube, sooo einfach wird das nicht.

Offline Thorsten Kalweit

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #2 am: 24.11.14 - 14:55:34 »
Welche Felder zu füllen sind ist nicht das Problem, denn per Button in meinem eigenen klappt es ja...Wann der Berater kann und wann nicht, lösen wir über den Planer...

Viele Grüße
Thorsten

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #3 am: 24.11.14 - 15:07:13 »
Und wo ist dann das Problem? Wenn Du doch schon Code hast, um ein Dokument in Deinem eigenen Kalender zu erstellen: Wo ist dann die Schwierigkeit, das auf einen fremden Kalender zu übertragen?

Werde mal konkreter mit der Frage, sonst ist die Antwort auf "Wie geht das in einem fremden" genauso allgemein: "Wie in Deinem eigenen, nur mit einem anderen NotesDatabase- Objekt"...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Driri

  • Gast
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #4 am: 24.11.14 - 15:10:20 »
Der Ablauf wäre dann wohl recht übersichtlich und etwa so:

- Mailserver + -datenbank anhand der gewählten Person ermitteln (z.B. via Domino Directory über GetMailInfo)
- Termin-Dokument in der Maildatenbank erstellen

klaussal

  • Gast
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #5 am: 24.11.14 - 15:14:20 »
Einfach einen neuen Gruppenkalender anlegen mit den Beratern und gut ist.
Dann braucht man für einen neuen Termin nix zu programmieren.

Offline Felix Ziegler

  • Aktives Mitglied
  • ***
  • Beiträge: 122
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #6 am: 24.11.14 - 15:43:32 »
Nur als kleine Anmerkung. Das Erstellen von Kalendereinträgen kann sehr komplex werden. Ich habe mich vor einiger Zeit mal damit auseinander gesetzt. Vorallem "funktionierende" Einträge zu erstellen ist nicht einfach mal schnell so gemacht.

Siehe auch hier: http://www-12.lotus.com/ldd/doc/uafiles.nsf/docs/WPNotesCSSchema/$File/csschema.pdf

Es gibt aber soweit ich weiß auch einige fertige ScriptLibs. Einfach mal googeln.

Offline Thorsten Kalweit

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #7 am: 27.11.14 - 11:20:33 »
Guten Morgen!

Mit dem nachstehenden Skript kann ich einen Termin in meinem eigenen Kalender eintragen.
Wo bzw. was muss ich  Ändern, um den Termin in einem anderen Kalender einzutragen. (Sorry für die dumme Frage, aber meine Script-Kenntnisse sind noch nicht so gut...)

Code
Sub Click(Source As Button)
	Dim session As New NotesSession   
	Dim db As New NotesDatabase ("","")
	Dim UiWs As New NotesUIWorkspace
	Dim uidoc As NotesUIDocument
	Dim doc As notesdocument
	Dim startdatum As String 'Wann der Kunde kommt, abzüglich vorlaufzeit
	Dim startzeit As String 'Wann der Kunde kommt, abzüglich vorlaufzeit
	Dim enddatum As String 'Wann der Kunde kommt, zzgl. nachbereitung
	Dim endzeit As String 'Wann der Kunde kommt, zzgl. nachbereitungd
	Dim requesteddate As String 'Wann der Kunde kommt
	Dim requestedtime As String 'Wann der Kunde kommt
	Dim thema As String
	Dim personen As String
	Dim optpersonen As String
	Dim infopersonen As String
	
	
	Dim dbfilename As String
	Dim dbserver As String
	Dim value As Integer
	
	Set uidoc = UiWs.CurrentDocument
	Set doc = uidoc.Document
	Dim userName As New notesname(session.UserName)a
	requesteddate = uidoc.FieldGetText("RequestedStartDate")
	requestedtime = uidoc.FieldGetText("RequestedStartTime")
	startdatum = uidoc.FieldGetText("StartDate")
	startzeit = uidoc.FieldGetText("StartTime")
	enddatum = uidoc.FieldGetText("EndDate")
	endzeit = uidoc.FieldGetText("EndTime")
	thema = uidoc.FieldGetText("thema") & " " & uidoc.FieldGetText("kdnummer") & " " & uidoc.FieldGetText("kdname") & " TERMIN UM " & requesteddate & " " & requestedtime
	
	'Terminbestätigung eintragen
	uidoc.EditMode = True
	Call uidoc.FieldSetText("termin_bestaetigt", "1") 
	Call uidoc.Save()
	Call db.OpenMail   
	dbfilename=db.filepath   
	dbserver = db.server
'*****************Do this chunk of code for each holiday in the year**************************      
	Set uidoc = UiWs.ComposeDocument (dbserver,dbfilename,"Appointment")
	Call uidoc.FieldSetText("AppointmentType","0")
	Call uidoc.FieldSetText("tmpAppointmentType","0")
	Call uidoc.Refresh
	Call uidoc.FieldSetText("Subject", thema)
		'Datumswerte
	Call uidoc.FieldSetText("StartDate",startdatum)
	Call uidoc.FieldSetText("EndDate",enddatum)
	Call uidoc.FieldSetText("StartTime",startzeit)
	Call uidoc.FieldSetText("EndTime",endzeit)
	
	Call uidoc.Refresh
	Call uidoc.Save()
	'Call uidoc.Close()
'****************************************************************************************************	
End Sub
Viele Grüße
Thorsten

Offline Tode

  • Moderatoren
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 6.885
  • Geschlecht: Männlich
  • Geht nicht, gibt's (fast) nicht... *g*
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #8 am: 27.11.14 - 11:31:31 »
Nun, die entsprechenden Berechtigungen vorausgesetzt, müsstest Du diese Zeile
Code
Call db.OpenMail
ersetzen durch:
Code
Set db = New NotesDatabase( MailServerDesBenutzers, MailFileDesBenutzers )

Oder Du sparst Dir db komplett, und ersetzt diese Zeilen:
Code
dbfilename=db.filepath   
dbserver = db.server
durch diese:
Code
dbfilename=MailServerDesBenutzers
dbserver = MailFileDesBenutzers

Wie Du an Mailserver und Mailfile eines anderen Benutzers kommst, wurde hier im Thread ja schon angedeutet.

Jetzt kommt das grosse ABER: Durch Erstellen des Dokumentes im Frontend wird wiederum die Kachel des anderen Mitarbeiters bei demjenigen, der den Code verwendet hinzugefügt. Und das wolltest Du ja gerade vermeiden.

AUSSERDEM: Wenn der Benutzer 5 Mal auf den Button klickt, dann ist der Eintrag 5 Mal vorhanden, eine Prüfung findet nicht statt.

Um das RICHTIG zu machen, müsste man das Appointmentdokument im Backend erstellen, und alle Felder manuell füllen und das Dokument mit dem aktuell offenen Dokument "verlinken", so dass man es einfach updaten / löschen kann, wenn sich das Ursprungsdokument ändert... Aber ich fürchte, das übersteigt Deine aktuellen Fähigkeiten, weil wie gesagt: Das ist selbst für erfahrene Programmierer nicht trivial...
Gruss
Torsten (Tode)

P.S.: Da mein Nickname immer mal wieder für Verwirrung sorgt: Tode hat NICHTS mit Tod zu tun. So klingt es einfach, wenn ein 2- Jähriger versucht "Torsten" zu sagen... das klingt dann so: "Tooode" (langes O, das r, s und n werden verschluckt, das t wird zum badischen d)

Offline Thorsten Kalweit

  • Aktives Mitglied
  • ***
  • Beiträge: 115
  • Geschlecht: Männlich
Re: Kalendereintrag für jemand anderen erstellen
« Antwort #9 am: 27.11.14 - 11:45:50 »
Ich habe gerade eine Lösung hier aus dem Forum gefunden :-)

http://atnotes.de/index.php/topic,41883.msg268602.html#msg268602

Mit dem Skript funktioniert alles genau so wie es sein soll :-)

Danke trotzdem für Eure Unterstützung
Viele Grüße
Thorsten

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz