• Модуль: documentgenerator
  • Путь к файлу: ~/bitrix/modules/documentgenerator/lib/document.php
  • Класс: BitrixDocumentGeneratorDocument
  • Вызов: Document::loadById
static function loadById(int $documentId): ?Document
{
	if($documentId <= 0)
	{
		return null;
	}
	$documentData = DocumentTable::getById($documentId)->fetch();
	if($documentData)
	{
		$template = Template::loadById($documentData['TEMPLATE_ID']);
		if($template)
		{
			$template->setSourceType($documentData['PROVIDER']);
			$document = static::createByTemplate($template, $documentData['VALUE'], $documentData);
		}
		else
		{
			$body = new Docx(FileTable::getContent($documentData['FILE_ID']));
			$documentClassName = Driver::getInstance()->getDocumentClassName();
			$document = new $documentClassName($body, [], $documentData, $documentData['VALUE']);
		}
		if(is_array($documentData['VALUES']))
		{
			$document->setValues($documentData['VALUES']);
		}

		return $document;
	}

	return null;
}