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

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' => [], // массив дополнительных значений
	'publicUrlView' => [ // с версии documentgenerator 20.100.0, информация о просмотре публичной ссылки, если публичная ссылка есть
		'time' => ' ', // время первого просмотра публичной ссылки
		'ip' => ' ', // ip-адрес первого просмотра публичной ссылки
	],
];

Если $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-2024, «1С-Битрикс», 2024