Доступ без возможности удалять элементы
В этом случае нам нужна настройка доступа пользователю группы без возможности удалять элементы инфоблока. Возможности Битрикс нам это позволяют сделать.
Так как по умолчанию нет такого уровня доступа где удаление и редактирование разделено, нужно создать наш собственный уровень доступа. Создаем свой уровень доступа "Настройки" -> "Пользователи" -> "Уровень доступа" -> "Добавить уровень доступа" для "Инфоблоков". Отмечаем нужные операции.

Итоговый вид нового уровня доступа без возможности удаления

После этого в настройках инфоблока на вкладке доступ включаем "Расширенное управление правами", жмём применить настройки инфоблока. Теперь мы сможем выбрать группе, которой нужно права доступа уровня, который создали.
Проверяем и видим, что кнопки удаления нет.
Ещё статьи:
21.12.2022
Пример обновление коэффициентов MeasureRatio
$eventManager->addEventHandler("catalog", "\Bitrix\Catalog\MeasureRatio::OnBeforeUpdate", function (\Bitrix\Main\Event $event)
ID: 424
21.12.2022
Пример события OnSaleOrderSaved
$eventManager->addEventHandler("sale", "OnSaleOrderSaved", ['OrderEvents', 'OrderServicesCollection']);
ID: 423
12.12.2022
Корзина пользователя в init.php
Формируем корзину текущего пользователя
$query = CSaleBasket::GetList(array(), array("FUSER_ID" => CSaleBasket::GetBasketUserID(), "LID" => SITE_ID, "ORDER_ID" => "NULL"));
Получаем данные по товарам
$dbElement = CIBlockElement::GetList( Array(), Array('ID'=>$arPRODUCT_ID), false, false, array('ID','IBLOCK_ID','PROPERTY_IMAGES') );
ID: 422