Antworte ich mir mal selbst: Das scheint "by Design" so zu sein... IBM selbst weiss, das das TaskState- Feld nicht korrekt gesetzt wird, wie folgender Code aus der OutOfOffice- Lib beweist (aufgerufen aus dem QueryOpen des OutOfOffice- Profile):
'**********************************************************
'** VALIDATE SERVICE STATUS **
'**********************************************************
Public Function IsServiceDisabled() As Integer
'// make sure time stamp gets updated on profile note
On Error Goto ErrHandler
IsServiceDisabled = False
Call GetUITimes()
Set Me.m_dtNow = New NotesDateTime("")
Me.m_dtNow.SetNow
If Me.m_noteUIDoc.Document.GetItemValue("dateFirstDayBack")(0) <> "" Then
Call TIMEGetFromItem("dateFirstDayBack", Me.m_noteUIDoc.Document, Me.m_dtFirstDayBack)
Else
'//for whatever reason, the return date is empty. Let's set to some date in the past,
'//so this function can return false, and we can set the Status as Disable.
Set Me.m_dtFirstDayBack = New notesdatetime(yesterday)
End If
'// If Return date is set earlier than Now, Task has to be disabled...
If Me.m_TaskState = "0" Or (Me.m_dtFirstDayBack.Timedifferencedouble(Me.m_dtNow) < 0_
And Me.m_TaskState = "1") Then
IsServiceDisabled = True
Exit Function
End If
Exit Function
ErrHandler:
Call ProcessError(Cstr( Getthreadinfo(LSI_THREAD_PROC) ), Cstr(Error), Cstr( Getthreadinfo(LSI_THREAD_CALLPROC)), Cstr( Erl ))
End Function
muss ich halt die selbe Prüfung in mein eigenes Script einbauen...