Работа с профильным документом в почте

Тема в разделе "Lotus - Программирование", создана пользователем Oksana, 11 авг 2008.

  1. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    Добрый день!

    Стоит следующая задача, в самописную БД вносим данные об отсутствии сотрудника (отпуск, командировка).

    Вот есть спецзаказ, чтобы после внесения этих данных в почте указанного сотрудника включался агент "Нет на работе" с заданными параметрами, те период отсутствия, причина и произвольный текст ( типа к кому обращаться и проч).

    Итак есть агнет, который:
    - вносит в профильный документ "OutOfOfficeProfile" в ПЯ пользователя нужные данные
    - включает агент OutOfOffice

    А вот результата нет. Те не формируются автоматические сообщения о том, что сотрудника нет на месте.

    Хотя если зайти в ПЯ сотрудника под его именм и выбрать Сервис-Нет на работе, там будут те параметры, что пересены из первой БД
    и в журнале агента видно что он отработал.

    Куда бы покопать?
     
  2. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    покопать в логах, скорее всего агент OOO не отрабатывает по причине отсутствия прав на запуск агентов на сервере...
    у пользователя, который его включает должно быть такое право...
     
  3. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    в типичной ситауции этот агент включает сам пользователь (владелец почтового ящика). В данном случае агент включаю я в скрипте своего агента
    Код (Text):
    Set AgentOOO = DBMail.GetAgent("OutOfOffice" )
    AgentOOO.IsEnabled =True
    Call agentOOO.Save
    ,
    запуск в агенте стоит от имени сервера. В дизайнере я вижу, что агент включился, подписан сервером, выполняется от имени сервера.
    Прав (на первый взгляд достаточно). Агент отрабатывает, ошибка не выдается, но и результата нет.
     
  4. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    в таком случае, нужно ковырять сам агент...
    или добавлять в него свои принты, или удаленный дебагер настраивать...
    там один класс, в самом агенте, думаю особой сложности разобраться не составит...
    посмотрите метод Run(), он использует два метода для проверок AgentOKToRun() и DocumentOK(), думаю, что, если ошибок исполнения нет, то есть логические ошибки, которые выявляются этими функциями... (это поверхностная оценка)
     
  5. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    Нынче, с стандартном ПЯ агент OutOfOffice включается с пом. AdminRequest-а. Это позволяет урезать юзеру права (иначе ему Designer нужен) и не заморачиваться с его правами на фоновые процессы
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    "нынче" это в какой версии-то? :)
    имхо, вообще, дурновато реализована эта функция...
     
  7. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    С 5-ки. Работает достаточно стабильно
     
  8. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    Действительно, если пользователь сам запускает агент "нет на работе", это делается через AdminRequest.

    В данном случае, я запускаю агент в БД пользователя своим скриптом. Кстати, удалось, наконец-то запустить агент, но выяснилось, что он работает по расписанию раз в 6 часов. Для нас это СЛИШКОМ большой период. Так пока еще до конца и не разобралась как это все работает.

    Но поменять расписание работы агента можно только в дизайнере, а нам нежелательно менять шаблон почтовой БД.

    Чтобы еще такого придумать, а? :blink:
     
  9. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    А если я из своей БД с отпусками буду проходить по почтовым ящикам отсутствующих пользователей, как мне можно оптимизировать поиск новых документов (от выбранной точки времени) в этих БД, чтобы не перелопачивать все документы базы?
     
  10. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    сдуреешь :rolleyes: и вообще, это не совсем верно - лазять по ящикам пользователей...

    можно сделать в почтовых ящиках правило, чтобы сообщения переотправлялись в какую-то твою базу, а там уже твой агент их подхватывает...
     
  11. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    я уже сделала, авто-ответы работают.... пусть и не самый лучший подход

    а правило, в вашем случае кто должен создавать? те все равно пройтись по ящикам пользователей и что-то там "поправить". Да и с правилами вечно какие-нибудь проблемы
     
  12. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    пока не замечал проблем с правилами :rolleyes:
    правило - обычный док, его легче запулить в почт.ящик единожды, чем рыться в них постоянно...
    но, это лишь как вариант...
     
  13. Oksana

    Oksana Lotus team
    Lotus team

    Регистрация:
    10 янв 2006
    Сообщения:
    330
    Симпатии:
    0
    А ты зайди в раздел Администрирования, увидишь, что на проблемы с правилами народ так или иначе натыкается.
    Во-первых понятно, что я не буду перелопачивать ящики всех пользователей, а только тех, по которым есть документ отсутствия, и обрабатывать только новые письма тоже получилось.
    Лучшего мне тоже пока никто не предложил. Если бы стандартный агент не работал с периодом в 6 часов, я бы просто его включала и выключала, так было бы лучше.
     
  14. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    чесно говоря, я не вижу проблемы, чтобы изменить время срабатывания ООО :)
    на сколько мне известно, ИБМ не запрещает этого делать...
    а шаблончик тоже не очень-то часто обновляется...
    поэтому, правильное документирование изменений - залог успеха Вашей ИТ-структуры ;)
     
  15. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    См. Второй параметр метода db.Search
     
  16. Кирилл Шваб

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    145
    Симпатии:
    4
    Да уж, Out Of Office в Лотусе реализован действительно странно.

    Можно же было просто сделать агента, который бы запускался после прихода новой почты, лез в профиль, проверял что в текущий промежуток отсутствия сотрудника он еще не отправлял отправителю письма ответ об отстутствии и делал свои дела.

    А то пишешь человеку, который например в отпуске, а тебе только через пол дня ответ приходит (естественно если не изменять настройки запуска агента, которые заданы IBM'ом).

    Включить/выключить такой агент тоже не составит труда, потому для меня загадка зачем они так реализовали функционал OOO. Если кто раскроет сию великую тайну, то буду очень рад. :)
     
  17. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    видать, по логике ИБМа, если человек не отвечает целый день, то не понятно, есть ли он на работе вообще или все-таки нет :)
    а вообще, видать, таким образом решили умерить нагрузку на почтовый сервер...
    ну, а включить/выключить то тут как бы понятно, если бы у всех этот агент был бы включен и запускался бы, чтобы проверять наличие флага в настройках, то почтовый сервер почти только и занимался бы проверкой настроек почтовых баз :)
     
  18. Кирилл Шваб

    Кирилл Шваб Well-Known Member

    Регистрация:
    30 июн 2006
    Сообщения:
    145
    Симпатии:
    4
    Не думаю что даже в большой компании, это сразу сильно загрузит сервер. В конце концов обмениваться письмами - одна из основных задач Лотусового сервера. ;-)

    А ежели и загрузит, то извольте купить сервер помощнее/построить кластер раз уж вы пользуетесь программным продуктом, который того требует. :)

    Кстати, кто как в итоге решал эту задачу (Out Of Office)? Мы просто время срабатывания агента подправили, чтобы он почаще срабатывал (уж очень не хотелось велосипед заново изобретать). Но все равно остается немного ограничений (вроде если человек на 1 день уезжает).
     
  19. Constantin A Chervonenko

    Constantin A Chervonenko Well-Known Member

    Регистрация:
    30 май 2006
    Сообщения:
    1.291
    Симпатии:
    0
    "Фигушки! Я плотоядная!!"(с)

    Обычный док никому кроме юзера не нужен. Роутер-же юзает откомпилированные формулы, записанные в profile.
    "Синхронизация" текста правил и откомпилированных формул делается юзером через UI, т.е. периодически отваливается.
    Отсюда и проблемы
     
Загрузка...
Похожие Темы - Работа профильным документом
  1. azzza
    Ответов:
    5
    Просмотров:
    2.620
  2. Kuklus
    Ответов:
    0
    Просмотров:
    22
  3. Andrey Kha
    Ответов:
    0
    Просмотров:
    35
  4. Hoasker
    Ответов:
    0
    Просмотров:
    65
  5. garri671
    Ответов:
    0
    Просмотров:
    76

Поделиться этой страницей