- Модуль: documentgenerator
- Путь к файлу: ~/bitrix/modules/documentgenerator/lib/document.php
- Класс: BitrixDocumentGeneratorDocument
- Вызов: Document::upload
static function upload(
Template $template,
$value,
string $title,
string $number,
int $fileId,
int $pdfId = null,
int $imageId = null
): Result
{
$result = new Result();
$fileData = FileTable::getById($fileId);
if(!$fileData)
{
return $result->addError(new Error('Wrong fileId - data not found'));
}
if($pdfId)
{
$fileData = FileTable::getById($pdfId);
if(!$fileData)
{
return $result->addError(new Error('Wrong pdfId - data not found'));
}
}
if($imageId)
{
$fileData = FileTable::getById($imageId);
if(!$fileData)
{
return $result->addError(new Error('Wrong imageId - data not found'));
}
}
$data = [
'ACTIVE' => 'Y',
'TEMPLATE_ID' => $template->ID,
'VALUE' => $value,
'FILE_ID' => $fileId,
'PROVIDER' => $template->getSourceType(),
'IMAGE_ID' => $imageId,
'PDF_ID' => $pdfId,
'UPDATE_TIME' => new DateTime(),
'TITLE' => $title,
'NUMBER' => $number,
'CREATED_BY' => Driver::getInstance()->getUserId(),
'VALUES' => [
CreationMethod::CREATION_METHOD_PLACEHOLDER => CreationMethod::METHOD_REST,
],
];
$result = DocumentTable::add($data);
if($result->isSuccess())
{
$document = static::loadById($result->getId());
EventManager::getInstance()->send(new Event(Driver::MODULE_ID, 'onCreateDocument', ['document' => $document]));
$result = $document->getFile(true, true);
}
return $result;
}