Когда я следую этому примеру пропадают документы, при этом если вместо сделки сделать класс для лида, то все работает
Код |
---|
// содержимое файла documentgenerator_classes.php
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true)
{
die();
}
if(\Bitrix\Main\Loader::includeModule('crm'))
{
class MyDeal extends \Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal
{
public function getFields(): array
{
if($this->fields === null)
{
parent::getFields();
$this->fields['MY_SUPER_UNIQUE_FIELD'] = [
'TITLE' => 'Cool Fields',
'VALUE' => [
$this, 'getUniqueFieldValue',
],
];
}
return $this->fields;
}
public function getUniqueFieldValue()
{
return 'unique_value';
}
}
}
// обработчик события в init.php
Bitrix\Main\EventManager::getInstance()->addEventHandler(
'documentgenerator',
'onDataProviderManagerFillSubstitutionProviders',
static function(\Bitrix\Main\Event $event) {
require_once('documentgenerator_classes.php');
$result = [];
if(\Bitrix\Main\Loader::includeModule('crm'))
{
$result = [
Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal::class => MyDeal::class,
];
}
return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $result);
}
); |