Рубрики
Bitrix

Генератор документов

Источник: https://dev.1c-bitrix.ru/api_d7/bitrix/documentgenerator/document/index.php

$template_id = 3; //id шаблона документа
$entity_id = 147; //id сущности (лида / сделки / элемента смарт-процесса и т.п.), по которой нужно создать документ

//загрузка шаблона
$template = \Bitrix\DocumentGenerator\Template::loadById($template_id);
//далее нужно указать на конкретный класс сущности CRM, чтобы установить тип провайдера. Вместо Lead может быть Deal, Company и т.п.
//для смарт-процесса вместо Lead поставить Dynamic130 (где 130 - ENTITY_TYPE_ID смарт-процесса)
//даже если по запросу списка провайдеров выводит \Dynamic130_2 или подобное, пишется сокращенный вариант
$template->setSourceType(\Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Lead::class);
//создание документа
$document = \Bitrix\DocumentGenerator\Document::createByTemplate($template, $entity_id);
//устанавливаем значения переменных в шаблоне
$fields = array(
    'MyCompanyTitle' => array('VALUE' => 'ООО Наша компания'),
    'MyCompanyRequisiteRqDirector' => array('VALUE' => 'Вася Мужичков'),
);
$document->setFields($fields);
//сохраняем файл
$result = $document->getFile();
if($result->isSuccess()){
    $diskFileID = $result->getData()['emailDiskFile'];
}
echo $diskFileID;

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *