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