Autor Thema: Appointments erscheinen nicht in dem Planer  (Gelesen 3398 mal)

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Appointments erscheinen nicht in dem Planer
« am: 27.10.04 - 11:03:14 »
Hallo alle zusammen,

verzweifelt bitte ich um Hilfe und vielen Dank im voraus. Es gibt in unserer Anwendung in einem s.g. Termin-Dokument ein Schalter, der folgende Funktion ausführen sollte:
-> drei Appointments in dem Kalender des Autors erstellen: Anreise, Termin, Abreise und ggf. die Einladungen an Teilnehmern senden.
Die Funktion habe ich (mit grenzlose Danke für die Forums-Hilfe) geschafft. Die Termine mit der Übernahme allen nötigen Daten werden in dem Kalender des Autors erstellt, die Einladungen gesendet. Das Problem liegt daran, dass die Terminen in dem Kalender des Autors erscheinen nicht in der eingebetteten Planer und natürlich nicht in dem Gruppenkalender etc.


Dim ws As NotesUIWorkspace   
Dim s As NotesSession
Dim db As NotesDatabase
Dim uidb As NotesDatabase
Dim uiDocA As NotesUIDocument
Dim docA As NotesDocument
Dim uiDocM As NotesUIDocument
Dim docM As NotesDocument
Dim tmpSRV As String
Dim tmpMAIL As String
Dim AnfangD As Variant
Dim EndeD As Variant
Dim AnfangZ As String
Dim EndeZ As String
Dim Einlad As Variant
Dim tmpBody As Variant
Dim tmpOrt As String
Dim tmpSubject As String
Dim tmpDokuTitel As String
Dim tmpKundenName As String
Dim rtitem As NotesRichTextItem
Dim item As NotesItem
Sub Click(Source As Button)
   Set s = New NotesSession
   Set ws = New NotesUIWorkspace
   Set uidb = s.CurrentDatabase
   Set uiDocA = ws.CurrentDocument   
   Call uiDocA.Refresh
   Call uiDocA.Save
   Set docA = uiDocA.Document
   Einlad = docA.SendTo
   AnfangD = uiDocA.FieldGetText("StartDate")
   EndeD = uiDocA.FieldGetText("StartDate")
   AnfangZ = Strleft(uiDocA.FieldGetText("TimeRange"), "-")
   EndeZ = Strright(uiDocA.FieldGetText("TimeRange"), "-")
   tmpOrt = uiDocA.FieldGetText("Ort")
   tmpBody = uiDocA.FieldGetText("DokuBeschreibung")
   tmpDokuTitel = uiDocA.FieldGetText("DokuTitel")
   tmpKundenName = uiDocA.FieldGetText("KundenName")   
   tmpSubject = tmpKundenName & " -> " & tmpDokuTitel
   tmpSRV = uiDocA.FieldGetText("srv_1")
   tmpMAIL = uiDocA.FieldGetText("MailDatei")
   Set db = New NotesDatabase( tmpSRV, tmpMAIL )
   Call MailSenden()
   If uiDocA.FieldGetText("Anreisezeit") <> "" Then
      tmpSubject = "Anreisezeit -> " & tmpKundenName & " -> " & tmpDokuTitel
      AnfangZ = Strleft(uiDocA.FieldGetText("Anreisezeit"), "-")
      EndeZ = Strright(uiDocA.FieldGetText("Anreisezeit"), "-")
      If uiDocA.FieldGetText("RZbuchen") = "" Then
         Einlad = ""
      End If
      Call MailSenden()
   End If
   If uiDocA.FieldGetText("Abreisezeit") <> "" Then
      tmpSubject = "Abreisezeit -> " & tmpKundenName & " -> " & tmpDokuTitel
      AnfangZ = Strleft(uiDocA.FieldGetText("Abreisezeit"), "-")
      EndeZ = Strright(uiDocA.FieldGetText("Abreisezeit"), "-")
      If uiDocA.FieldGetText("RZbuchen") = "" Then
         Einlad = ""
      End If
      Call MailSenden()
   End If   
