СБИС формирует событие на любое изменение по документу — отправка, получение, подтверждения получения, получение ответа, перевод на другой этап внутреннего документооборота, получение информации из гос системы.
Любая автоматическая обработка документов СБИС, например, обновление статусов у исходящих или автоматическая загрузка входящих, должна строится на вызове метода СБИС.СписокИзменений. Метод постранично возвращает список событий, которые произошли в СБИС с момента его последнего вызова. Последовательно вызывайте метод до тех пор, пока он не вернет пустой список. Для получения следующей страницы нужно передавать идентификатор и дату/время последнего обработанного события из предыдущего вызова.
Дата и время последнего обработанного события передается для тех случаев, когда по идентификатору не удается найти событие, например если документ удален из корзины. Тогда будут переданы события начиная с момента удаления, что потенциально ведет к возможной повторной выгрузке событий за эту секунду.
Внимание!
События возвращаются не в хронологическом порядке.
СБИС передает много разных событий, игнорируйте неизвестные или не интересующие вас. Уменьшить количество поступающих событий можно при помощи фильтра.
Код обработки событий должен удовлетворять требованиям:
- корректная работа при повторной обработке события;
- игнорирование/пропуск неизвестных событий.
В ExtSDK2 СБИС.СписокИзменений вызывается через CallSabyApi.
Ознакомьтесь с документацией по API о получении документов и проверки их состояния.