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

Как сложить остатки по складам в XML-фиде поставщика

2026-06-29
Задача

Поставщик отдает в XML несколько складов внутри одного offer: warehouse/stock для северного и южного склада. Для импорта нужен один общий stock_total.

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

Откройте настройки значения stock_total и добавьте правило суммы значений по пути {/catalog/offers/offer/warehouse/stock}. Eofferix сложит все stock внутри текущего товара.

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

  1. В XML-снапшоте выберите значение stock_total внутри повторяющегося offer.

  2. Откройте настройки значения.

    Открытие stock_total в XML
    Анимация показывает выбор поля, куда записывается общий остаток.
  3. Добавьте правило: условие Любое значение, действие Сумма значений, источник {/catalog/offers/offer/warehouse/stock}.

    Правило суммы stock_total
    Правило суммирует складские остатки текущего товара.

Было / стало

Было

исходные данные
<catalog>
  <offers>
    <offer id="2001">
      <sku>SKU-2001</sku><name>Лампа Ладога</name>
      <warehouse code="north"><stock>4</stock></warehouse>
      <warehouse code="south"><stock>8</stock></warehouse>
      <stock_total>0</stock_total>
    </offer>
    <offer id="2002">
      <sku>SKU-2002</sku><name>Кресло Волга</name>
      <warehouse code="north"><stock>0</stock></warehouse>
      <warehouse code="south"><stock>3</stock></warehouse>
      <stock_total>0</stock_total>
    </offer>
  </offers>
</catalog>

Стало

результат
<catalog>
  <offers>
    <offer id="2001">
      <sku>SKU-2001</sku><name>Лампа Ладога</name>
      <warehouse code="north"><stock>4</stock></warehouse>
      <warehouse code="south"><stock>8</stock></warehouse>
      <stock_total>12</stock_total>
    </offer>
    <offer id="2002">
      <sku>SKU-2002</sku><name>Кресло Волга</name>
      <warehouse code="north"><stock>0</stock></warehouse>
      <warehouse code="south"><stock>3</stock></warehouse>
      <stock_total>3</stock_total>
    </offer>
  </offers>
</catalog>

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

  • Суммирование должно выполняться внутри текущего offer, а не по всему XML-файлу.
  • Если у поставщика часть складов нужно исключить, сначала добавьте условия по коду склада.
  • Оставьте стартовое значение stock_total техническим, например 0, чтобы поле было явно выбрано в снапшоте.

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

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

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