Отправка документов - Сценарии ExtSdk2

Материал из razgovorov.ru
Перейти к: навигация, поиск

В СБИС отправка документов похожа на отправку письма электронной почты. Т.е. вы формируете письмо (пакет = комплект электронных документов = объект API документ) указываете от кого куму собираетесь отправить, заполняете тему письма (набор вспомогательных реквизитов - тип документа, регламент документооборота и т.п.), прикладываете к нему вложения (электронные документы) и нажимаете отправить. В зависимости от содержимого вашего письма и настроек СБИС дополнительно может потребоваться подписать или зашифровать вложения перед отправкой.

Поскольку многие информационные системы появилось задолго до электронного документооборота, то для тех их них которые не умеют работать с JSON, BASE64, криптографией, шифрованием, HTTPS или делают это недостаточно эффективно – например работают исключительно синхронно (последовательно) в ExtSdk2 имеется набор вспомогательных инструментов помогающий решить эти проблемы.

Отправка любого комплекта документов в СБИС (запуск в документооборот) состоит из 3 этапов:

  • Запись документа в СБИС – на данном этапе в СБИС записываются все необходимые данные, файлов может быть много или они могут быть большие, поэтому эта операция может выполнятся за один или несколько вызовов.
  • Подготовка действия – на данном этапе вы говорите СБИС, какое действие хотите сделать с документом, СБИС проверяет достаточность данных, выполняет вспомогательные операции (например дописывает в документы идентификаторы участников документооборота, переименовывает вложения в соответствии с требованиями формата), конвертирует XML в PDF для контрагентов в роуминге, определяет какие файлы необходимо подписать, какой подписью и в каком формате это требуется сделать. Данный этап является не обязательным и его можно пропустить в случаях если информационная система реализовала на своей стороне всю необходимую логику работы и её не требуется помощь.
  • Выполнение действия на этом этапе в СБИС выполняет требуемую операцию (в нашем случае отправку), кроме этого на этом этапе в СБИС как правило загружаются подписи и недостающие файлы.

Для каждого из выше перечисленных этапов в ExtSdk2 есть отдельный методы, которые можно использовать для интеграции ( WriteDocument, PrepareAction, ExecuteAction. Дополнительно для облегчения интеграции в ExtSdk2 реализованы комплексные методы выполняющие несколько операций за один вызов. Например WriteDocumentEx выполняет WriteDocument + PrepareAction+ ExecuteAction.

Запись документа в СБИС

Результатом данной операции является созданный в одном из реестров СБИС объект Документ – карточка документа. Основными реквизитами Документа СБИС, определяющими его поведение в системе и атрибутный состав являются свойства «Тип» и «Регламент». Кроме этого к любому документу СБИС может быть прикреплено не ограниченное количество вложений (файлов) это могут быть как формализованные так и не формализованные документы любого размера. Загружать файлы вложения можно двумя способами:

Либо вызвав для каждого вложения отдельный метод записи Attachment.Write, либо передав данные вложения в метод записи документа Document.Write.

Отправка нескольких электронных комплектов документов с формированием вложений по данным ИС

На входе имеем список внутренних идентификаторов документов, на основании которых хотим сформировать комплекты электронных документов для отправки и идентификатор настроек описывающих правила формирования пакета (комплекта) электронных документов. Нам требуется для каждого идентификатора сформировать комплект электронных документов, загрузить и запустить его в документооборот СБИС, при необходимости выполнив операции подписания и шифрования.

Отправка нескольких электронных комплектов документов без формирования вложений

На входе имеем список объектов «Документ» подлежащих отправке и набор относящихся к ним файлов вложений в каталоге. Нам требуется загрузить и запустить его в документооборот СБИС, при необходимости выполнив операции подписания и шифрования.