Обработка событий - Сценарии ExtSdk2

Материал из razgovorov.ru
Версия от 09:03, 25 мая 2021; Разговоров Михаил (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

СБИС на любое изменение по документу (отправка, получение подтверждения получения, получение ответа, перевод на другой этап внутреннего документооборота, получение информации из гос системы) формирует событие.

Любая автоматическая обработка документов СБИС (например обновление статусов у исходящих, или автоматическая загрузка входящих) должна строится на вызове метода СБИС.СписокИзменений . Данный метод постранично возвращает список событий произошедших в СБИС с момента его последнего вызова. Предполагается последовательный вызов данного метода до тех пор пока он не вернет пустой список. Для получения следующей страницы требуется передавать идентификатор и дату время последнего обработанного события из предыдущего вызова.


Дата и время последнего обработанного события передается для тех случаев, когда по идентификатору не удастся найти событие например из-за удаления документа из корзины. В этом случае будут переданы события начиная с этого времени, что потенциально ведет к возможной повторной выгрузке ранее выгруженных событий за эту секунду.

Важно. События возвращаются не в хронологическом порядке.

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

Код обработки событий должен удовлетворять следующим требованиям:

  • корректная работа при повторной обработке ранее обработанного события
  • игнорирование / пропуск не известных событий

В ExtSDK2 вызов СБИС.СписокИзменений делается через CallSabyApi . Для более детальной информации ознакомьтесь с документацией по API Получить документы и проверить их состояние в API.


Обновление статуса раннее отправленного документа

Поскольку события поступают не в хронологическом порядке, а так же возможно повторное получение событий и редакций документа, определение текущего статуса документа становится сложной задачей. СБИС предлагает простое решение данной проблемы, с любым событием возвращается текущее состояние документа и его активный этап.