История как я хотел обнулять склады в товаре по которым не пришли остатки

История как я хотел обнулять склады в товаре по которым не пришли остатки

Предистория такая, на сайте с лицензией Бизнес где закончился срок обновлений работает обмен с 1С, но наступил момент когда остатки по складам, которых нет в обмене перестали обнуляться. 
Было принято решение делать доработку на стороне сайта, писать обработчик, который будет принудительно обнулять склады в товаре по которым не пришли остатки

В итоге я проработал несколько вариантов, но ни один не решает задачу.
У битрикс есть события связанные с торговым каталогом, но проблема такая, что в событии изменения товара (во время обмена происходит изменение) нет данных о изменяемых складах, только общие остатки за весь товар, что не подходит.

При попытке работать с событием обновления склада столкнулся с тем, что данные в этом событии только по одному складу, нет данных по всем изменяемым складам.
В результате получается что в этом событии будут сбрасываться остатки всех складов товара кроме текущего изменяемого, соответственно если произошло изменение по нескольким складам то событие отработает несколько раз затирая остатки складов каждый раз кроме текущего склада.

По остальным событиям также не за что зацепиться. Получается, что на обработчиках битрикс нет возможности получать все изменяемые склады одного товара одновременно, из-за чего не получится обнулять остатки у складов, которых не было в обмене.

Единственный вариант я вижу при отсутсвии лицензии это чтобы 1С специалист выгружал либо в товар информацию по остаткам складов, включая нулевые, либо выгружал это файлом на сервер. Далее эти данные можно обработать и повесить на планировщик (крон) на хостинге и обновлять склады по расписанию, например каждые полчаса или чаще

Ещё статьи:

01.11.2024 Битрикс тариф 1Сайт тест производительности
Провёл оценку производительности Битрикс на тарифе 1Сайт от таймвеб ID: 534

31.07.2024 Нюансы продления лицензии на 3 и 6 месяцев от 12 месяцев
На маркетплейсе есть такая кнопка "купить продление", при нажатии на неё есть выпадающий список продолжительность (3 мес. самый дешовый вариант и 6 мес.).
У розничного пользователя такой кнопки, она есть под партнёрским аккаунтом разработчика. ID: 494

31.07.2024 Ошибка в блоке "Вы смотрели" на базе catalog.section
При создании блока "Вы смотрели" на базе catalog.section на детальной странице товара столкнулся с ошибкой, когда блок работал не корректно, и данные о просмотренных товарах не обновлялись. ID: 493

© 2015-2024 Web админ
Связаться по WhatsApp