@desarx

Как написать обработчик для bitrix?

Добрый день! Помогите, пожалуйста, сделать обработчик для Bitrix24.
У нас коробочная версия, подключена касса OrangeData и по умолчанию все чеки бьются как ТОВАР, а нам нужно что бы билась УСЛУГА. В поддержке сказали что нужно создать обработчик с методом OnSaleCheckPrepareData - \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE.
Весь интет перерыл, но так и не понял как это сделать((
Помогите чайнику с данным вопросом пожалуйста))

  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
Real_Fermer
@Real_Fermer
Программист PHP
найдите файл
local/php_interface/init.php
возможно в нем уже есть подключение отдельного файла для обработки событий
что-то типа
include_once __DIR__.'/events.php';
если такого нет, то рекомендую создать, и события обрабатывать там, чтобы не засорять init.php
Далее в файле events.php - пишете обработчик события

$eventManager = \Bitrix\Main\EventManager::getInstance();

$eventManager->addEventHandler(
    'main',
    'OnSaleCheckPrepareData ',
'addCheckPrintType'
);

function addCheckPrintType(array $fields, string $type) : array{

        if(!empty($fields['PRODUCTS'])){
            foreach($fields['PRODUCTS'] as $key => $product){
                $fields['PRODUCTS'][$key]['PAYMENT_OBJECT'] = \Bitrix\Sale\Cashbox\Check::PAYMENT_OBJECT_SERVICE;
            }
        }

        return $fields;
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы