[OnBeforeAllOptionsBuild] Событие для создания своих табов в настройках модуля
//файл /bitrix/php_interface/init.php
//подписываемся на событие
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'rbs.moysklad',
'OnBeforeAllOptionsBuild',
'OnBeforeAllOptionsBuildHandler'
);
function OnBeforeAllOptionsBuildHandler(\Bitrix\Main\Event $event)
{
//получаем параметры события
$eventParams = $event->getParameters();
//массив всех опций модуля
$arAllOptions = $eventParams['arAllOptions'];
//массив вкладок для работы опций
$aTabs = $eventParams['aTabs'];
//Пример добавления кастомных опций
//Далее стандартным способом для битриксовых модулей добавляем табы и параметры
$arAllOptions['custom_tab'][] = 'Custom tab';
$arAllOptions['custom_tab'][] = ["custom_option", "Custom option", '', ['checkbox', "N"]];
$aTabs[] = [
"DIV" => "custom_tab",
"TAB" => 'Custom tab',
"ICON" => "custom_tab",
"TITLE" => 'Custom tab'
];
//$result оставляем всегда таким перед возвращением результата события
$result = [
'arAllOptions' => $arAllOptions,
'aTabs' => $aTabs
];
//возвращаем SUCCESS если нужно поменять массив опций
return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, $result);
}
[OnBeforeWebHookOptionsBuild] Событие для вывода веб-хуков в соответствующей вкладке
//файл /bitrix/php_interface/init.php
//подписываемся на событие
\Bitrix\Main\EventManager::getInstance()->addEventHandler(
'rbs.moysklad',
'OnBeforeWebHookOptionsBuild',
'OnBeforeWebHookOptionsBuildHandler'
);
function OnBeforeWebHookOptionsBuildHandler(\Bitrix\Main\Event $event)
{
//возвращаем массив такого вида:
// 'result' => [...] - у массива единственный ключ - result,
// внутри result идет массив такой структуры:
// 'entity' => ['UPDATE', 'CREATE', ...],
// где 'entity' - сущность в МС, на которое подписываем веб-хук
// массив у ключа сущности это три событя веб-хука 'UPDATE', 'CREATE', 'DELETE'
return new \Bitrix\Main\EventResult(\Bitrix\Main\EventResult::SUCCESS, [
'result' => [
'move' => ['CREATE', 'UPDATE'],
'supply' => ['UPDATE', 'DELETE'],
'purchaseorder' => ['CREATE'],
'demand' => ['UPDATE']
]
]);
}
В результате работы события во вкладке "веб-хуки" появятся новые веб-хуки, которые подчиняются общим правилам обработки веб-хуков в модуле.