WriteDocument - создает / обновляет Документ (ExtSdk2) — различия между версиями

Материал из razgovorov.ru
Перейти к: навигация, поиск
(Новая страница: «== Описание == Создает или обновляет документ в СБИС. Расширенный аналог метода СБИС.Запис…»)
 
Строка 17: Строка 17:
  
 
== Алгоритм работы ==  
 
== Алгоритм работы ==  
# Перебираем все элементы Файл везде где указано ПутьКФайлу или ВнешняяСсылка или размер строк с данными превышает рекомендуемый уровень запускаем параллельную загрузку всех вложений через FileLoader. Дожидаемся окончания загрузки – получили ссылки на СБИС Диск записали из Документ. Вложение.Файл
+
# Перебираем все элементы Файл
# Запускаем непосредственно выполнение команды API по записи документа или вложения соответственно.
+
## Подписываем при необходимости
 +
## Зашифровываем при необходимости
 +
## везде где указано ПутьКФайлу или ВнешняяСсылка или размер строк с данными превышает рекомендуемый уровень запускаем параллельную загрузку всех вложений через FileLoader. Дожидаемся окончания загрузки – получили ссылки на СБИС Диск записали из Документ.Вложение.Файл.
 +
# Запускаем непосредственно выполнение команды API СБИС.ЗаписатьДокумент.
  
 
== Параметры ==
 
== Параметры ==

Версия 13:27, 10 декабря 2020

Описание

Создает или обновляет документ в СБИС. Расширенный аналог метода СБИС.ЗаписатьДокумент. Имеет дополнительные свойства в объекте Документ.

Дополнительные свойства объекта Файл

  • ПутьКФайлу (строка) - строка содержащая абсолютный путь до файла. Данный файл будет загружен с диска в качестве вложения. Рекомендуется.
  • Строка (строка) - строка содержащая данные файла в UTF-8. Не рекомендуется для файлов более 30 Мб.
  • ДвоичныеДанные (строка) - строка в кодировке Bаse64. Используется для отправки содержимого бинарных данных на сервер. Не рекомендуется для файлов более 30 Мб.
  • Ссылка (строка) - ссылка на двоичные данные в хранилище СБИС Диск
  • Обработчики (массив объектов) - перечень операций которые будут последовательно применены к данным перед их загрузкой.

Одной из самых популярных операций является XSLT, либо преобразование в XML в PDF. Концептуально – пока массив операций не пустой вызывается первая операция из списка (для предотвращения зацикливания установлен лимит на количество операций в 10 шт) - фабрика методов FileHandler[Имя метода]([ОбъектДокумент] [ОбъектФайл], [Параметры метода]) . Фабрика при вызове удаляет первый элемент массива операций. Предполагается, что хандлер может менять ОбъектДокумент, ОбъектФайл в т.ч. может добавлять последующие операции. Пример операций [ {action:“XSL”, param: “имя XSL1”}, {action:“XSL”, param: “имя XSL2”}] – будет вызвано два полседовательных XSL преобразования . Сначала «XSL1» затем XSL2.

Дополнительные свойства объекта Вложение

  • ТребуетПодписания (строка Да/Нет) - если указано Да, то вложение будет подписано
  • ТребуетШифрования (строка Да/Нет) - если указано Да, то вложение будет зашифровано в отношении всех сертификатов аккаунтов получателя и отправителя

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

  1. Перебираем все элементы Файл
    1. Подписываем при необходимости
    2. Зашифровываем при необходимости
    3. везде где указано ПутьКФайлу или ВнешняяСсылка или размер строк с данными превышает рекомендуемый уровень запускаем параллельную загрузку всех вложений через FileLoader. Дожидаемся окончания загрузки – получили ссылки на СБИС Диск записали из Документ.Вложение.Файл.
  2. Запускаем непосредственно выполнение команды API СБИС.ЗаписатьДокумент.

Параметры

Результат

Возвращает объект с идентификатором сессии, которую нужно использовать для последующих вызовов.

Исключения

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

Запрос

Ответ

Пример ответа при включенной двухфакторной аутентификации