@tr1ck1

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

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

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

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

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

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

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