Catálogos de proveedores

Cómo quitar de YML ofertas sin barcode válido

2026-06-29
Tarea

Algunos productos YML tienen barcode vacío o texto en vez de un código de barras. La importación debe conservar solo artículos con código válido en formato.

Respuesta corta

Agregue una condición de exportación a offer: barcode debe coincidir con la expresión regular ^(?:[0-9]{8}|[0-9]{12,14})$ (coincide con una cadena solo de dígitos de longitud 8, 12, 13 o 14; no valida el dígito de control).

Cómo hacerlo en Eofferix

  1. En el snapshot XML/YML, seleccione el nodo repetido offer.

  2. Abra la configuración del nodo.

    Apertura de offer
    La animación muestra la configuración del nodo de producto repetido.
  3. Agregue una condición de exportación para barcode: barcode ^(?:[0-9]{8}|[0-9]{12,14})$.

    Condición de exportación
    La condición se aplica al artículo completo.

Antes / después

Antes

datos de origen
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-27001"><name>Lampara Alba</name><vendorCode>LA-27001</vendorCode><barcode>4601234567890</barcode><price>1290.00</price></offer>
      <offer id="YML-27002"><name>Sillon Costa</name><vendorCode>KR-27002</vendorCode><barcode></barcode><price>8400.00</price></offer>
      <offer id="YML-27003"><name>Estante Norte</name><vendorCode>PN-27003</vendorCode><barcode>bad-code</barcode><price>990.00</price></offer>
    </offers>
  </shop>
</yml_catalog>

Después

resultado
<yml_catalog date="2026-06-29 10:00">
  <shop>
    <offers>
      <offer id="YML-27001"><name>Lampara Alba</name><vendorCode>LA-27001</vendorCode><barcode>4601234567890</barcode><price>1290.00</price></offer>
    </offers>
  </shop>
</yml_catalog>

Qué conviene recordar

  • Si solo necesita quitar valores vacíos, use no está vacío sin expresión regular.
  • La expresión regular comprueba el formato, pero no el dígito de control.

Procesa datos más rápido con Eofferix

Crea una cuenta gratis para automatizar catálogos y listas de precios según tus reglas.

Registrarse