【问题标题】:Out of office service activation with an run on server agent使用在服务器代理上运行的外出服务激活
【发布时间】:2013-06-19 06:28:49
【问题描述】:

是否有文档或简单的解决方案如何在服务器代理上通过外部运行激活用户邮件文件中的外出服务?

我是这样试的,但是不行……

    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)

【问题讨论】:

    标签: lotus-notes lotusscript


    【解决方案1】:

    更新(将答案从外出代理激活更改为外出服务激活):

    OutOfOfficeObj 类中的 MailFile ScriptLibrary OutOfOfficeLib 中查找方法 EnableService()。您必须适应并放入您的代理中的代码。

    用代码行

    Call db.SetOption( DBOPT_OUTOFOFFICEENABLED, True)
    

    您激活了外出服务。此外,您可能还需要进行一些其他设置。只需按照EnableService() 中的调用方法,找出真正需要的方法。

    这里很好地描述了如何激活以及如何处理Out of Office service 的问题。用户外出服务状态的变化,例如可能仅在向用户发送电子邮件后可见。

    【讨论】:

    • 但我不想使用外出代理...因为 domino 8 有外出服务
    • 我很高兴它成功了。感谢您为您的特定用例分享您的工作代码。这对于寻找类似解决方案的人来说绝对有用。重点是db.SetOption(...)激活OOS。字段设置可能取决于用例。
    【解决方案2】:

    这就是它的工作方式。

    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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 2020-05-21
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多