WriteDocumentEx - Расширенный метод создания и отправки документа (ExtSdk2) — различия между версиями
Строка 17: | Строка 17: | ||
## При успешном выполнении данных операций плагин выдает сообщение с итоговым объектом документ. См. "Результат" | ## При успешном выполнении данных операций плагин выдает сообщение с итоговым объектом документ. См. "Результат" | ||
## В случае ошибки плагин выдает соответствующее сообщение. | ## В случае ошибки плагин выдает соответствующее сообщение. | ||
+ | |||
+ | |||
+ | Асинхронная загрузка файлов в WriteDocumentEx. | ||
+ | # Принимаем на вход [[Документ_-_Объект_ExtSdk2|объект Документ]] с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод [[WriteDocument_-_создает_/_обновляет_Документ_(ExtSdk2)|WriteDocument]]. | ||
+ | # Проверяем вложения на наличие Ссылок | ||
+ | ## Если во всех вложениях ссылки проставлены, то записываем документ, запускаем его в документооборот и возвращаем "Результат" | ||
+ | ## Если во вложениях проставлены не все ссылки, то возвращаем ошибку с текстом "#ASYNC" и кодом 308. См. "Исключения" №1. Она обозначает, что плагин сам проставит недостающие ссылки. Необходимо подождать. | ||
+ | ### Во время данного этапа возможны сообщения от плагина о проценте обработки вложений. | ||
+ | * {{Шаблон:ApiParam|QueryId||строка| Идентификатор запроса в плагин}} | ||
+ | * {{Шаблон:ApiParam|ProcentLoading||строка| Процент загрузки документа}} | ||
+ | ### В случае ошибки плагин выдает соответствующее сообщение. Обработка документа плагином немедленно завершается. См. "Исключения" №2 | ||
+ | # Данный шаг выполняем при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином. | ||
+ | ## Записываем документ, запускаем его в документооборот и возвращаем: | ||
+ | * {{Шаблон:ApiParam|QueryId||строка| Идентификатор запроса в плагин}} | ||
+ | * {{Шаблон:ApiParam|Result||объект| [[Документ_-_Объект_ExtSdk2|объект Документ]]}} | ||
+ | * {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}} | ||
+ | ## В случае ошибки плагин выдает соответствующее сообщение. См. "Исключения" №2 | ||
== Параметры == | == Параметры == | ||
* {{Шаблон:ApiParam|Document|1|объект| [[Документ_-_Объект_ExtSdk2|объект Документ]]}} | * {{Шаблон:ApiParam|Document|1|объект| [[Документ_-_Объект_ExtSdk2|объект Документ]]}} | ||
== Результат == | == Результат == | ||
− | |||
* {{Шаблон:ApiParam|Result||объект| [[Документ_-_Объект_ExtSdk2|объект Документ]]}} | * {{Шаблон:ApiParam|Result||объект| [[Документ_-_Объект_ExtSdk2|объект Документ]]}} | ||
* {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}} | * {{Шаблон:ApiParam|Stat||объект|[[Stat_-_ExtSdk2_Объект|статистика времени выполнения операции]]}} | ||
== Исключения == | == Исключения == | ||
+ | # Сообщение об ошибке с текстом "#ASYNC" и кодом 308 | ||
+ | # Сообщение об ошибке с QueryID | ||
+ | * {{Шаблон:ApiParam|QueryId||строка| Идентификатор запроса в плагин}} | ||
+ | * {{Шаблон:ApiParam|Error||строка| Сообщение об ошибке}} | ||
== Пример успешного вызова == | == Пример успешного вызова == |
Версия 07:59, 18 февраля 2021
Содержание
Описание
Метод позволяет за один вызов записать и запустить документооборот по документу.
Алгоритм работы
Асинхронная загрузка файлов в WriteDocumentEx.
- Принимаем на вход объект Документ с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод WriteDocument.
- Проверяем вложения на наличие Ссылок
- Если во всех вложениях ссылки проставлены, то:
- Выполняем СБИС.ЗаписатьДокумент.
- Если необходимо действие для документа, то выполняем: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
- Если во вложениях проставлены не все ссылки, то возвращаем ошибку с текстом "#ASYNC" и кодом 308. Она обозначает, что плагин сам проставит недостающие ссылки. Необходимо подождать.
- Во время данного этапа возможны сообщения от плагина о проценте обработки вложений.
- В случае ошибки плагин выдает соответствующее сообщение. Обработка документа плагином немедленно завершается.
- Если во всех вложениях ссылки проставлены, то:
- Данный шаг выполняем при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином.
- Выполняем запись документа через СБИС.ЗаписатьДокумент.
- Если необходимо действие для документа, то выполняем: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
- При успешном выполнении данных операций плагин выдает сообщение с итоговым объектом документ. См. "Результат"
- В случае ошибки плагин выдает соответствующее сообщение.
Асинхронная загрузка файлов в WriteDocumentEx.
- Принимаем на вход объект Документ с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод WriteDocument.
- Проверяем вложения на наличие Ссылок
- Если во всех вложениях ссылки проставлены, то записываем документ, запускаем его в документооборот и возвращаем "Результат"
- Если во вложениях проставлены не все ссылки, то возвращаем ошибку с текстом "#ASYNC" и кодом 308. См. "Исключения" №1. Она обозначает, что плагин сам проставит недостающие ссылки. Необходимо подождать.
- Во время данного этапа возможны сообщения от плагина о проценте обработки вложений.
- QueryId (строка) - Идентификатор запроса в плагин
- ProcentLoading (строка) - Процент загрузки документа
- В случае ошибки плагин выдает соответствующее сообщение. Обработка документа плагином немедленно завершается. См. "Исключения" №2
- Данный шаг выполняем при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином.
- Записываем документ, запускаем его в документооборот и возвращаем:
- QueryId (строка) - Идентификатор запроса в плагин
- Result (объект) - объект Документ
- Stat (объект) - статистика времени выполнения операции
- В случае ошибки плагин выдает соответствующее сообщение. См. "Исключения" №2
Параметры
- Document ! (объект) - объект Документ
Результат
- Result (объект) - объект Документ
- Stat (объект) - статистика времени выполнения операции
Исключения
- Сообщение об ошибке с текстом "#ASYNC" и кодом 308
- Сообщение об ошибке с QueryID
- QueryId (строка) - Идентификатор запроса в плагин
- Error (строка) - Сообщение об ошибке