Un valor de origen contiene una etiqueta y un candidato continuo esperado de 8 o de 12 a 14 dígitos ASCII. Hay que conservarlo como texto, mantener el cero inicial y no extraer una parte de una secuencia numérica más larga.
En Transformaciones, añade dos reglas en este orden: primero No es expresión regular con el patrón de protección → No exportar campo; después Expresión regular con el patrón de extracción → Eliminar todo excepto. La primera regla vacía un valor no apto; la segunda conserva el primer candidato que coincide.
Cómo hacerlo en Eofferix
Abre los ajustes de la columna o nodo de salida. El nombre
barcodees solo un ejemplo; tu campo puede tener cualquier otro nombre. Conserva el resultado como texto para mantener el cero inicial.En Transformaciones, añade la regla de protección: Valor actual → No es expresión regular con
(^|[^0-9])(?:[0-9]{12,14}|[0-9]{8})([^0-9]|$)→ No exportar campo.Justo después, añade la regla de extracción: Valor actual → Expresión regular con
(?:[0-9]{12,14}|[0-9]{8})→ Eliminar todo excepto. No inviertas el orden de las dos reglas.
La regla superior vacía un valor sin candidato permitido; la inferior conserva el primer candidato de una longitud admitida. Aplica las reglas y comprueba en la vista previa los ejemplos de abajo. Después ejecuta una pequeña exportación de prueba y abre el archivo resultante: los valores no aptos deben quedar vacíos y los aptos deben coincidir con el primer candidato encontrado.
Resultado esperado
| Valor de origen | Resultado | Motivo |
|---|---|---|
EAN: 4006381333931 | 4006381333931 | Se encuentra un candidato independiente de 13 dígitos. |
barcode 012345678905 | 012345678905 | Los 12 dígitos se conservan como texto, incluido el cero inicial. |
code 12345678 | 12345678 | Se admite un candidato de 8 dígitos. |
12345678901234 | 12345678901234 | Se admite un candidato de 14 dígitos. |
123456789012345 | vacío | No deben extraerse 14 dígitos de una secuencia numérica más larga. |
ABC-12X34 | vacío | No hay ningún candidato continuo de una longitud admitida. |
first 12345678 second 4006381333931 | 12345678 | Si coinciden varios candidatos, se conserva el primero. |
Qué comprobar antes de exportar
- Ambos patrones usan dígitos ASCII
[0-9]y solo admiten 8 dígitos o entre 12 y 14 dígitos. - Los dígitos del candidato deben ser contiguos. Si un proveedor inserta espacios o guiones dentro del código, añade una normalización separada y vuelve a probar los casos límite.
- Si coinciden varios candidatos, Eliminar todo excepto conserva el primero.
- Este método solo comprueba el formato y la longitud. No verifica el dígito de control EAN/UPC/GTIN ni confirma que exista un producto con ese código.