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

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-2020, «1С-Битрикс», 2020
Наверх