Hallo,
ich habe für meine Supportleute (nicht Notes-Admins) einen kleinen Webservice gebastelt, der die Abwesenheitsfunktion für einen bestimmten User aktiviert.
Im wesentlichen wird ein webformular ausgefüllt u. anschliessend ein agent am server gestartet, der das outofoffice-profile des angegebenen Users ändert u. speichert.
Hab dazu mal eine "vom User aktivierte" Abwesenheitsfunktion bzw. eine nichtaktivierte verglichen. Ich ändere momentan folgende Felder:
TaskState = "1" (String)
CurrentSate = "1" (String)
FirstDayout = 16.11.2011 (DateTime)
FirstDayBack = 20.11.2011 (DateTime)
ShowHours = ""
EndTime = 00:00:00 (DateTime)
StartTime = 00:00:00 (Datetime)
Anschliessend ein ComputeWithForm und ein Save.
Wenn der User das OOO-Profile öffnet, sieht es aus, als wäre die Abwesenheitsfunktion korrekt aktiviert.
Leider ist der Server anderer Meinung (kein "ja" bei Abwesenheit im AdminClient, taucht auch nicht auf bei "tell router o".
Mit den Feldern EndTime/StartTime habe ich schon einiges experimentiert. Wenn man die Felder mit doc.EndTime = "00:00:00" befüllt, wird das Feld in ein Textfeld/Liste umgewandelt (obwohl in der Form als DateTime definiert). Ein doc.ReplaceItemValue bewirkt dasselbe.
Belegt man das Feld mit doc.EndTime = Cdat("00:00:00"), dann bleibt das Feld zwar DateTime jedoch mit dem Inhalt "30.12.1899 00:00:00".
Meine letzte Variante: ein doc mit einem Feld "Uhrzeit000000" Type DateTime, nur Stunden anzeigen, einmalig abspeichern. Beim Befüllen des ooo-Profiles dann mit:
Set item = pdoc.Getfirstitem("Uhrzeit000000")
Call item.Copyitemtodocument(ooo,"EndTime")
kopieren.
Dies speichert nun Endtime und Startime korrekt ab, jedoch mit dem Problem, dass OOO für den Server scheinbar nicht aktiviert ist.
Interessanterweise ändert sich der Status am Server korrekt auf Abwesenheit = "ja", wenn EndTime/StartTime als Text belegt sind, nur werden keine Nachrichten verschickt...
Hat jemand eine Idee wo da der Hund begraben sein könnte?
Danke im Voraus!
Ernstl