Доброго дня.....
не пойму что происходит.
Задача разделить товары на две таблицы, в одной собственно товары, в другой услуги.
Для этого переопределяю провайдер
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'documentgenerator',
'onDataProviderManagerFillSubstitutionProviders',
static function (\Bitrix\Main\Event $event) {
$result = [];
$result = [
Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal::class => Docgen_Deal_providerNEW::class,
];
return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $result);
}
);
В самом провайдере создаю новые элементы, по полному подобию того, как создаются товары.
class Docgen_Deal_providerNEW extends \Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal
{
protected $products_only;
protected $services_only;
public function getFields(): array
{
if ($this->fields === null) {
parent::getFields();
$this->fields['PRODUCTS_ONLY'] = [
'PROVIDER' => 'Bitrix\DocumentGenerator\DataProvider\ArrayDataProvider',
'TITLE' => "Товары (только)",
'OPTIONS' => [
'ITEM_PROVIDER' => 'Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Produc t',
'ITEM_NAME' => 'PRODUCT_ONLY',
'ITEM_TITLE' => 'Товар (только)',
],
'VALUE' => [$this, 'loadProducts_only'],
];
}
return $this->fields;
}
В итоге вижу вот что
Никак не могу понять как он выстраивает такую вот цепочку!!!!
Сделки-переодические выезды в рамках Договора (не я писал название, поэтому с орфографией не критикуем) это свойство сделки тип привязка к другой сделке.
не пойму что происходит.
Задача разделить товары на две таблицы, в одной собственно товары, в другой услуги.
Для этого переопределяю провайдер
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'documentgenerator',
'onDataProviderManagerFillSubstitutionProviders',
static function (\Bitrix\Main\Event $event) {
$result = [];
$result = [
Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal::class => Docgen_Deal_providerNEW::class,
];
return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $result);
}
);
В самом провайдере создаю новые элементы, по полному подобию того, как создаются товары.
class Docgen_Deal_providerNEW extends \Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Deal
{
protected $products_only;
protected $services_only;
public function getFields(): array
{
if ($this->fields === null) {
parent::getFields();
$this->fields['PRODUCTS_ONLY'] = [
'PROVIDER' => 'Bitrix\DocumentGenerator\DataProvider\ArrayDataProvider',
'TITLE' => "Товары (только)",
'OPTIONS' => [
'ITEM_PROVIDER' => 'Bitrix\Crm\Integration\DocumentGenerator\DataProvider\Produc
'ITEM_NAME' => 'PRODUCT_ONLY',
'ITEM_TITLE' => 'Товар (только)',
],
'VALUE' => [$this, 'loadProducts_only'],
];
}
return $this->fields;
}
В итоге вижу вот что
Никак не могу понять как он выстраивает такую вот цепочку!!!!
Сделки-переодические выезды в рамках Договора (не я писал название, поэтому с орфографией не критикуем) это свойство сделки тип привязка к другой сделке.