Изменения в документообороте по входящим документам отражаются в наборе событий. События возвращаются возвращаются в результате выполнения команды «СБИС.СписокИзменений».
Например, при поступлении входящего документа сервером online.sbis.ru было сгенерировано событие «Получение». Нужно загрузить все входящие вложения (первичные и служебные) и сохранить под каждым вложением связанные с этим событием ЭП.
- Выполните команду «СБИС.СписокИзменений», чтобы получить список измененных документов, по которым произошли события документооборота в СБИС.
- Если получено событие:
- не по входящему или исходящему документу («Документ.Направление»≠«Входящий»/«Исходящий») — пропустите его;
- с извещением об удалении документа противоположной стороной («Документ.Событие.Название»=«Уведомление об удалении на стороне отправителя») — остановите документооборот и пометьте документ в вашей ИС как удаленный;
- с запросом на аннулирование («Документ.Событие.Название»=«Получение соглашения об аннулировании») — предусмотрите в вашей системе возможность ответа. Для этого добавьте в систему возможность запросить ответственного по документу на подтверждение/отклонение аннулирования;
- со значением поля «Документ.Событие.Название» отличными от «Получение» — пропустите его.
- Убедитесь, что ваша система поддерживает версионность документов (несколько редакций).
- С помощью поля «Документ.Идентификатор» выполните поиск и определите наличие предыдущих редакций документа в вашей системе.
- Если редакции найдены, пометьте их как неактуальные. При необходимости, синхронизируйте состояния редакции документа в вашей системе и СБИС с помощью «СБИС.ПрочитатьДокумент» с адресацией по полю «Документ.Редакция.Идентификатор».
- Зарегистрируйте новую редакцию документа по полю «Документ.Редакция.Идентификатор».
- С помощью поля «Документ.Идентификатор» выполните поиск и определите наличие документа в вашей системе. Если документ есть, переместите его в архив.
- Если редакция:
- неактуальна («Документ.Редакция.Актуален»=«Нет») — пропустите обработку;
- актуальна («Документ.Редакция.Актуален»=«Да») — зарегистрируйте документ, как новый входящий.
- Загрузите вложения входящего документа в вашу информационную систему.
- Получите и сохраните в локальный архив содержимое входящих вложений («Документ.Событие.Вложение.Направление»=«Входящий»), которые ассоциированны с событием:
- «Документ.Событие.Вложение.Служебный»=«Нет» — для первичных вложений;
- «Документ.Событие.Вложение.Служебный»=«Да» — для служебных вложений.
- Получите и сохраните в локальный архив содержимое ЭП, которые ассоциированы с вложениями события:
- «Документ.Событие.Вложение.Направление»=«Входящий» — под входящими вложениями;
- «Документ.Событие.Вложение.Файл.Ссылка» пустая, «Документ.Событие.Вложение.Подпись.Файл.Ссылка» заполненная — под вложениями, по которым есть входящие подписи.
- Получите и сохраните в локальный архив содержимое входящих вложений («Документ.Событие.Вложение.Направление»=«Входящий»), которые ассоциированны с событием:
Комментарий
С событием может быть ассоциирована одна или несколько ЭП («Документ.Вложение.Ссылка» — пустая, а «Документ.Вложение.Подпись.Ссылка» — не пустая). Это означает, например, отправку подписи под первичным документом при утверждении.
Чтобы получить содержимое вложения, выполните GET-запрос по URL-адресу в поле «Документ.Событие.Вложение.Ссылка».
Для получения содержимого ЭП, выполните GET-запрос по URL-адресу в поле «Документ.Событие.Вложение.Подпись.Ссылка».
«Документ.Состояние» описывает состояние для редакции, по которой зарегистрировано событие. Учитывайте это при обработке события.
Описанные алгоритмы работы могут не охватывать все возможные действия, которые нужны для полноценной интеграции вашей ИС.
Лицензия
Тарифы «Обмен с контрагентами» и «Внедрение ЭДО» сервиса «Электронный документооборот».