WriteDocumentEx

WriteDocumentEx

Метод позволяет за один вызов записать документ и запустить документооборот по нему.

Параметры

Результат

  1. Если во вложениях указаны все ссылки и дополнительная загрузка не нужна:
    • 'Result': объект «Документ»;
    • 'Stat': объект, статистика времени выполнения операции.
    • 'Queryld': строка, идентификатор запроса к плагину;
    • 'Result': объект «Документ»;
    • 'Stat': объект, статистика времени выполнения операции.

Комментарий

Асинхронная загрузка файлов в WriteDocumentEx:

  1. Входящим параметром является объект «Документ» с массивом вложений вида объект «Файл», который имеет свойства — «ПутькФайлу», «Строка», «ДвоичныеДанные», «Ссылка», «Обработчики».
  2. Проверяем вложения на наличие ссылок:
    • если во всех вложениях есть ссылки, то документ записывается, запускается документооборот, возвращается результат;
    • если ссылки указаны не во всех вложениях, вернется ошибка ExtException с кодом 308, сериализованная в строку. В detail ошибки содержится текст «#ASYNC». При этой ошибке плагин загрузит файлы из вложений на СБИС.Диск и добавит недостающие ссылки в объект «Файл». Возможны события от плагина:
      • extsdk2.async.progress — прогресс загрузки вложений в виде json-объекта, сериализованного в строку:
      • extsdk2.async.error — ошибка, обработка документа немедленно завершается. Ошибка содержит «QueryID» вызываемого метода и «ExtException», сериализованные в строку.
  3. Когда все ссылки успешно расставлены, плагин создает редакцию документа и производит этап документооборота, указанный в документе. При этом возможны события:
    • extsdk2.async.complete — передается в случае успеха, возвращает результат, сериализованный в строку;
    • extsdk2.async.error — возвращает в случае ошибки.

Затем выполняется метод СБИС.ЗаписатьДокумент.

Пример успешного вызова

Запрос:

Ответ:

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.