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