Слушатель событий на лотусе

Тема в разделе "Lotus - Программирование", создана пользователем proteam, 22 янв 2016.

  1. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Всем привет.
    У меня такой вопрос. Возможно ли организовать какой нибудь слушатель событий на лотусе, который бы отслеживал появление нового документа и автоматически открывал для пользователя?

    Объясню суть проблемы. Сейчас есть БД для контроля посетителей. Вход/выход осуществляется путем поиска карточки по штрих-коду, после чего открывается документ и пользователь системы подтверждает выход/вход нажатием кнопки.
    Что планируется изменить. Есть система СКУД для сотрудников. Планируется теперь посетителей также отслеживать через СКУД. Для этого им выдаются магнитные карточки(МК), на которых имеется штрих-код, с помощью которого я буду привязывать МК с документом посетителя в БД. Тут как бы без вопросов. Но дальше мне нужно сделать так, чтобы как только посетитель провел МК у турникета, автоматически открылась его карточка в моей БД, чтобы тот кто следит за посещением видел кто заходит. СКУД не моя система, но интеграция с ней будет сделана. Теперь вопрос, как сделать так, чтобы автоматом открылась карточка, когда происходит событие что посетитель прошел через турникет?
     
  2. azzza

    azzza Well-Known Member

    Регистрация:
    26 апр 2011
    Сообщения:
    54
    Симпатии:
    0
    смотря как будет предоставляться информация из СКУД (уточни), а там агентом, разве нет?
     
  3. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Трудно что-либо посоветовать, т.к. неизвестно каким образом СКУД сигнализирует о наступлении интересующего события. Но открывать документы в Lotus Notes из операционной системы можно по Notes URL, а если ваша база посетителей работает по HTTP, то можно использовать обычный URL карточки. Но ещё, как я понимаю, карточки в вашей базе может и вовсе не быть если посетитель пришел в первый раз.
     
    2 пользователям это понравилось.
  4. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Карточка в любом случае будет. Так как мне нужно привязать карточку посетителя с Магнитной картой до того, как пришедший сможет ей воспользоваться. Для СКУДа будет сервис на моей стороне по приему событий.

    Думаю будет так. Сотруднику, ответственному за доступ в здание, всегда будет открыт некий документ где будет отображена информация по посетителю (фотография, время входа/выхода, ФИО) который последний раз заходил/выходил, в котором также по таймеру будет проверка на поступление нового события из СКУД, как только оно появилось, я обновлю данные по посетителю.
     
    2 пользователям это понравилось.
  5. savl

    savl Lotus team
    Lotus team

    Регистрация:
    28 окт 2011
    Сообщения:
    2.051
    Симпатии:
    146
    HTML страница
    ммм... Может кидать запрос на WebService и если ответ "новый", то
    Обновить страницу
     
    2 пользователям это понравилось.
  6. garrick

    garrick Lotus team
    Lotus team

    Регистрация:
    26 окт 2009
    Сообщения:
    770
    Симпатии:
    50
    Если это клиент Lotus Notes, то на этом рабочем месте ничего нельзя будет делать, кроме как смотреть на эти карточки. Скорее всего даже скролинг этих карточек не будет работать, если их размер будет больше размера экрана. Поэтому надо делать какое-то отдельное приложение не в Lotus Notes, либо HTML, да хоть xPage, страничку.

    Человек, который на эту страничку смотрит, должен в ней какую-нибудь отметку поставить типа "вошел/вышел"? Если карточки открываются/закрываются автоматом, а через "вертушку" сразу несколько человек проходит, он успеет только последнюю карточку посмотреть?

    А сейчас, когда проходит сотрудник, что-то для охраны открывается?
     
  7. lmike

    lmike нет, пердело совершенство
    Lotus team

    Регистрация:
    27 авг 2008
    Сообщения:
    6.073
    Симпатии:
    299
    остается вопрос - каким образом проходит событие от СКУД?
     
  8. duchan

    duchan Well-Known Member

    Регистрация:
    20 сен 2006
    Сообщения:
    105
    Симпатии:
    2
    Тут две задачи:
    1. Получить в лотусе данные со считывателя - у вас есть это АПИ, Вы можете это сделать?
    2. Открыть документ в лотусе - тут просто: таймер. Есть два типа таймеров на JS c програмным кликаньем кнопки и лотусовый. Первый можно разместить на странице\форме, что бы JS-таймер каждую секунде кликал по кнопке, а код в этой кнопке проверял, есть ли что от считывателя, и если есть по полученой информации найти док-т и открыть, через ли notes-URL или ws.EditDocument. Для чисто лотусового, лучше разместить в DatabaseScript на PostOpenDatabase определяем(создаем) таймер, и в обработчике уже обрабатываем как и JS.
    Условия работы - это окрытие формы\страницы либо базы, как только база\форма будет закрыта, обработка прервется....
     
  9. proteam

    proteam Well-Known Member

    Регистрация:
    2 мар 2012
    Сообщения:
    144
    Симпатии:
    2
    Этого пока я не знаю. Но думаю веб-сервис будет на моей стороне, который должен запускаться со стороны ИС СКУД. Но вопрос открытый.

    @duchan , да две задачи. АПИ пока не придумано, но какое то решение обязательно будет. Поэтому я пока заранее продумываю вариант, что документ новый о том, что такой то человек зашел у меня уже есть.
    Насчет таймера, думал что на JS будет, я просто такой уже делал, и он показался мне очень простым.
    Я подумал вот о чем. Синхронизация окна охранника с БД у меня будет в виде таймера получается. То есть, теоретически, может произойти что за скажем время срабатывания таймера в БД появились 2 карточки. Ну думаю, ничего страшного не будет, если покажу карточки через время срабатывания таймера.
     
  10. ToxaRat

    ToxaRat Чёрный маг
    Lotus team

    Регистрация:
    6 ноя 2007
    Сообщения:
    3.046
    Симпатии:
    18
    да тут всё просто
    считыватель передаёт данные контроллеру и тот по своей памяти решает пускать или не пускать
    контроллер может быть сетевым если нет, тогда опрашиваем лог на новые значения
    дальше имея событие мы так же имеет номер ИД карты - там чаще всего число
    его вносим в персональные карты в лотусе
    потом имея событие и номер, просто открываем в виде нужный док

    что не так?
     
  11. VladSh

    VladSh начинающий
    Lotus team

    Регистрация:
    11 дек 2009
    Сообщения:
    1.251
    Симпатии:
    2
    Я бы постарался не нагружать Лотус "слушанием", а решил бы обратную задачу: в СКУД происходит событие, и по этому же событию сам же СКУД открывает нужный документ в Лотусе.
     
Загрузка...

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