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

Как оставить в 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. Способ 1: регулярное выражение ^[A-Z]{2}-[0-9]{5}$ находит две заглавные латинские буквы, дефис и пять цифр от начала до конца значения.

    Условие экспорта
    Это один из вариантов настройки условия; остальные варианты добавлять не нужно.
  4. Способ 2: если достаточно найти префикс, используйте vendorCode Содержит подстроку LA-.

    Условие экспорта
    Это один из вариантов настройки условия; остальные варианты добавлять не нужно.
  5. Способ 3: для более точного префикса используйте vendorCode Начинается с LA-.

    Условие экспорта
    Это один из вариантов настройки условия; остальные варианты добавлять не нужно.

Было / стало

Было

исходные данные
<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>

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

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

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