Присоединяйтесь!

Обработать входящие документы в API

Обработать входящие документы в API

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

Для обработки входящих первичных документов в ИС сохраняйте идентификатор этапа документооборота («Документ.Этап.Идентификатор»). Его можно получить при загрузке первичной или последующих редакций документа. Идентификатор передавайте при выполнении действий над документом, например, «Утверждение» или «Отклонение».

По умолчанию все вложения документа обрабатываются одновременно (пакетная обработка). Чтобы обработать каждое вложение отдельно, передайте в поле «ДопПоля» значение «СложноеУтверждение» и добавьте идентификаторы файлов в список «Вложение» (если они в этом списке отсутствуют). Таким образом часть вложений можно утвердить, а часть отклонить или аннулировать.

  1. Выполните обработку служебных этапов для регламента ЭДО, который предусматривает ответы на извещения:
  2. Синхронизируйте состояния документаДокумент.Состояние.Код»), если ваша ИС не хранит или не синхронизирует информацию об этапах и действиях по входящим документам. Для этого прочитайте документ с помощью команды «СБИС.ПрочитатьДокумент». Адресация выполняется по идентификатору документаДокумент.Идентификатор») или идентификатору редакции («Документ.Редакция.Идентификатор»).
  3. Выберите этап и действие, с помощью которых выбранный этап согласования будет завершен («Документ.Этап.Идентификатор», « Документ.Этап.Действие.Название»).
  4. Подготовьте вложения документов. Это можно сделать в СБИС или в сторонней информационной системе.
В СБИС
В СБИС
В сторонней ИС
В сторонней ИС

    Подготовьте xml-вложения документа с помощью команды «СБИС.ПодготовитьДействие». В запросе передайте информацию об этапе, действии этапа, подписанте или выбранном сертификате. Сервер сформирует ответные титулы и служебные документы.

    При утверждении документа с любым количеством вложений генерируется:

    • ответный титул для каждого вложения, которое требует ответный титул;
    • один общий документ «Уведомление об утверждении».

    При отклонении документа с любым количеством вложений генерируется отдельный документ «Уведомление об отклонении» на каждое вложение.

  1. Подпишите документы в СБИС.
  2. Чтобы повторить этап утверждения для входящего документа, используйте команду «СБИС.ПовторитьЭтап».

    Cформируйте xml-представление ответных титулов и служебных документов либо вызовите «СБИС.ПодготовитьДействие». В запросе укажите информацию об этапе, действии этапа и подписанте.

  1. С помощью HTTP GET-запроса по адресу в «Документ.Вложение.Файл.Ссылка» загрузите в вашу ИС сгенерированные ответные титулы и служебные вложения. Проверьте и скорректируйте их, если это необходимо.

    Внимание!

    При самостоятельной генерации уведомления о приеме/отклонении используйте московское время. При записи на сервер проверяется время в теле xml-вложения. Если время будет более раннее, чем время фактического создания (получения) документа на сервере, то сформируется ошибка, а событие останется необработанным.

  2. Подпишите документы в вашей ИС. Если служебные вложения формируются в вашей ИС:
    • Вызовите метод «СБИС.ПодготовитьДействие». СБИС сформирует вложения и вернет список на подписание.
    • Извлеките идентификаторы сгенерированных вложений («Документ.Вложение.Идентификатор»). Используйте их при отправке команды «СБИС.ВыполнитьДействие» и загрузке вложений. Сформированные служебные вложения на online.sbis.ru будут заменены вашими.
    • Не передавайте поля «Вложение.СсылкаНаФайл» и «Вложение.ДвоичныеДанные» для вложений, которые не требуют замены. Если ссылка ведет на то же самое вложение — она будет проигнорирована. Во всех остальных случаях будет либо создана новая версия для подписанного вложения, либо неподписанное вложение перезапишется.
    При вызове СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие для этапов, которые ведут к отправке ответа «утверждено»/«отклонено»/«запрос аннулирования», допускается обрабатывать отдельные файлы.
  3. Вариант без вызова «СБИС.ПодготовитьДействие» допускается, но не рекомендуется. В этом случае вам нужно самостоятельно сформировать необходимые по регламенту в СБИС документы и подписи (при локальном подписании) или реквизиты сертификата (при серверном подписании неквалифицированным сертификатом). После этого их нужно передать командой «СБИС.ВыполнитьДействие».

  4. Чтобы повторить этап утверждения для входящего документа, используйте команду «СБИС.ПовторитьЭтап».

Пример утверждения всех файлов входящего документа

Пример отклонения всех файлов входящего документа

Пример обработки входящего заказа с подменой подтверждения

Пример записи документа с запретом раздельного утверждения

Пример раздельного отклонения документа

Пример раздельного утверждения документа

Пример раздельного аннулирования документа

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.