Как сформулировать следующую мысль фильтра наличия на складах в Битрикс?
У клиента возникла задача разделить весь товар на 2 раздела. В одном товары в наличии, другие под заказ.
Вот те что под заказ можно определить только наличие на определенном складе (по нему остаток приходит).
Возможны ситуации, когда товар и на этом складе, и на других 11 в остатке есть. В итоге фильтр в обычном каталоге CATALOG_STORE_AMOUNT_id = 0 отсекает данные товары и отображает в под заказ.
Как технически правильно было правильно реализовать данное поведение? Товары идут из 1С. Не хотелось бы громоздить фильтр состоящий из LOGIC OR CATALOG_STORE_AMOUNT_id = 0 или также или по всем складам, что у них остаток НЕ равен 0
Как вариант вы можете добавить свойство Да/Нет и сделать обработчик который условно раз в час будет проходить по всем товарам и перевалидировать его (или добавить обработку события при изминениях тут как хочется)
если товар хоть где то в наличии то Да если везде по нулям то Нет
тем самым в фильтре вы проверяйте только 1 свойство
Недавно подобное делал. Могу под Вас код переписать, недолго займёт.
А метод реализации Вам выше kyja написал.
Я это делал на событии успешной выгрузки из 1С.