Всем привет!
Столкнулись с непростой, на наш взгляд, задачкой выгрузки товаров из 1С.
В 1С у нас есть 3 типа цен: Розница, Опт1 и Опт2.
Нам нужно, чтобы при выгрузке товаров добавлялись диапазоны цен:
0-9 → Розница
10-19 → Опт1
20+ → Опт2
Повесили на хук свой обработчик:
Эту часть получилось сделать, но столкнулись с проблемой, что битрикс не может в зависимости от объёма выбирать тип цены и выбирается сразу цена опт2.
В связи с этим решили при обновлении цен смотреть CATALOG_GROUP_ID и при обновлении цены проверяем CATALOG_GROUP_ID если он равен Опт2 меняем его на ид Опт1 и подставляем нужный диапазон.
Это тоже получилось вроде
Но и в этом варианте столкнулись с проблемой!
При повторном обновлении товара, всё слетает. И в принципе это логично, ведь у нас теперь нет цены с типом Опт2, зато есть 2 цены с типом Опт1.
Есть подозрение, что не тем путём пошли.
Подскажите пожалуйста, куда копать? как правильнее реализовать эту задачу?
Столкнулись с непростой, на наш взгляд, задачкой выгрузки товаров из 1С.
В 1С у нас есть 3 типа цен: Розница, Опт1 и Опт2.
Нам нужно, чтобы при выгрузке товаров добавлялись диапазоны цен:
0-9 → Розница
10-19 → Опт1
20+ → Опт2
Повесили на хук свой обработчик:
Код |
---|
AddEventHandler("catalog", "OnBeforePriceUpdate", ["productsHandler", "priceHandler"]); |
В связи с этим решили при обновлении цен смотреть CATALOG_GROUP_ID и при обновлении цены проверяем CATALOG_GROUP_ID если он равен Опт2 меняем его на ид Опт1 и подставляем нужный диапазон.
Это тоже получилось вроде
Код |
---|
switch ($arFields["CATALOG_GROUP_ID"]) { case '31': $arFields['QUANTITY_FROM'] = $priceIntervals[1]; $arFields['QUANTITY_TO'] = false; $arFields['CATALOG_GROUP_ID'] = 14; break; case '14': $arFields['QUANTITY_FROM'] = $priceIntervals[0]; $arFields['QUANTITY_TO'] = $priceIntervals[1] - 1; break; default: $arFields['QUANTITY_FROM'] = 0; $arFields['QUANTITY_TO'] = $priceIntervals[0] - 1; break; } |
Но и в этом варианте столкнулись с проблемой!
При повторном обновлении товара, всё слетает. И в принципе это логично, ведь у нас теперь нет цены с типом Опт2, зато есть 2 цены с типом Опт1.
Есть подозрение, что не тем путём пошли.
Подскажите пожалуйста, куда копать? как правильнее реализовать эту задачу?