- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/intranet/bindingmenu.php
- Класс: Bitrix\Crm\Integration\Intranet\BindingMenu
- Вызов: BindingMenu::onBuildBindingMap
static function onBuildBindingMap(Event $event): EventResult
{
if (!static::isBindingMapAPIAvailable())
{
return new EventResult(EventResult::ERROR, null, static::MODULE_ID);
}
$dynamicTypesMap = Container::getInstance()->getDynamicTypesMap()->load([
'isLoadStages' => false,
'isLoadCategories' => false,
]);
$sections = static::getMapSections();
foreach ($dynamicTypesMap->getTypes() as $type)
{
foreach ($sections as $section)
{
$mapItem = new Intranet\Binding\Map\MapItem(
BindingMenu\CodeBuilder::getMapItemCode($type->getEntityTypeId()),
BindingMenu\CodeBuilder::getRestPlacementCode($section->getCode(), $type->getEntityTypeId()),
);
$section->add($mapItem);
}
}
if (InvoiceSettings::getCurrent()->isSmartInvoiceEnabled())
{
foreach ($sections as $section)
{
if ($section === \Bitrix\Crm\Integration\Intranet\BindingMenu\SectionCode::TUNNELS)
{
continue;
}
$mapItem = new Intranet\Binding\Map\MapItem(
BindingMenu\CodeBuilder::getMapItemCode(\CCrmOwnerType::SmartInvoice),
BindingMenu\CodeBuilder::getRestPlacementCode($section->getCode(), \CCrmOwnerType::SmartInvoice),
);
$section->add($mapItem);
}
}
return new EventResult(
EventResult::SUCCESS,
[
'map' => new Intranet\Binding\Map($sections),
],
static::MODULE_ID,
);
}