Преобразования

Как исключить товары с нулевой ценой или пустым остатком

2026-05-27
Задача

Исключить из результата всю запись, если исходная цена равна нулю, отрицательная либо остаток не заполнен.

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

Для уже числового price добавьте два условия До преобразований: price больше 0 и stock не пустое. В таблице условия относятся к строке; в JSON поставьте их на значение price с областью Для элемента целиком; в XML — на повторяющийся узел записи.

price, stock, rows и row — названия из примера. У вас они могут быть другими: выбирайте фактическое поле цены, поле остатка и элемент одной записи.

Какие исходные данные подходят. Рецепт рассчитан на числовые значения: 10, 10.5 или 10,5. Значение 12 490 USD содержит текст и не подходит для этой универсальной настройки.

Здесь намеренно используется До преобразований: единый рецепт с После преобразований сейчас не даёт одинакового результата во всех трёх инструментах.

IDpricestockОжидаемый результат
FL-01103запись остаётся
FL-0203запись исключается
FL-03-13запись исключается
FL-0410пустозапись исключается
FL-050пустозапись исключается

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

Если результат — таблица

  1. Откройте шестерёнку колонки цены, в примере — price.
  2. В блоке Условия выгрузки добавьте: Текущее значениеДо преобразованийБольше0.
  3. Добавьте вторую строку: stockДо преобразованийНе пустое.
  4. Нажмите Сохранить. Область выбирать не нужно: условия исключают строку таблицы.
Табличный снапшот: открытие настроек колонки price
Шестерёнка в заголовке price открывает настройки условий для всей строки.
Условия выгрузки строки по price и stock в таблице
Строка остаётся только при price больше 0 и непустом stock; обе проверки выполняются до преобразований.

Если результат — JSON

  1. Откройте значение price внутри одного объекта массива rows.
  2. В блоке Условия выгрузки выберите Для элемента целиком.
  3. Добавьте: Текущее значениеДо преобразованийБольше0.
  4. Добавьте: /rows/stockДо преобразованийНе пустое, затем нажмите Сохранить.
JSON-снапшот: открытие настроек значения price внутри записи rows
Для JSON откройте именно значение price внутри объекта массива rows.
Условия выгрузки JSON-объекта по значениям price и stock
Область Для элемента целиком исключает весь объект rows, если хотя бы одно условие не выполнено.

Если результат — XML

  1. Откройте повторяющийся узел одной записи, в примере — /workbook/sheet/row. Не открывайте дочерний price.
  2. Выберите Для элемента целиком.
  3. Добавьте /workbook/sheet/row/priceДо преобразованийБольше0.
  4. Добавьте /workbook/sheet/row/stockДо преобразованийНе пустое и нажмите Сохранить.
Условия выгрузки повторяющегося XML-узла row по price и stock
Условия стоят на повторяющемся row, поэтому исключается вся запись, а не только дочерний price.

Что получится

В итоговой таблице, JSON или XML останется только FL-01. В этом JSON-сценарии общий предпросмотр может по-прежнему показывать все пять исходных объектов, поэтому проверяйте фильтрацию по скачанному результату тестовой выгрузки.

В JSON ниже значения строковые, потому что тестовый источник был CSV. Если исходный источник хранит числа как числа, итоговый тип может быть числовым.

JSON

результат
{
  "rows": [
    {
      "id": "FL-01",
      "price": "10",
      "stock": "3"
    }
  ]
}

XML

фрагмент результата
<row>
  <id>FL-01</id>
  <price>10</price>
  <stock>3</stock>
</row>

Что важно

  • Не пустое пропускает stock=0. Если остаток должен быть строго положительным числом, используйте для него Больше со значением 0.
  • Не загружать поле в блоке Преобразования очищает только значение и не удаляет запись. В этом рецепте используется блок Условия выгрузки.
  • Место настройки зависит от результата: колонка таблицы исключает строку, значение JSON с областью для всего элемента исключает объект массива, а повторяющийся XML-узел исключает запись.

Подробнее: Условия выгрузки, Условия правил, таблица, JSON и XML.

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

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

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