Сниппеты
Не забудьте подключить модуль.
\Bitrix\Main\Loader::includeModule('documentgenerator');
- Получить список провайдеров, привязанных к определенному модулю
$providers = \Bitrix\DocumentGenerator\DataProviderManager::getInstance()->getList(['filter' => ['MODULE' => 'crm']]);
Вернется список провайдеров, отфильтрованных по модулю.
$manager = \Bitrix\DocumentGenerator\DataProviderManager::getInstance(); $provider = $manager->getDataProvider(\Bitrix\DocumentGenerator\DataProvider\User::class, 1); if($provider) { print_r($manager->getArray($provider)); }
// $templateId - ид шаблона // $invoiceId - ид счета $template = \Bitrix\DocumentGenerator\Template::loadById($templateId); $template->setSourceType(\Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Invoice::class); $document = \Bitrix\DocumentGenerator\Document::createByTemplate($template, $invoiceId); // добавить / переопределить описания полей $document->setFields([ 'myField' => [ 'VALUE' => 'defaultValue', // значение по умолчанию ], ]); // указать значение поля $document->setValues([ 'myField' => 'newValue', ]); $result = $document->getFile(); if($result->isSuccess()) { print_r($result->getData()) } else { print_r($result->getErrorMessages()); }
Осторожно! Эта операция перезапишет созданный пользователем шаблон.
$controller = new \Bitrix\DocumentGenerator\Controller\Template(); // составляем фильтр $filter = [ 'MODULE_ID' => 'crm', // ID модуля 'CODE' => 'BILL_RU', // код предустановленного шаблона 'REGION' => ['RU'], // страна. Можно передать массив 'NAME' => 'Счет (Россия)', // название предустановленного шаблона ]; // получаем список шаблонов $result = $controller::getDefaultTemplateList($filter); if($result->isSuccess()) { $templates = $result->getData(); foreach($templates as $template) { // так мы можем пропустить уже установленные шаблоны if(isset($template['ID']) && $template['ID'] > 0) { continue; } $controller->installDefaultTemplate($template); } }
© «Битрикс», 2001-2024, «1С-Битрикс», 2024