Каталоги поставщиков

Как убрать из YML-фида товары с нулевой ценой

2026-06-29
Задача

Поставщик оставляет в YML товары с price равным 0 или пустым значением. Эти позиции не должны попасть в импорт.

Короткий ответ

Поставьте условие экспорта на offer: price должно соответствовать ^(?:[1-9][0-9]*(?:[,.][0-9]+)?|0[,.][0-9]*[1-9][0-9]*)$ (находит положительное число: целую часть больше нуля или дробь 0.xx с ненулевой дробной частью).

Как сделать в Eofferix

  1. В XML/YML-снапшоте выберите повторяющийся узел offer.

  2. Откройте настройки узла.

    Открытие настроек offer
    Анимация показывает открытие настроек повторяющегося товарного узла.
  3. Добавьте условие экспорта для price: price ^(?:[1-9][0-9]*(?:[,.][0-9]+)?|0[,.][0-9]*[1-9][0-9]*)$.

    Условие экспорта
    Условие применяется к товару целиком.

Было / стало

Было

исходные данные
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-12001" available="true"><name>Лампа Ладога</name><price>1290.00</price><currencyId>RUB</currencyId></offer>
      <offer id="YML-12002" available="true"><name>Кресло Волга</name><price>0</price><currencyId>RUB</currencyId></offer>
      <offer id="YML-12003" available="true"><name>Полка Нева</name><price></price><currencyId>RUB</currencyId></offer>
    </offers>
  </shop>
</yml_catalog>

Стало

результат
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-12001" available="true"><name>Лампа Ладога</name><price>1290.00</price><currencyId>RUB</currencyId></offer>
    </offers>
  </shop>
</yml_catalog>

Что важно помнить

  • Условие ставится на offer, чтобы удалялся товар целиком.
  • Если нулевая цена допустима для подарков или комплектов, сделайте отдельное правило для таких SKU.

Обрабатывайте данные быстрее с Eofferix

Создайте бесплатный аккаунт, чтобы автоматизировать каталоги и прайс-листы под ваши правила.

Зарегистрироваться