- Модуль: documentgenerator
- Путь к файлу: ~/bitrix/modules/documentgenerator/lib/controller/template.php
- Класс: BitrixDocumentGeneratorControllerTemplate
- Вызов: Template::getFieldsAction
public function getFieldsAction(BitrixDocumentGeneratorTemplate $template, $providerClassName = null, $value = null, array $values = [], CRestServer $restServer = null)
{
if($restServer)
{
$providerClassName = Rest::class;
$value = 1;
}
$template->setSourceType($providerClassName);
if($template->isDeleted())
{
$this->errorCollection[] = new Error('Cannot get fields from deleted template');
return null;
}
$document = BitrixDocumentGeneratorDocument::createByTemplate($template, $value);
if(!$document->hasAccess())
{
$this->errorCollection[] = new Error('Access denied', static::ERROR_ACCESS_DENIED);
return null;
}
$fields = $document->setValues($values)->getFields([], true, true);
foreach($fields as &$field)
{
$field = $this->convertKeysToCamelCase($field);
}
return ['templateFields' => $fields];
}