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

Материал из razgovorov.ru
Перейти к: навигация, поиск

Описание

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

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

  • ПутьКФайлу (строка) - строка содержащая абсолютный путь до файла. Данный файл будет загружен с диска в качестве вложения. Рекомендуется.
  • Строка (строка) - строка содержащая данные файла в 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 СБИС.ЗаписатьДокумент.

Параметры

Результат

Возвращает Объект документ

Исключения

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

Запрос

Ответ

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