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

Материал из razgovorov.ru
Версия от 13:21, 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. Перебираем все элементы Файл – везде где указано ПутьКФайлу или ВнешняяСсылка или размер строк с данными превышает рекомендуемый уровень запускаем параллельную загрузку всех вложений через FileLoader. Дожидаемся окончания загрузки – получили ссылки на СБИС Диск записали из Документ. Вложение.Файл
  2. Запускаем непосредственно выполнение команды API по записи документа или вложения соответственно.

Параметры

Результат

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

Исключения

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

Запрос

Ответ

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