Метод позволяет за один вызов записать документ и запустить документооборот по нему.
Параметры
- 'Document': объект «Документ».
Результат
- Если во вложениях указаны все ссылки и дополнительная загрузка не нужна:
- 'Result': объект «Документ»;
- 'Stat': объект, статистика времени выполнения операции.
- 'Queryld': строка, идентификатор запроса к плагину;
- 'Result': объект «Документ»;
- 'Stat': объект, статистика времени выполнения операции.
Комментарий
Асинхронная загрузка файлов в WriteDocumentEx:
- Входящим параметром является объект «Документ» с массивом вложений вида объект «Файл», который имеет свойства — «ПутькФайлу», «Строка», «ДвоичныеДанные», «Ссылка», «Обработчики».
- Проверяем вложения на наличие ссылок:
- если во всех вложениях есть ссылки, то документ записывается, запускается документооборот, возвращается результат;
- если ссылки указаны не во всех вложениях, вернется ошибка ExtException с кодом 308, сериализованная в строку. В detail ошибки содержится текст «#ASYNC». При этой ошибке плагин загрузит файлы из вложений на СБИС.Диск и добавит недостающие ссылки в объект «Файл». Возможны события от плагина:
- extsdk2.async.progress — прогресс загрузки вложений в виде json-объекта, сериализованного в строку:
- extsdk2.async.error — ошибка, обработка документа немедленно завершается. Ошибка содержит «QueryID» вызываемого метода и «ExtException», сериализованные в строку.
- Когда все ссылки успешно расставлены, плагин создает редакцию документа и производит этап документооборота, указанный в документе. При этом возможны события:
- extsdk2.async.complete — передается в случае успеха, возвращает результат, сериализованный в строку;
- extsdk2.async.error — возвращает в случае ошибки.
Затем выполняется метод СБИС.ЗаписатьДокумент.
Пример успешного вызова
Запрос:
Ответ:
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.