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

Как оставить в YML товары с vendorCode нужного формата

2026-06-29
Задача

В YML вместе с нормальными артикулами есть свободный текст в vendorCode. Для импорта нужны только коды вида LA-22001.

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

Поставьте условие экспорта на offer: vendorCode должен соответствовать регулярному выражению ^[A-Z]{2}-[0-9]{5}$ (находит две заглавные латинские буквы, дефис и пять цифр от начала до конца значения).

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

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

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

    Открытие настроек offer
    Анимация показывает открытие настроек повторяющегося товарного узла.
  3. Добавьте условие экспорта для vendorCode: vendorCode ^[A-Z]{2}-[0-9]{5}$.

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

Было / стало

Было

исходные данные
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-22001"><name>Лампа Ладога</name><vendorCode>LA-22001</vendorCode><price>1290.00</price></offer>
      <offer id="YML-22002"><name>Кресло Волга</name><vendorCode>supplier item 22002</vendorCode><price>8400.00</price></offer>
      <offer id="YML-22003"><name>Полка Нева</name><vendorCode>PN-22003</vendorCode><price>990.00</price></offer>
    </offers>
  </shop>
</yml_catalog>

Стало

результат
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-22001"><name>Лампа Ладога</name><vendorCode>LA-22001</vendorCode><price>1290.00</price></offer>
      <offer id="YML-22003"><name>Полка Нева</name><vendorCode>PN-22003</vendorCode><price>990.00</price></offer>
    </offers>
  </shop>
</yml_catalog>

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

  • Если достаточно одного префикса, например LA-, можно использовать условие содержит или начинается с без регулярного выражения.
  • Маску ставьте на offer, чтобы удалялся весь товар с плохим артикулом.

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

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

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