Документооборот можно настроить так, чтобы на отдельном служебном этапе формировалось, подписывалось и отправлялось извещение о получении документов.
При запуске документа с любым количеством вложений генерируется общее подтверждение о получении оператором и отдельное извещение на каждое вложение.
Служебные документы могут создаваться:
- на online.sbis.ru — документы создаются автоматически. Гарантируется правильность заполнения, соответствие формата документов законодательству и регламенту документооборота;
- во внешней системе — отслеживать актуальность форматов документов нужно самостоятельно.
Алгоритм работы
- Вызовите метод «СБИС.ИнформацияОСлужебныхЭтапах». В ответе вернется массив со списком наших организаций, по которым нужно обработать служебные документы.
- Обработайте служебные документы для каждой организации, которая была возвращена командой:
- В цикле выполните запрос «СБИС.СписокСлужебныхЭтапов». На вход передайте «Фильтр.Наша.Организация». В ответе вернется список документов с информацией о служебных этапах на обработку. Если список пуст, перейдите к следующей организации.
- Обработайте служебный этап с помощью «СБИС.ПодготовитьДействие» и «СБИС.ВыполнитьДействие».
Подпишите документы.
В СБИСВ СБИСВ вашей ИСВ вашей ИС- Выберите подписанта (сертификат для подписания) и вызовите «СБИС.ПодготовитьДействие». На вход передайте информацию:
- об этапе — в поле «Документ.Этап.Идентификатор» или «Документ.Этап.Название»,
- действии этапа — в поле «Документ.Этап.Действие.Название»,
- реквизиты подписанта — в объекте «Документ.Этап.Действие.Сертификат».
- Скачайте с сервера измененные и сформированные вложения. Это можно сделать с помощью отправки HTTP GET-запроса по URL-адресу в поле «Документ.Этап.Вложение.Файл.Ссылка». Скачать можно вложения со значением поля «Документ.Этап.Вложение.Модифицирован» = «Да».
- Сформируйте электронные подписи под каждым вложением, которое требует подписания («Документ.Этап.Вложение.ТребуетПодписания» = «Да»).
- Рассчитайте криптографический хеш вложения или воспользуйтесь значением в поле «Документ.Этап.Вложение.Файл.Хеш» (возвращается в кодировке Base64).
- По криптографическому хешу сформируйте ЭП.
- Отправьте документ с помощью команды «СБИС.ВыполнитьДействие». В результате будет передана информация об этапе, его действии и идентификаторы вложений.
- Сформируйте электронные подписи под каждым вложением, которое требует подписания («Документ.Этап.Вложение»).
- Рассчитайте криптографический хеш вложения или воспользуйтесь переданным значением в поле «Документ.Этап.Вложение.Файл.Хеш» (возвращается в кодировке Base64).
- По криптографическому хешу сформируйте ЭП.
- Отправьте документ с помощью команды «СБИС.ВыполнитьДействие». В результате выполнения будет передана информация об этапе, его действии и идентификаторы вложений.
- Выберите подписанта (сертификат для подписания) и вызовите «СБИС.ПодготовитьДействие». На вход передайте информацию:
Рекомендации для максимальной производительности
- Распараллельте запросы метода «СБИС.СписокСлужебныхЭтапов» по разным «нашим организациям». Документы из полученных списков обрабатывайте параллельно. Вызовы «СБИС.ПодготовитьДействие» и «СБИС.ВыполнитьДействие» по одному документу должны выполняться последовательно.
Число одновременных запросов от одного пользователя не должно превышать 10. - Не допускайте одновременной обработки служебных этапов из разных точек (ваша ИС, личный кабинет, СБИС Коннект и другие) от пользователей, у которых пересекаются права или области видимости по «нашим организациям» или документам.
Решение проблем
- «Событие обрабатывается другим процессом» (код «00000000-0000-0000-0000-1FA0000B0002») или «Действие уже обработано» (код «00000000-0000-0000-0000-1FA0000B0001») указывают на неверную настройку или интеграцию. Чтобы исправить ошибку:
- Распределите пользователей по областям видимости или «нашим организациям».
- Укажите конкретного сотрудника в поле «Получение документов подтверждает» в личном кабинете, в карточке каждой нашей организации.
- Проверьте наличие доступа у пользователя к собственному или делегированному ключу ЭП.
- «Ошибка установки значимых дат на событии» (код «00000000-0000-0000-0000-1FA0000B0000») — время в теле xml-вложения документа меньше времени его фактического создания (получения). Используйте московское время при генерации извещений в вашей системе.
Если при обработке извещения на сервере появляется ошибка, выдача этого события в методе «СБИС.СписокСлужебныхЭтапов» для текущей сессии приостанавливается. При повторении ошибок интервал приостановки увеличивается по экспоненте, с начальным шагом 10 минут после каждой ошибки.
Чтобы получить приостановленные события конкретного документа или редакции, вызовите метод «СБИС.СписокСлужебныхЭтапов» и передайте в нем идентификатор документа или редакции документа. События вернутся без учета предыдущих ошибок и приостановок.
Комментарий
- В контейнер с ЭП из вашей системы на стороне online.sbis.ru может быть добавлена техническая информация, которая не изменяет юридической значимости ЭП.
- Если при обработке извещения на сервере появляется ошибка, выдача этого события в методе «СБИС.СписокСлужебныхЭтапов» для текущей сессии приостанавливается. При повторении ошибок интервал приостановки увеличивается по экспоненте, с начальным шагом 10 минут после каждой ошибки.
Для получения приостановленных событий конкретного документа или редакции вызовите метод «СБИС.СписокСлужебныхЭтапов» и передайте в нем идентификатор документа или редакции документа. События вернутся без учета предыдущих ошибок и приостановок. - Если служебные вложения формируются в вашей ИС, мы рекомендуем вызывать метод «СБИС.ПодготовитьДействие». В этом случае online.sbis.ru генерирует служебные вложения и возвращает их в списке на подписание. Извлеките идентификаторы сформированных вложений («Документ.Этап.Вложение.Идентификатор»). Используйте их при добавлении вложений и отправке команды «СБИС.ВыполнитьДействие». Это позволит заменить сгенерированные online.sbis.ru вложения на ваши.
- Команда «СБИС.СписокСлужебныхЭтапов» возвращает только один служебный этап по одному и тому же документу, даже если этапов несколько.