@tr1ck1

Как сделать деактивацию товаров в битрикс, которых нет в новом прайсе?

Привет всем!
Есть каталог товаров, где лежат все товары (с фильтрами и т.д.). Есть остатки (к каталогу товаров прикрепляем цену из прайс-листа при импорте и создает торговое предложение). Как сделать, чтобы деактивировать товары (убирать из каталога, а по ссылке ставить "нет в наличии)", которых нет в новом прайсе, чтобы не мешать работе пользователя? Был вариант автоматически все удалять и по новой грузить - не вариант вовсе, т.к. пользователи могут находиться на сайте даже ночью. Сбрасывать на 0 кол-во и потом при импорте для тех, что есть в прайсе, изменять уже кол-во - практически как и 1 вариант (невозможность заказа никаких товаров). И последовательно сверять каждый товар и потом деактивировать тех, что нет - слишком долго будет идти сравнение по товару. Какие еще есть варианты?
  • Вопрос задан
  • 3394 просмотра
Пригласить эксперта
Ответы на вопрос 2
@glagolew059
frontend developer
Можно делать так:
при обновлении товара вы ведь можете его ID получать?
сохраняете все обновленные ID в массив, далее получаете список всех товаров, смотрите, есть ли ID товара в массиве обновлений, если нет, то деактивируете/удаляете или делаете с ним что захотите)

Только обновление и деактивация при таком способе, должна выполняться за один заход, иначе будет эпик фейл)
если делаете за несколько заходов, то выше в комментах описали другой способ
Ответ написан
Комментировать
xakplant
@xakplant
Автор сайта xakplant.ru
Очень много вариаций ответа на ваш вопрос.
Вы можете переписать компонент, который выводит товары пользователю, так чтобы он не видел неактивные товары.
Вы можете переписать Result_modifier компонента и удалить в нём товары, которых нет в наличии
Если ваш инфоблок обрабатывается модулем торговый каталог и у вас просто отключен количественный учёт - включите его
Если у вас выгрузка из 1С вы можете не выгружать товары у которых нет остатков, тогда вам нужно в настройках магазина > интеграция 1с выбрать опцию "деактивировать" у "Что делать с товарами, отсутствующими в файле импорта:"
5cc2a5687bb23507042238.jpeg

Если вы импортируете через Магазин > Настройки >Импорт данных вы можете настроить соответствующий профиль
5cc2a5f1cc041031092493.jpeg

Тоже самое если вы импортируете через инфоблок
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы