Документация для разработчиков

Document

Document - класс служит для генерации экземпляра документа, либо работы с уже существующим. Создается на основе шаблона, который отдает файл + настройки полей + тип основного провайдера. Далее перед генерацией документу необходимо передать значения полей / плейсхолдеров. После этого документ можно сгенерировать. После генерации он будет автоматически сохранен в таблице документов.

Методы класса

МетодОписание
createByTemplate(\Bitrix\DocumentGenerator\Template $template, $value)Метод новый экземпляр на основе шаблона. Здесь $value - это значение основного провайдера.
loadById($documentId)Метод загружает экземпляр документа из базы данных по его ид $documentId.
setValues(array $values)Метод задает значения полей. В массиве $values ключ - это имя поля, а значение - его значение. Метод не обнуляет уже установленные значения, но перезапишет старые.
setFields(array $fields)Метод задает описания полей. В массиве $fields ключ - это имя поля, а значение - его описание в виде массива. Метод не обнуляет уже установленные описания, но перезапишет старые.
checkFields($requiredOnly = true)Метод возвращает массив описаний незаполненных полей. Если $requiredOnly = true, то проверяются только обязательные поля. Иначе вернет описания всех полей, для которых не были найдены значения.
getTemplate()Метод вернет шаблон документа, если он есть.
getFile($sendToTransformation = true, $skipTransformationError = false)Метод генерирует новый документ, если его ещё нет. Возвращает информацию объект \Bitrix\Main\Result, где в случае успеха будет следующий массив данных:
[
    'downloadUrl' => '', // ссылка на скачивание
    'publicUrl' => '', // публичная ссылка, если есть
    'title' => '', // заголовок 
    'number' => '', //номер
    'id' => '', //ID
    'createTime' => '', //время генерации
    'updateTime' => '', //время обновления
    'stampsEnabled' => '', //true если с печатями и подписями, иначе false
    'isTransformationError' => '', //true если была ошибка конвертации, иначе false
    'value' => '', //значение, с которым был создан основной провайдер
    'values' => [], // массив дополнительных значений
];

Если $sendToTransformation = false - файл не будет послан на конвертацию автоматически.
Если $skipTransformationError = true, то в результат не будут добавляться ошибки конвертации (используется для подавления этой ошибки в рест-методах).
getProvider()Метод вернет экземпляр \Bitrix\DocumentGenerator\DataProvider, который использовался для генерации документа. Этот метод может вернуть false, если экземпляр не удалось создать.
update(array $values)Метод обновляет существующий документ с новым набором значений. Массив $values аналогичен параметру в методе setValues().
getFields(array $fieldNames = [], $isConvertValuesToString = false, $groupsAsArrays = false)Метод возвращает список сгруппированных полей с конечными значениями $fields - массив имён полей для вывода описания
$isConvertValuesToString - если true - объекты будут преобразованы в строки (как правило, для json)


Пользовательские комментарии

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

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2019, «1С-Битрикс», 2019
Наверх