End Sub
Function MailSenden()
   Set docM = db.CreateDocument
   Set item = docM.GetFirstItem( "SendTo" )
   docM.Form = "Appointment"
   docM.AppointmentType = "3"
   docM.EnterSendTo = Einlad
   docM.SendTo = Einlad
   docM.RequiredAttendees = Einlad
   docM.AltRequiredNames = Einlad
   docM.tmpRequiredAttendees  = Einlad
   docM.Subject = tmpSubject
   docM.Location = tmpOrt
   docM.Body = tmpBody
   Set rtitem = New NotesRichTextItem( docM, "Body" )
   Call rtitem.AppendText( tmpBody )
   Call rtitem.AddNewLine( 2 )
   Call rtitem.AppendText( "Dokumentverknüpfung:  " )
   Call rtitem.AppendDocLink ( docA, tmpSubject )
   docM.StartDateTime =Cdat(AnfangD & " " & AnfangZ)
   docM.EndDateTime =Cdat(EndeD & " " & EndeZ)
   docM.StartDate = Cdat(AnfangD)
   docM.EndDate = Cdat(EndeD)
   docM.StartTime =Cdat(AnfangZ)
   docM.EndTime = Cdat(EndeZ)
   DocM.~$PublicAccess = "1"
   docM.CalendarDateTime =Cdat(AnfangD & " " & AnfangZ)
   Call docM.ComputeWithForm( False, False )
   Call docM.Save( True, True )
   If (Einlad(0) <> "") Then
      Call docM.Send( False, Einlad )
   End If
   Call docM.Save( True, True )
   
Danke und viele Gruessen
Sofia
« Letzte Änderung: 18.11.04 - 10:01:33 von sja »

Driri

  • Gast
Re: Appointments erscheinen nicht in dem Planer
« Antwort #1 am: 27.10.04 - 11:55:29 »
Von welchem Gruppenkalender und welchem eingebetteten Planer redest Du ?

Allgemein tippe ich, daß bestimmte Felder nicht gesetzt sind, die für Anzeige benötigt werden. Welche genau, kann ich dir leider nicht sagen.

Ach ja, die Zeile hier in der Function MailSenden ist überflüssig  ;)

Zitat
Set item = docM.GetFirstItem( "SendTo" )

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Appointments erscheinen nicht in dem Planer
« Antwort #2 am: 27.10.04 - 12:01:30 »
Auf jeden Fall fehlt schon mal das für C & S  entscheidende Item $BusyName.
Schau Dir einfach mal die Items in einem Kalendereintrag bei Dir an.

HTH,
Bernhard

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Appointments erscheinen nicht in dem Planer
« Antwort #3 am: 27.10.04 - 13:07:50 »
Hallo Driri,
Hallo Bernhard,
vielen Dank für eure Aufmerksamkeit,

Driri,
wenn Du die Maske « Appointment » in Notes-Mail-Datei öffnest, dann wirst Du schon sehen, was meine ich unter eingebetteten Planer
Die Zeile „Set item = docM.GetFirstItem( "SendTo" )“ ist hier tatsächlich überflüssig, aber das ist in dem Fall irrelevant.

Bernhard,
nach deine frühere Hilfe mit DocM.~$PublicAccess = "1", habe ich doch mit 
DocM.~$BusyPriority ="1"
schon auch ausprobiert, hat nicht geholfen.

Und da ich weiss nicht wie mit dem eingebetteten Planer in der Notes-Kalender umzugehen, habe ich in Frontend auch folgendes versucht:

Function MailSenden()


   Call docM.ComputeWithForm( False, False )
   Call docM.Save( True, True )

%REM
   If (Einlad(0) <> "") Then
      Call docM.Send( False, Einlad )
   End If
   Call docM.Save( True, True )
%END REM

Set uiDocM = ws.EditDocument( True, docM )


In diesem Fall die Emails an den Teilnehmer werden nicht gesendet, sondern wird in der Notes-Kalender des Autors im Backend erstellte Appointment geöffnet und man sollte eigentlich auf die Schalter „Speichern und Einladungen senden“ klicken. Das Problem nur in dem Fall, dass alle Daten werden in Appointment übernommen, ausser Eingeladenen.
Wie ich verstanden habe ist dafür das Feld

    „RequiredAttendees“

verantwortlich und obwohl das Feld habe in im Backend gesetzt

Set item = docM.AppendItemValue( "RequiredAttendees" , Einlad)

und in den Eigenschaften des Dokuments das Feld ist zu sehen und zwar mit dem richtigen Wert, beim Öffnen des Dokumentes ist das Feld nicht mehr da.
Wenn ich damit ausprobiert:

Call uiDocM.FieldSetText("RequiredAttendees ",  Einlad)

Bekam ich “Notes Fehler – Das Feld nicht gefunden”.

Dann habe  ich auch folgendes versucht:

Call uiDocM.FieldSetText("EnterSendTo",  Einlad)

und obwohl in dem Feld in Frontend erscheint richtigen Wert, trotzdem mit dem Klick auf den Schalter „Speichern und Einladungen senden“, Einladungen werden nicht gesendet und den Termin wird nicht in dem Planer zu sehen.

Gruessen
Sofia

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Appointments erscheinen nicht in dem Planer
« Antwort #4 am: 28.10.04 - 10:25:30 »
Hallo Bernhard.

Du hattest ja Recht (wie immer) mit dem Item $BusyName. Alles Funktioniert in Backend.

