WriteDocumentEx - Расширенный метод создания и отправки документа (ExtSdk2) — различия между версиями
Строка 11: | Строка 11: | ||
### Возвращается результат работы метода с итоговым объектом документ | ### Возвращается результат работы метода с итоговым объектом документ | ||
## Если в объекте Документ не все вложения в объекте имеют свойство Ссылка, то метод возвращает ошибку с текстом #ASYNC и кодом 308, обозначающую, что нужно подождать сообщение от плагина. Плагин загружает вложения на СБИС.Диск и заменяет во всех Вложениях в объекте Файл текущие свойства( Двоичные данные, Путь к файлу, Строка ) на Ссылка. | ## Если в объекте Документ не все вложения в объекте имеют свойство Ссылка, то метод возвращает ошибку с текстом #ASYNC и кодом 308, обозначающую, что нужно подождать сообщение от плагина. Плагин загружает вложения на СБИС.Диск и заменяет во всех Вложениях в объекте Файл текущие свойства( Двоичные данные, Путь к файлу, Строка ) на Ссылка. | ||
+ | ### Во время данного этапа возможны сообщения от плагина о проценте загрузки данных вложений, содержащее qyeryId вызванного изначально метода WriteDocumentEx, чтобы можно было увидеть текущий прогресс. | ||
+ | ###* Событие: объект | ||
+ | ###:: ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине | ||
+ | ###:: ПроцентЗагрузки: строка - ПроцентЗагрузкиВложений | ||
+ | ### В случае ошибки плагин выдает сообщение с ошибкой, содержащее qyeryId вызванного изначально метода WriteDocumentEx. Обработка документа плагином немедленно завершается. | ||
+ | ###* Событие: объект | ||
+ | ###:: ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине | ||
+ | ###:: Ошибка: строка - сообщение об ошибке | ||
+ | # Данный шаг выполняется при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином. | ||
+ | ## Выполняется запись документа через СБИС.ЗаписатьДокумент. | ||
+ | ## Производится выполнение этапа документа оборота, если таковое имеется: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие. | ||
+ | ## При успешном выполнении данных операции плагин пробрасывает сообщение с итоговым объектом документ, содержащее содержащее qyeryId вызванного изначально метода WriteDocumentEx. | ||
+ | ##* Событие: объект | ||
+ | ##:: ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине | ||
+ | ##:: Документ: объект - итоговый объект документ | ||
+ | ## В случае ошибки плагин выдает сообщение с ошибкой, содержащее qyeryId вызванного изначально метода WriteDocumentEx. Обработка документа плагином немедленно завершается. | ||
+ | ##* Событие: объект | ||
+ | ##:: ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине | ||
+ | ##:: Ошибка: строка - сообщение об ошибке | ||
+ | |||
+ | Асинхронная загрузка файлов в WriteDocumentEx. | ||
+ | # Принимае на вход [[Документ_-_Объект_ExtSdk2|объект Документ]] с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод WriteDocument. | ||
+ | # Проверяем вложения на наличие Ссылок | ||
+ | ## Если во всех вложениях ссылки проставленны, то: | ||
+ | ### Выполняем СБИС.ЗаписатьДокумент. | ||
+ | ### Если необходимо действие для документа, то выполняем: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие. | ||
+ | ## Если во вложениях проставлены не все ссылки, то возвращаем ошибки с текстом "#ASYNC" и кодом 308. Она обозначает, что плагин сам проставит недостающие ссылки. Необходимо подождать. | ||
### Во время данного этапа возможны сообщения от плагина о проценте загрузки данных вложений, содержащее qyeryId вызванного изначально метода WriteDocumentEx, чтобы можно было увидеть текущий прогресс. | ### Во время данного этапа возможны сообщения от плагина о проценте загрузки данных вложений, содержащее qyeryId вызванного изначально метода WriteDocumentEx, чтобы можно было увидеть текущий прогресс. | ||
###* Событие: объект | ###* Событие: объект |
Версия 12:14, 16 февраля 2021
Содержание
Описание
Метод позволяет за один вызов записать и запустить документооборот по документу.
Алгоритм работы
Асинхронная загрузка файлов в WriteDocumentEx.
- Метод принимает на вход объект Документ с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод WriteDocument.
- Метод проверяет наличие вложений, не имеющих свойства Ссылка.
- Если в объекте Документ все вложения в объекте файл содержат свойство Ссылка:
- Выполняется запись документа через СБИС.ЗаписатьДокумент.
- Производится выполнение этапа документа оборота, если таковое имеется: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
- Возвращается результат работы метода с итоговым объектом документ
- Если в объекте Документ не все вложения в объекте имеют свойство Ссылка, то метод возвращает ошибку с текстом #ASYNC и кодом 308, обозначающую, что нужно подождать сообщение от плагина. Плагин загружает вложения на СБИС.Диск и заменяет во всех Вложениях в объекте Файл текущие свойства( Двоичные данные, Путь к файлу, Строка ) на Ссылка.
- Во время данного этапа возможны сообщения от плагина о проценте загрузки данных вложений, содержащее qyeryId вызванного изначально метода WriteDocumentEx, чтобы можно было увидеть текущий прогресс.
- Событие: объект
- ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
- ПроцентЗагрузки: строка - ПроцентЗагрузкиВложений
- В случае ошибки плагин выдает сообщение с ошибкой, содержащее qyeryId вызванного изначально метода WriteDocumentEx. Обработка документа плагином немедленно завершается.
- Событие: объект
- ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
- Ошибка: строка - сообщение об ошибке
- Во время данного этапа возможны сообщения от плагина о проценте загрузки данных вложений, содержащее qyeryId вызванного изначально метода WriteDocumentEx, чтобы можно было увидеть текущий прогресс.
- Если в объекте Документ все вложения в объекте файл содержат свойство Ссылка:
- Данный шаг выполняется при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином.
- Выполняется запись документа через СБИС.ЗаписатьДокумент.
- Производится выполнение этапа документа оборота, если таковое имеется: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
- При успешном выполнении данных операции плагин пробрасывает сообщение с итоговым объектом документ, содержащее содержащее qyeryId вызванного изначально метода WriteDocumentEx.
- Событие: объект
- ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
- Документ: объект - итоговый объект документ
- В случае ошибки плагин выдает сообщение с ошибкой, содержащее qyeryId вызванного изначально метода WriteDocumentEx. Обработка документа плагином немедленно завершается.
- Событие: объект
- ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
- Ошибка: строка - сообщение об ошибке
Асинхронная загрузка файлов в WriteDocumentEx.
- Принимае на вход объект Документ с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод WriteDocument.
- Проверяем вложения на наличие Ссылок
- Если во всех вложениях ссылки проставленны, то:
- Выполняем СБИС.ЗаписатьДокумент.
- Если необходимо действие для документа, то выполняем: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
- Если во вложениях проставлены не все ссылки, то возвращаем ошибки с текстом "#ASYNC" и кодом 308. Она обозначает, что плагин сам проставит недостающие ссылки. Необходимо подождать.
- Во время данного этапа возможны сообщения от плагина о проценте загрузки данных вложений, содержащее qyeryId вызванного изначально метода WriteDocumentEx, чтобы можно было увидеть текущий прогресс.
- Событие: объект
- ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
- ПроцентЗагрузки: строка - ПроцентЗагрузкиВложений
- В случае ошибки плагин выдает сообщение с ошибкой, содержащее qyeryId вызванного изначально метода WriteDocumentEx. Обработка документа плагином немедленно завершается.
- Событие: объект
- ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
- Ошибка: строка - сообщение об ошибке
- Во время данного этапа возможны сообщения от плагина о проценте загрузки данных вложений, содержащее qyeryId вызванного изначально метода WriteDocumentEx, чтобы можно было увидеть текущий прогресс.
- Если во всех вложениях ссылки проставленны, то:
- Данный шаг выполняется при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином.
- Выполняется запись документа через СБИС.ЗаписатьДокумент.
- Производится выполнение этапа документа оборота, если таковое имеется: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
- При успешном выполнении данных операции плагин пробрасывает сообщение с итоговым объектом документ, содержащее содержащее qyeryId вызванного изначально метода WriteDocumentEx.
- Событие: объект
- ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
- Документ: объект - итоговый объект документ
- В случае ошибки плагин выдает сообщение с ошибкой, содержащее qyeryId вызванного изначально метода WriteDocumentEx. Обработка документа плагином немедленно завершается.
- Событие: объект
- ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
- Ошибка: строка - сообщение об ошибке
Параметры
- Document ! (объект) - объект Документ
Результат
- Result (объект) -
- QueryId (строка) - Идентификатор запроса в плагин
- ResultDocument (объект) - объект Документ
- Stat (объект) - статистика времени выполнения операции