WriteDocumentEx - Расширенный метод создания и отправки документа (ExtSdk2) — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
Строка 3: Строка 3:
  
 
== Алгоритм работы ==  
 
== Алгоритм работы ==  
Асинхронная загрузка файлов в WriteDocumentEx.
 
# Метод принимает на вход [[Документ_-_Объект_ExtSdk2|объект Документ]] с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод WriteDocument.
 
# Метод проверяет наличие вложений, не имеющих свойства Ссылка.
 
## Если в объекте Документ все вложения в объекте файл содержат свойство Ссылка:
 
### Выполняется запись документа через СБИС.ЗаписатьДокумент.
 
### Производится выполнение этапа документа оборота, если таковое имеется: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
 
### Возвращается результат работы метода с итоговым объектом документ
 
## Если в объекте Документ не все вложения в объекте имеют свойство Ссылка, то метод возвращает ошибку с текстом #ASYNC и кодом 308, обозначающую, что нужно подождать сообщение от плагина. Плагин загружает вложения на СБИС.Диск и заменяет во всех Вложениях в объекте Файл текущие свойства( Двоичные данные, Путь к файлу, Строка ) на Ссылка.
 
### Во время данного этапа возможны сообщения от плагина о проценте загрузки данных вложений, содержащее qyeryId вызванного изначально метода WriteDocumentEx, чтобы можно было увидеть текущий прогресс.
 
###* Событие: объект
 
###:: ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
 
###:: ПроцентЗагрузки: строка - ПроцентЗагрузкиВложений
 
### В случае ошибки плагин выдает сообщение с ошибкой, содержащее qyeryId вызванного изначально метода WriteDocumentEx. Обработка документа плагином немедленно завершается.
 
###* Событие: объект
 
###:: ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
 
###:: Ошибка: строка - сообщение об ошибке
 
# Данный шаг выполняется при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином.
 
## Выполняется запись документа через СБИС.ЗаписатьДокумент.
 
## Производится выполнение этапа документа оборота, если таковое имеется: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
 
## При успешном выполнении данных операции плагин пробрасывает сообщение с итоговым объектом документ, содержащее содержащее qyeryId вызванного изначально метода WriteDocumentEx.
 
##* Событие: объект
 
##:: ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
 
##:: Документ: объект - итоговый объект документ
 
## В случае ошибки плагин выдает сообщение с ошибкой, содержащее qyeryId вызванного изначально метода WriteDocumentEx. Обработка документа плагином немедленно завершается.
 
##* Событие: объект
 
##:: ИдВыполняемогоМетода: строка - ИдентификаторМетодаВПлагине
 
##:: Ошибка: строка - сообщение об ошибке
 
 
 
 
 
Асинхронная загрузка файлов в WriteDocumentEx.
 
Асинхронная загрузка файлов в WriteDocumentEx.
 
# Принимаем на вход [[Документ_-_Объект_ExtSdk2|объект Документ]] с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод [[WriteDocument_-_создает_/_обновляет_Документ_(ExtSdk2)|WriteDocument]].
 
# Принимаем на вход [[Документ_-_Объект_ExtSdk2|объект Документ]] с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод [[WriteDocument_-_создает_/_обновляет_Документ_(ExtSdk2)|WriteDocument]].
Строка 41: Строка 11:
 
## Если во вложениях проставлены не все ссылки, то возвращаем ошибку с текстом "#ASYNC" и кодом 308. Она обозначает, что плагин сам проставит недостающие ссылки. Необходимо подождать.
 
## Если во вложениях проставлены не все ссылки, то возвращаем ошибку с текстом "#ASYNC" и кодом 308. Она обозначает, что плагин сам проставит недостающие ссылки. Необходимо подождать.
 
### Во время данного этапа возможны сообщения от плагина о проценте обработки вложений.
 
### Во время данного этапа возможны сообщения от плагина о проценте обработки вложений.
### В случае ошибки плагин выдает сообщение с ошибкой. Обработка документа плагином немедленно завершается.
+
### В случае ошибки плагин выдает соответствующее сообщение. Обработка документа плагином немедленно завершается.
 
# Данный шаг выполняем при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином.  
 
# Данный шаг выполняем при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином.  
 
## Выполняем запись документа через СБИС.ЗаписатьДокумент.  
 
## Выполняем запись документа через СБИС.ЗаписатьДокумент.  
 
## Если необходимо действие для документа, то выполняем: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
 
## Если необходимо действие для документа, то выполняем: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
 
## При успешном выполнении данных операций плагин выдает сообщение с итоговым объектом документ. См. "Результат"
 
## При успешном выполнении данных операций плагин выдает сообщение с итоговым объектом документ. См. "Результат"
## В случае ошибки плагин выдает сообщение с ошибкой.
+
## В случае ошибки плагин выдает соответствующее сообщение.
 
    
 
    
 
== Параметры ==
 
== Параметры ==

Версия 14:30, 16 февраля 2021

Описание

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

Алгоритм работы

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

  1. Принимаем на вход объект Документ с массивом вложений вида объект Файл со свойствами: Путь к файлу, Строка, Двоичные данные, Ссылка, Обработчики. Дополнительные данные по текущим свойствам см.метод WriteDocument.
  2. Проверяем вложения на наличие Ссылок
    1. Если во всех вложениях ссылки проставлены, то:
      1. Выполняем СБИС.ЗаписатьДокумент.
      2. Если необходимо действие для документа, то выполняем: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
    2. Если во вложениях проставлены не все ссылки, то возвращаем ошибку с текстом "#ASYNC" и кодом 308. Она обозначает, что плагин сам проставит недостающие ссылки. Необходимо подождать.
      1. Во время данного этапа возможны сообщения от плагина о проценте обработки вложений.
      2. В случае ошибки плагин выдает соответствующее сообщение. Обработка документа плагином немедленно завершается.
  3. Данный шаг выполняем при условии, что все ссылки во вложениях проставлены. Документ готов к обработке плагином.
    1. Выполняем запись документа через СБИС.ЗаписатьДокумент.
    2. Если необходимо действие для документа, то выполняем: СБИС.ПодготовитьДействие и СБИС.ВыполнитьДействие.
    3. При успешном выполнении данных операций плагин выдает сообщение с итоговым объектом документ. См. "Результат"
    4. В случае ошибки плагин выдает соответствующее сообщение.

Параметры

Результат

Исключения

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

Запрос

Ответ