Du bist eine Perle und hast mir das Leben gerettet.  Meine Dankbarkeit hat keine Grenzen.  :)

Vielen vielen Dank

Sofia

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Appointments erscheinen nicht in dem Planer
« Antwort #5 am: 28.10.04 - 12:05:10 »
ja, es funktioniert schon besser, aber nicht ganz. Die Termine von Autor erscheinen jetzt erst in dem Planer, aber nachdem Teilnehmer den Termin annehmen, bzw. ablehnen, verschwindet der Termin aus dem Planer des Autors.

Source sieht jetzt bei mir so aus:
   ...
   ...
   DocM.~$PublicAccess = "1"
   DocM.~$BusyName = tmpAutor
   DocM.~$AltPrincipal = tmpAutor
   
   docM.CalendarDateTime =Cdat(AnfangD & " " & AnfangZ)
   Call docM.ComputeWithForm( False, False )
   Call docM.Save( True, True )
   
   If Not(Isarray(Einlad)) Then
      docM.SendTo = Evaluate(|@Trim(@Explode('| & Einlad & |';','))|, docM)
   Else
      docM.SendTo = Einlad
   End If
   
   docM.RequiredAttendees = docM.SendTo
   docM.AltRequiredNames = docM.SendTo
   docM.tmpRequiredAttendees  = docM.SendTo
   
   If (docM.SendTo(0) <> "") Then
      Call docM.Send( False, SendTo )
   End If
   DocM.~$BusyPriority = "1"
   Call docM.Save( True, True )

Es fehlt noch was. Was ist eigentlich "C & S" ?

Vielen Dank für weitere Hilfe.

Gruesse
Sofia

Offline sja

  • Senior Mitglied
  • ****
  • Beiträge: 328
  • Geschlecht: Weiblich
  • Ich liebe dieses Forum!
Re: Appointments erscheinen nicht in dem Planer
« Antwort #6 am: 16.11.04 - 16:21:49 »
Hallo

wnn jemand dafür Interesse hat, das Problem mit der Erstellung eines Termins in der Notes Calender von einer Anwendung aus, habe ich auf folgende Weise glöst:

ich habe die Backend und Frontend susammen verwendet (s. Script unten) trotz der Warnung von Bernhard (er sagte mal, dass entweder in Backend oder in Frontend programmiert werden sollte, aber kann sein, dass ich ihn falsch verstanden habe ).
Also, jetzt funktioniert alles einwandfrei


Dim ws As NotesUIWorkspace   
Dim s As NotesSession
Dim db As NotesDatabase
Dim uidb As NotesDatabase
Dim uiDocA As NotesUIDocument
Dim docA As NotesDocument
Dim uiDocM As NotesUIDocument
Dim docM As NotesDocument
Dim tmpSRV As String
Dim tmpMAIL As String
Dim AnfangD As Variant
Dim EndeD As Variant
Dim AnfangZ As String
Dim EndeZ As String
Dim Einlad As Variant
Dim tmpBody As Variant
Dim tmpOrt As String
Dim tmpSubject As String
Dim tmpDokuTitel As String
Dim tmpKundenName As String
Dim rtitem As NotesRichTextItem
Dim tmpAutor As String
Dim nid As String
Dim itemTo As NotesItem
Dim tmpAppointmentType As String

Sub Click(Source As Button)
   
   Set s = New NotesSession
   Set ws = New NotesUIWorkspace
   Set uidb = s.CurrentDatabase
   Set uiDocA = ws.CurrentDocument   
   Call uiDocA.Refresh
   Call uiDocA.Save
   Set docA = uiDocA.Document
   
   tmpAutor = uiDocA.FieldGetText("Autor")
   AnfangD = uiDocA.FieldGetText("StartDate")
   EndeD = uiDocA.FieldGetText("StartDate")
   AnfangZ = Strleft(uiDocA.FieldGetText("TimeRange"), "-")
   EndeZ = Strright(uiDocA.FieldGetText("TimeRange"), "-")
   tmpOrt = uiDocA.FieldGetText("Ort")
   tmpBody = uiDocA.FieldGetText("DokuBeschreibung")
   
   tmpDokuTitel = uiDocA.FieldGetText("DokuTitel")
   tmpKundenName = uiDocA.FieldGetText("KundenName")   
   tmpSubject = tmpKundenName & " -> " & tmpDokuTitel
   
   tmpSRV = uiDocA.FieldGetText("srv_1")
   tmpMAIL = uiDocA.FieldGetText("MailDatei")
   Einlad = uiDocA.FieldGetText("SendTo")
   
   Set db = New NotesDatabase( tmpSRV, tmpMAIL )
   If Einlad = "" Then
      tmpAppointmentType = "0"
   Else
      tmpAppointmentType = "3"
   End If
   
   Call MailSenden()
   
   If uiDocA.FieldGetText("Anreisezeit") <> "" Then
      tmpSubject = "Anreisezeit -> " & tmpKundenName & " -> " & tmpDokuTitel
      AnfangZ = Strleft(uiDocA.FieldGetText("Anreisezeit"), "-")
      EndeZ = Strright(uiDocA.FieldGetText("Anreisezeit"), "-")
      If uiDocA.FieldGetText("RZbuchen") = "" Then
         Einlad = ""
         tmpAppointmentType = "0"
      End If
      Call MailSenden()
   End If
   
   If uiDocA.FieldGetText("Abreisezeit") <> "" Then
      tmpSubject = "Abreisezeit -> " & tmpKundenName & " -> " & tmpDokuTitel
      AnfangZ = Strleft(uiDocA.FieldGetText("Abreisezeit"), "-")
      EndeZ = Strright(uiDocA.FieldGetText("Abreisezeit"), "-")
      If uiDocA.FieldGetText("RZbuchen") = "" Then
         Einlad = ""
         tmpAppointmentType = "0"
      End If
      Call MailSenden()
   End If   
   
