@Anna_Belikova01

При добавлении товара через админку в количестве выставляются сразу все остатки. Где это можно исправить?

Добрый день! Достался проект, в котором немножко покапались в ядре, теперь присутствуют некоторые баги. Один из них - добавление товаров в административной панели не по 1, а сразу все что есть, все остатки. По событию OnBeforeBasketAdd я вижу, что формируется новый товар с QUANTITY = 1. Событие OnBasketAdd не отрабатывает после добавления товара в заказ. В самом заказе товар появляется уже с QUANTITY = 932 (количество остатков на складе).

Подскажите, пожалуйста, возможно ли как-то при оформлении заказа перехватить это количество и заменить на 1?
Или хотя бы как-то локализовать где можно попробовать отловить ошибку?

P.S. Очень бы не хотелось трогать ядро и так пострадавшее, а воздействовать на заказ со стороны. На стороне клиента товар в корзину добавляется корректно.
  • Вопрос задан
  • 171 просмотр
Пригласить эксперта
Ответы на вопрос 2
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
возможно ли как-то при оформлении заказа перехватить это количество и заменить на 1?
Можно это проверять на событии оформления заказа (OnBeforeOrderAdd), но это костыль подпирать другим костылём.
Ответ написан
@Anna_Belikova01 Автор вопроса
Вдруг кому-то поможет.
Спасло событие OnBeforeSaleBasketItemSetField. Реагирует когда поля задают через метод SetField.
Далее проверка , добавлен ли товар в первый раз через метод isNewItem и установка нужного значения.

Документация
https://dev.1c-bitrix.ru/api_d7/bitrix/sale/events...
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы