2013-06-19 94 views
2

有沒有文檔或簡單的解決方案如何在服務器代理上使用外部運行來激活用戶郵件文件中的不在辦公室服務?在服務器代理上運行的不在辦公室服務激活

我試了一下這樣的,但它不工作...

Dim s As New NotesSession 
    Dim db As NotesDatabase 
    Dim doc As NotesDocument 
    Dim dt As New NotesDateTime(Now) 

    Set db = s.Getdatabase("SERVERNAME", "MAILFILE") 

    Set doc = db.Createdocument() 

    doc.AppointmentType= "2" 
    doc.BookFreeTime = "" 
    doc.CreatedByAgent = "1" 
    doc.ExcludeFromView = "D" 
    doc.Form = "Appointment" 
    doc.From = s.Username 
    doc.Principal = s.Username 
    Call doc.Replaceitemvalue("$BusyName","") 
    Call doc.Replaceitemvalue("$BusyPriority","") 
    Call doc.Replaceitemvalue("$PublicAccess","1") 
    doc.ApptUNID = doc.Universalid 

    Call dt.Adjustday(-5) 
    set doc.EndDate = dt 
    set doc.EndDateTime = dt 
    call dt.Adjustday(10) 
    set doc.StartDate = dt 
    set doc.STARTDATETIME = dt 
    doc.Subject = "Out Of Office" 
    Call doc.Replaceitemvalue("$UpdatedBy",s.Username) 
    Call doc.save(True,False) 


    Set doc = db.Getprofiledocument("OutOfOfficeProfile") 
    Call dt.Adjustday(-5) 
    Set doc.FirstDayOut = dt 
    Call dt.Adjustday(10) 
    Set doc.FirstDayBack = dt 
    doc.CurrentStatus = "1" 
    doc.GeneralSubject = "HE IS NOT AVAILABLE" 

    Call doc.save(True,false) 

回答

0

這是它的工作方式。

Dim db As NotesDatabase 
    Dim doc As NotesDocument 
    Dim dt As New NotesDateTime(Now) 

    Set db = s.Getdatabase("SERVER", "MAILFILE")  

    Set doc = db.Getprofiledocument("OutOfOfficeProfile") 
    Call dt.Adjustday(-5) 
    Set doc.FirstDayOut = dt 
    Set doc.StartTime = dt 
    Call dt.Adjustday(10) 
    Set doc.FirstDayBack = dt 
    Set doc.EndTime = dt 
    doc.CurrentStatus = "1" 
    doc.GeneralSubject = "MESSAGE" 

    doc.TaskState = "1" 
    doc.CurrentSate = "1" 
    doc.ShowHours = "" 

    Call doc.Computewithform(false, false) 

    Call doc.save(True,false) 

    Call db.SetOption(DBOPT_OUTOFOFFICEENABLED, True) 
1

UPDATE(改變答案從離開辦公室代理激活到離開辦公室服務的激活):

看在郵件文件對於方法EnableService(),腳本庫OutOfOfficeLib在類OutOfOfficeObj中。您必須修改代碼並放入代理。

隨着代碼行

Call db.SetOption(DBOPT_OUTOFOFFICEENABLED, True) 

您激活外出服務。此外還有其他一些設置可能不得不做。只需按照EnableService()中的調用方法,找出真正必要的東西。

下面是一個很好的描述如何激活以及如何處理Out of Office service的問題。用戶更改不在辦公室服務狀態,例如只有在向用戶發送電子郵件後纔可以看到。

+0

但我不希望使用離開辦公室代理的......因爲Domino 8的有離開辦公室服務 – Pudelduscher

+0

感謝更新的..我會嘗試 – Pudelduscher

+0

我很高興它的工作。感謝您分享您的特定用例的工作代碼。對於尋找類似解決方案的人來說,這絕對有用。主要點是'db.SetOption(...)'來激活OOS。字段設置可能取決於用例。 –

相關問題