Активация услуги вне офиса с запуском на сервере агента

Есть ли документация или простое решение, как я могу активировать службу вне офиса в почтовом файле пользователя с помощью внешнего агента сервера?

Пробовал так, но не получается...

    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)

person Pudelduscher    schedule 19.06.2013    source источник


Ответы (2)


ОБНОВЛЕНИЕ (ответ изменен с активации агента вне офиса на активацию услуги вне офиса):

Найдите в MailFile ScriptLibrary OutOfOfficeLib в классе OutOfOfficeObj метод EnableService(). Есть код, который вы должны адаптировать и вставить в свой агент.

С кодовой строкой

Call db.SetOption( DBOPT_OUTOFOFFICEENABLED, True)

вы активируете услугу Out of Office. Есть некоторые другие настройки, которые вы, вероятно, должны сделать дополнительно. Просто следуйте вызываемым методам в EnableService() и выясняйте, что действительно необходимо.

Вот хорошее описание того, как активировать и как решать проблемы с Услуга "Нет на месте". Изменения в статусе услуги «Нет на месте», т.е. может быть виден только после отправки пользователю электронного письма.

person Knut Herrmann    schedule 19.06.2013
comment
но я не хочу использовать агента вне офиса... так как в домино 8 есть служба вне офиса - person Pudelduscher; 20.06.2013
comment
Я рад, что это сработало. Спасибо, что поделились своим рабочим кодом для вашего конкретного случая использования. Это определенно полезно для людей, которые ищут подобное решение. Главное db.SetOption(...) активировать ООС. Настройки поля могут зависеть от варианта использования. - person Knut Herrmann; 21.06.2013

Вот как это работает.

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)
person Pudelduscher    schedule 20.06.2013