Программное изменение наименования товара при заказе 1с-Битрикс


Для того, чтобы изменить наименование товара автоматически при создании заказа, необходимо добавить следующий обработчик в файл init.php:

<?php
use Bitrix\Main\EventManager;

EventManager::getInstance()->addEventHandler('sale', 'OnSaleOrderBeforeSaved', function (\Bitrix\Main\Event $event) {
    \Bitrix\Main\Loader::includeModule('iblock');
    $order = $event->getParameter('ENTITY');
    $basket = $order->getBasket();
    $basketItems = $basket->getBasketItems();
    foreach ($basketItems as $item) {
       $item->setFields(array(
           'NAME' => $item->getField('NAME') . ' (test)'
        ));
    }
    $basket->save();
});

В данном примере к наименованию товара в заказе добавляется приписка ” (test)”, обработчик можно доработать под свои условия, проверялось на 1с-Битрикс: Управление сайтом 20.0.1650. (версия модуля интернет-магазин 20.0.687).