End Sub

Function MailSenden()
   Set uiDocM = ws.composeDocument(tmpSRV, tmpMAIL, "Appointment",4,4)
   
   Call uiDocM.FieldSetText("AppointmentType", tmpAppointmentType)
   Call uiDocM.Refresh
   
   Call uiDocM.FieldSetText("EnterSendTo",  Einlad)
   Call uiDocM.FieldSetText("StartDate", AnfangD)
   Call uiDocM.FieldSetText("EndDate", EndeD)
   Call uiDocM.FieldSetText("StartTime", AnfangZ)
   Call uiDocM.FieldSetText("EndTime", EndeZ)
   Call uiDocM.FieldSetText("Subject", tmpSubject)
   Call uiDocM.FieldSetText("Location", tmpOrt)
   Call uiDocM.FieldSetText("Body", tmpBody)
   
   Set docM = uiDocM.Document
   
   Set rtitem = New NotesRichTextItem( docM, "Body" )
   Call rtitem.AppendText( tmpBody )
   Call rtitem.AddNewLine( 2 )
   Call rtitem.AppendText( "Dokumentverknüpfung:  " )
   Call rtitem.AppendDocLink ( docA, tmpSubject )
   docM.RepeatStartDate = Cdat(AnfangD)
   docM.StartDateTime =Cdat(AnfangD & " " & AnfangZ)
   docM.EndDateTime =Cdat(EndeD & " " & EndeZ)
   docM.StartDate = Cdat(AnfangD)
   docM.EndDate = Cdat(EndeD)
   docM.StartTime =Cdat(AnfangZ)
   docM.EndTime = Cdat(EndeZ)
   docM.EnterSendTo = Einlad
   docM.Subject = tmpSubject
   docM.Location = tmpOrt
   docM.Body = tmpBody
   Call docM.Save( True, True )
   uiDocM.Reload
   Call uiDocM.Save
   uiDocM.Close
   
End Function

Weiss nicht, wie soll ich markieren, dass die Thema gelöst ist ?


Gruessen
Sofia

« Letzte Änderung: 16.11.04 - 16:24:20 von sja »

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Appointments erscheinen nicht in dem Planer
« Antwort #7 am: 16.11.04 - 22:36:30 »
Hoshee arbeitet an diesem Problem. Unterdessen gibt es einen Würgaround, beschrieben in den Regeln (siehe Buhtong oben) unter Abschnitt 3.5

Offline Semeaphoros

  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 8.152
  • Geschlecht: Männlich
  • ho semeaphoros - agr.: der Notesträger
    • LIGONET GmbH
Re: Appointments erscheinen nicht in dem Planer
« Antwort #8 am: 16.11.04 - 22:40:02 »
 ;D Lustiges Zitat, wo hast Du das bloss gefunden?  ;D
Jens-B. Augustiny

Beratung und Unterstützung für Notes und Domino Infrastruktur und Anwendungen

Homepage: http://www.ligonet.ch

IBM Certified Advanced Application Developer - Lotus Notes and Domino 7 und 6
IBM Certified Advanced System Administrator - Lotus Notes and Domino 7 und 6

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Appointments erscheinen nicht in dem Planer
« Antwort #9 am: 16.11.04 - 22:42:07 »
Hab' gerade die Adresse verlegt. Muss ich aber wieder suchen - ist ein absolut geniales Notes / Domino-Forum mit tollen Autoren. "Noteswinker" heisst da einer ;-)

Bernhard  ;D

PS: Ich war halt hilfsbereit - und faul ...

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz