Редактировать

Задача

Отменить отправку письма о новом заказе в биртикс, если нет данных о составе заказа. Иногда БУС отправляет 2а письма при оформлении заказа, так можно отменить отправку лишнего письма.

Решение

init.php

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

$eventManager->addEventHandler(
    'sale',
    'OnOrderNewSendEmail',
    [\Some\Handlers::class,'OnOrderNewSendEmail']
);

Ваш произвольный класс handlers.php

namespace Some;

class Handlers
{
    public static function OnOrderNewSendEmail($orderID, &$eventName, &$arFields)
    {
        // отменяем системную отправку письма о новом заказе,
        // если нет данных о составе заказа
        return !empty($arFields['ORDER_LIST']);
    }
}