Задача
В YML часть товаров пришла с пустым barcode или текстом вместо штрихкода. В импорт должны попасть только позиции с нормальным кодом.
Короткий ответ
Поставьте условие экспорта на offer: barcode должен соответствовать регулярному выражению ^(?:[0-9]{8}|[0-9]{12,14})$ (находит строку только из цифр длиной 8, 12, 13 или 14 символов; контрольную сумму не проверяет).
Как сделать в Eofferix
В XML/YML-снапшоте выберите повторяющийся узел
offer.Откройте настройки узла.

Анимация показывает открытие настроек повторяющегося товарного узла. Добавьте условие экспорта для
barcode:barcode^(?:[0-9]{8}|[0-9]{12,14})$.
Условие применяется к товару целиком.
Было / стало
Было
исходные данные<yml_catalog date="2026-06-29 10:00">
<shop>
<offers>
<offer id="YML-27001"><name>Лампа Ладога</name><vendorCode>LA-27001</vendorCode><barcode>4601234567890</barcode><price>1290.00</price></offer>
<offer id="YML-27002"><name>Кресло Волга</name><vendorCode>KR-27002</vendorCode><barcode></barcode><price>8400.00</price></offer>
<offer id="YML-27003"><name>Полка Нева</name><vendorCode>PN-27003</vendorCode><barcode>bad-code</barcode><price>990.00</price></offer>
</offers>
</shop>
</yml_catalog>Стало
результат<yml_catalog date="2026-06-29 10:00">
<shop>
<offers>
<offer id="YML-27001"><name>Лампа Ладога</name><vendorCode>LA-27001</vendorCode><barcode>4601234567890</barcode><price>1290.00</price></offer>
</offers>
</shop>
</yml_catalog>Что важно помнить
- Если нужно только убрать пустые значения, используйте условие
не пустоебез регулярного выражения. - Регулярное выражение проверяет формат, но не контрольную сумму штрихкода.