При добавлении товара через админку в количестве выставляются сразу все остатки. Где это можно исправить?
Добрый день! Достался проект, в котором немножко покапались в ядре, теперь присутствуют некоторые баги. Один из них - добавление товаров в административной панели не по 1, а сразу все что есть, все остатки. По событию OnBeforeBasketAdd я вижу, что формируется новый товар с QUANTITY = 1. Событие OnBasketAdd не отрабатывает после добавления товара в заказ. В самом заказе товар появляется уже с QUANTITY = 932 (количество остатков на складе).
Подскажите, пожалуйста, возможно ли как-то при оформлении заказа перехватить это количество и заменить на 1?
Или хотя бы как-то локализовать где можно попробовать отловить ошибку?
P.S. Очень бы не хотелось трогать ядро и так пострадавшее, а воздействовать на заказ со стороны. На стороне клиента товар в корзину добавляется корректно.
Очень бы не хотелось трогать ядро и так пострадавшее
Простите, но я бы именно это и сделал - привести ядро к немодифицированному виду. Я вам по опыту скажу, что лечение одних багов с помощью костылей, приводит к более серьезным багам в другом месте.
По теме: интересно бы посмотреть init.php
Алексей Емельянов, У меня есть функция, которая пишет запись в лог. Я повесила ее на событие OnBeforeOrderAdd и провела все этапы создания и сохранения заказа. По этому событию ничего в лог не пишется.
Вдруг кому-то поможет.
Спасло событие OnBeforeSaleBasketItemSetField. Реагирует когда поля задают через метод SetField.
Далее проверка , добавлен ли товар в первый раз через метод isNewItem и установка нужного значения.