• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/document.php
  • Класс: BitrixDocumentGeneratorDocument
  • Вызов: Document::createByTemplate
static function createByTemplate(Template $template, $value, array $data = []): ?Document
{
	$fields = $template->getFields();
	$body = $template->getBody();
	if(!$body && $data['FILE_ID'] > 0)
	{
		$bodyClassName = $template->getBodyClassName();
		$body = new $bodyClassName(FileTable::getContent($data['FILE_ID']));
	}
	if(!$body)
	{
		return null;
	}

	$documentClassName = Driver::getInstance()->getDocumentClassName();
	/** @var static $document */
	$document = new $documentClassName($body, $fields, $data, $value);
	$document->setTemplate($template);
	$document->setProductsTableVariant($template->PRODUCTS_TABLE_VARIANT ?? '');
	if($template->WITH_STAMPS === 'Y')
	{
		$document->enableStamps(true);
	}

	return $document;
}