Plantillas y fórmulas
Diseñe etiquetas personalizadas con códigos de barras integrados, fórmulas de cálculo, campos dinámicos y reglas de visibilidad condicional. Todo directamente en el dispositivo, sin servidores externos.
Descripción general
Una plantilla es el "modelo" de una etiqueta: define qué aparece, dónde aparece y cómo se calcula cada valor. Una vez creada, la plantilla se reutiliza para cada impresión: los datos reales del producto se insertan automáticamente en el momento de la impresión, sin que tengas que hacer nada.
El sistema de plantillas de SiltaFlow está diseñado para ser potente sin ser complicado. Puede crear etiquetas simples con solo su nombre y código de barras en minutos, o diseñar etiquetas avanzadas con precios calculados, texto condicional y diseños complejos, todo usando un editor visual y fórmulas similares a Excel.
Toda la generación de etiquetas se realiza en el dispositivo, sin conexión a Internet. Una vez que se hayan cargado los datos del producto desde Odoo, también podrá imprimir sin conexión.
El editor de plantillas
Para acceder al editor, vaya a la pantalla Imprimir etiquetas de productos y toque el botón Administración de plantillas. Desde aquí puedes crear nuevas plantillas o editar las existentes.
Cuando crea una nueva plantilla, primero establece las dimensiones físicas de la etiqueta (ancho y alto en milímetros) y la resolución de la impresora que utilizará. Estos dos valores determinan el "lienzo" en el que trabajará: el editor convierte automáticamente milímetros en píxeles según la resolución de la impresora.
El lienzo de la etiqueta
El lienzo muestra una vista previa de la etiqueta en tiempo real. Cada elemento que agrega aparece inmediatamente en la posición que estableció. Puede arrastrar elementos para reposicionarlos o ingresar coordenadas numéricas precisas si necesita un posicionamiento exacto.
El botón Vista previa carga un producto real de su catálogo Odoo y muestra la etiqueta con los datos reales del producto, incluidos los códigos de barras generados y los resultados de las fórmulas. Es la forma más rápida de comprobar que todo funciona correctamente antes de imprimir.
Utilice siempre una vista previa con un producto real antes de comenzar una impresión de producción. De este modo podrá verificar que las fórmulas den el resultado esperado y que los códigos de barras sean legibles en las dimensiones elegidas.
Componentes disponibles
Una etiqueta se compone de uno o más componentes, cada uno con un tipo específico. Para agregar un componente a la etiqueta, toque el botón + en el editor y elija el tipo de la lista.
| Componente | ¿Qué hace él? | Uso típico |
|---|---|---|
| Texto | Mostrar texto estático o dinámico. Admite variables de producto, fórmulas y texto en negrita/cursiva. | Nombre del producto, precio, código interno, breve descripción. |
| código de barras | Genera y muestra un código de barras o código QR. Los datos a codificar pueden ser un campo de producto o una fórmula. | Código de barras EAN-13, Código QR con URL Odoo, Código 128 en código interno |
| Rectángulo | Dibuja un rectángulo con un borde y/o relleno de color, con esquinas redondeadas opcionalmente. | Marcos, fondos de sección, separadores visuales. |
| Línea | Dibuja una línea recta entre dos puntos, con color y grosor configurables. | Separadores horizontales y verticales |
| Imagen | Muestra una imagen fija incrustada en la plantilla (logotipo de la empresa, iconos, pictogramas). | Logotipo de la empresa, símbolo CE, pictogramas de peligro. |
| mesa | Muestre datos en filas y columnas con bordes y encabezados configurables. | Tablas nutricionales, especificaciones técnicas, lista de componentes. |
| Fecha/Hora | Inserta automáticamente la fecha y hora del momento exacto de la impresión, en el formato que prefieras. | Fecha de embalaje, fecha de impresión de etiquetas, marca de tiempo del lote |
| Formulario | Dibuja formas geométricas personalizadas (triángulos, flechas, formas libres) con color y borde configurables. | Flechas direccionales, triángulos de advertencia, decoraciones gráficas. |
Campos dinámicos del producto
Los campos dinámicos le permiten insertar automáticamente datos del producto Odoo en la etiqueta. Simplemente escriba el nombre del campo entre llaves en el texto del componente.
Por ejemplo, si escribe {nome} en el campo de contenido de un componente de texto, se reemplazará con el nombre real del producto al imprimir. Lo mismo funciona para todos los campos de productos disponibles en Odoo.
Campos más utilizados
| campo | lo que muestra |
|---|---|
{nome} |
El nombre del producto |
{codice_interno} |
El código interno (referencia) del producto en Odoo |
{barcode} |
El código de barras del producto. |
{prezzo_vendita} |
El precio de venta configurado en Odoo |
{peso} |
El peso del producto en kg. |
{categoria} |
La categoría de producto del producto. |
{descrizione} |
La descripción interna del producto. |
{lotto} |
El número de lote (para productos con trazabilidad activa) |
Todos los campos estándar de Odoo están disponibles como variables dinámicas. Si tiene campos personalizados en su Odoo, puede usarlos de la misma manera siempre que estén incluidos en los campos sincronizados en la configuración de SiltaFlow.
Generación de código de barras
El componente Barcode genera el código directamente en el dispositivo, en tan sólo unos milisegundos. No necesitas una conexión a Internet para generar los códigos de barras: el cálculo se realiza de forma totalmente local.
Cada componente de Código de barras tiene dos configuraciones principales: el formato (el tipo de código a generar) y los datos a codificar (que pueden ser un campo de producto, una fórmula o texto fijo). También puede elegir si desea mostrar el texto del código debajo de las barras.
Formatos disponibles
| Formato | Me gusta | Uso típico |
|---|---|---|
| Code 128 | lineal | Códigos internos de producto, números de lote, selección |
| EAN-13 | lineal | Productos minoristas y artículos de consumo a gran escala. |
| EAN-8 | lineal | Productos pequeños con espacio limitado |
| QR Code | matriz 2D | URL Odoo, enlace a ficha de producto, datos estructurados |
| Data Matrix | matriz 2D | Etiquetas muy pequeñas, farmacéuticas, industriales. |
| PDF 417 | Apilado 2D | Documentos de transporte, documentos de identidad. |
| Code 39 | lineal | Compatibilidad con sistemas heredados |
| ITF | lineal | Embalaje secundario (GTIN-14) |
| UPC-A | lineal | Mercados norteamericanos |
| Aztec | matriz 2D | Alta densidad de datos, sector transporte. |
| Codabar | lineal | Bibliotecas, bancos de sangre. |
| Code 93 | lineal | Logística, sector aeroespacial. |
| UPC-E | lineal | Productos pequeños, formato UPC comprimido |
Si el código de barras es difícil de leer, aumente el tamaño del componente Código de barras en el editor. Los códigos de barras lineales (Código 128, EAN) requieren un ancho mínimo de aproximadamente 20 mm para ser leídos fácilmente por cualquier escáner.
Fórmulas de cálculo
Las fórmulas le permiten calcular valores en el momento de la impresión, a partir de los datos del producto. La sintaxis es similar a la de Excel: funciones en mayúsculas, argumentos entre paréntesis, separados por comas.
Puede utilizar fórmulas en el campo de contenido de cualquier componente de Texto o Código de barras. Por ejemplo, para mostrar el precio redondeado a dos decimales con el signo del euro delante, escriba: CONCAT("€ ", ROUND(precio_venta, 2)).
Funciones matemáticas
| Función | Descripción | Ejemplo |
|---|---|---|
ROUND(valore, decimali) |
Redondea un número al número indicado de decimales | ROUND(prezzo_vendita, 2) |
IF(condizione, vero, falso) |
Devuelve el primer valor si la condición es verdadera, el segundo si es falsa | IF(prezzo_vendita > 50, "PREMIUM", "STD") |
MIN(a, b, ...) |
Devuelve el valor más pequeño entre los indicados | MIN(prezzo_vendita, prezzo_costo) |
MAX(a, b, ...) |
Devuelve el valor más grande entre los indicados | MAX(giacenza, 0) |
ABS(valore) |
Devuelve el valor absoluto (siempre positivo) | ABS(differenza_inventario) |
SQRT(valore) |
Calcular la raíz cuadrada | SQRT(area) |
Funciones de texto
| Función | Descripción | Ejemplo |
|---|---|---|
CONCAT(a, b, ...) |
Fusiona varios textos en uno | CONCAT(nome, " - ", codice_interno) |
LEFT(testo, n) |
Toma los primeros n caracteres del texto. | LEFT(nome, 20) |
RIGHT(testo, n) |
Toma los últimos n caracteres del texto. | RIGHT(codice_interno, 6) |
MID(testo, inizio, lunghezza) |
Extrae una parte del texto de la ubicación indicada. | MID(codice_interno, 3, 4) |
LEN(testo) |
Cuente el número de caracteres en el texto. | LEN(nome) |
UPPER(testo) |
Convierte texto a mayúsculas | UPPER(nome) |
LOWER(testo) |
Convierte texto a minúsculas | LOWER(categoria) |
TRIM(testo) |
Elimina los espacios iniciales y finales. | TRIM(nome) |
Campos calculados
Los campos calculados son valores intermedios que puede definir una vez y reutilizar en varios componentes de la misma plantilla. Funcionan como celdas de Excel: asigna un nombre a cada campo calculado, escribe su fórmula y luego puedes usar ese nombre como si fuera un campo de producto en cualquier otro componente.
Por ejemplo, puede crear un campo calculado llamado precio_impuesto con la fórmula ROUND(precio_venta * 1,22, 2). Luego en los componentes de Texto puedes simplemente escribir {prezzo_iva} para mostrar el precio con IVA, sin repetir la fórmula cada vez.
Los campos calculados pueden depender de otros campos calculados: el sistema resuelve automáticamente el orden de cálculo correcto, por lo que no tiene que preocuparse por definirlos en un orden específico.
Utilice campos calculados para simplificar plantillas complejas. Si tiene una fórmula larga que utiliza en varios lugares, cree un campo calculado con un nombre descriptivo: la plantilla se vuelve más legible y más fácil de mantener.
Visibilidad condicional
La visibilidad condicional le permite mostrar u ocultar un componente según las características del producto que está imprimiendo. Cada componente puede tener una regla: si la condición es verdadera, el componente aparece; si es falso no aparece en la etiqueta.
Esta característica es muy útil para crear una única plantilla que se adapta a diferentes productos. En lugar de crear plantillas independientes para cada caso, crea una plantilla única con componentes condicionales.
Ejemplos prácticos
- Campo de lote: muestra el campo de lote solo si el producto tiene habilitado el seguimiento de lotes. Condición:
tracciabilita == "lotto" - Palabra "OFERTA" — Muestra la palabra "OFERTA" solo si el producto tiene un descuento activo. Condición:
sconto_percentuale > 0 - Fecha de vencimiento — Muestra la fecha de vencimiento solo para productos con una fecha de vencimiento configurada. Condición:
giorni_scadenza > 0 - Insignia "PREMIUM": muestra una insignia de color solo para productos con un precio superior a un umbral. Condición:
prezzo_vendita > 100
Las reglas de visibilidad usan la misma sintaxis que las fórmulas: puede usar operadores de comparación (>, <, ==, !=), operadores lógicos (Y, O) y cualquier campo de producto. El componente es visible si el resultado de la regla es verdadero.
Texto con formato mixto
El componente Texto admite formatos mixtos dentro del mismo bloque de texto: puede tener una palabra en negrita, otra en cursiva y otra en un color diferente, todo en el mismo componente.
Para aplicar formato, utilice etiquetas de marcado en el campo de contenido del componente:
<b>testo in grassetto</b>- para negrita<i>testo in corsivo</i>- para cursiva<u>testo sottolineato</u>— para subrayar<font size="18" color="#FF0000">testo</font>— para tamaño y color personalizados
Puede combinar formato con campos dinámicos. Por ejemplo: <code>Prodotto: <b>{nome}</b> — Prezzo: <font color="#E53E3E">€ {prezzo_vendita}</font></code> mostrará el nombre del producto en negrita y el precio en rojo.
Diseño de etiquetas múltiples (hojas Avery)
Si imprime en papel A4 o Carta con etiquetas dispuestas en una cuadrícula (como hojas Avery), puede configurar el diseño directamente en SiltaFlow. No se necesita software externo: la aplicación calcula automáticamente la posición de cada etiqueta en la página.
Configuración de diseño
- Filas y columnas — Establece cuántas etiquetas hay por fila y por columna. Para una hoja Avery de 2x5 (10 etiquetas por hoja), ingrese 2 columnas y 5 filas.
- Márgenes del papel — Establece los márgenes de página superior, inferior, izquierdo y derecho en milímetros. Utilice los valores que se muestran en el paquete de la hoja de etiquetas.
- Espaciado de etiquetas — El espacio horizontal y vertical entre etiquetas. Para muchas hojas de Avery, el espacio es de 0 mm.
- Posición inicial — Si la hoja ya está parcialmente utilizada, indica desde qué celda comenzar. Por ejemplo, si ya imprimió las primeras 4 etiquetas de una hoja de 10, configure la fila 1, columna 5 para que comience desde la quinta celda.
Utilice siempre la posición inicial al fotografiar una hoja parcialmente impresa. Evitas desperdiciar papel y ahorras tiempo: no necesitas imprimir una hoja entera si solo necesitas unas pocas etiquetas.
Preestablecido: Impresión con un toque
Un ajuste preestablecido guarda la combinación completa de configuración de impresora, plantilla y diseño con el nombre que usted elija. La próxima vez que necesite imprimir, en lugar de reconfigurar todo desde cero, simplemente toque el nombre del ajuste preestablecido y la impresión comenzará inmediatamente.
Los ajustes preestablecidos son especialmente útiles para tareas que repites con frecuencia. Por ejemplo, puede tener un ajuste preestablecido de "Recepción de mercancías" que use la impresora del almacén Zebra con la plantilla de etiqueta de recepción, y un ajuste preestablecido de "Etiquetas de precio" separado que use el Brother cerca de las cajas con la plantilla de etiqueta de precio.
Cómo crear un ajuste preestablecido
- Configure la impresora, la plantilla y el diseño como le gustaría usarlos
- Toque el botón Guardar ajuste preestablecido en la barra de herramientas
- Asigne al valor preestablecido un nombre descriptivo (por ejemplo, "Zebra Almacén — Etiqueta estándar")
- El preset está inmediatamente disponible en la lista. La próxima vez, toque su nombre para comenzar a imprimir directamente.
Los ajustes preestablecidos también guardan su impresora favorita con sus parámetros de conexión. Al usarlo, SiltaFlow intenta reconectarse directamente a esa impresora sin tener que buscar nuevamente.
Ejemplos prácticos
Ejemplo 1: etiqueta básica con nombre y código de barras
La plantilla más sencilla posible: nombre del producto en la parte superior y código de barras interno en el centro.
- Cree una nueva plantilla, establezca las dimensiones (por ejemplo, 60 mm × 30 mm) y la resolución de la impresora (203 ppp)
- Agregue un componente Texto. En el campo de contenido escriba
{nome}. Establezca alineación en negrita y central. - Agregue un componente Código de barras debajo del texto. Elija el formato Código 128 y configure los datos en
{codice_interno}. Habilite la visualización de texto debajo del código de barras. - Toque Vista previa para verificar el resultado y luego guarde la plantilla.
Ejemplo 2: Etiqueta de precio con escritura condicional "OFERTA"
Una etiqueta que muestra el precio calculado y las palabras "OFERTA" solo para productos en promoción.
- Cree la plantilla con las dimensiones de la etiqueta (por ejemplo, 50 mm × 30 mm)
- Agregue un componente Texto para el nombre:
{nome} - Agregue un componente Texto para el precio con fórmula:
CONCAT("€ ", ROUND(prezzo_vendita, 2)). Establezca la fuente grande y en negrita. - Agregue un componente Texto con el texto "OFERTA". En la configuración del componente, en la sección Visibilidad, establezca la condición:
sconto_percentuale > 0. Establece el color del texto en rojo. - Como adelanto, prueba con un producto con descuento y otro sin descuento: la palabra "OFERTA" debe aparecer sólo en el primer caso.
Ejemplo 3: etiqueta de código QR que apunta a la tarjeta Odoo
Un código QR que, visto con cualquier smartphone, abre directamente la ficha del producto en el backend Odoo.
- Crea la plantilla con las dimensiones deseadas (al menos 40 mm × 40 mm para el QR)
- Agregue un componente Código de barras, elija el formato Código QR.
- En el campo indicado, utilice la fórmula:
CONCAT("https://tuoodoo.com/web#id=", id_prodotto, "&model=product.template"). Reemplace youroodoo.com con la dirección de su servidor real Odoo. - Agregue un componente de Texto debajo del código QR con el nombre del producto y el código interno.
- Obtenga una vista previa de que el código QR se genere correctamente y luego guárdelo.
Consejos
Pruebe siempre las fórmulas en vista previa antes de usarlas en producción. Si una fórmula contiene un error, el editor muestra qué componente tiene el problema y una descripción del error; la depuración es rápida incluso para fórmulas complejas.
Puede crear cadenas de campos calculados donde uno depende del otro. Por ejemplo: precio_iva = ROUND(precio_venta * 1.22, 2), luego precio_etiqueta = CONCAT("€ ", precio_iva). El sistema calcula todo en el orden correcto de forma automática.
Cree un ajuste preestablecido separado para cada operación recurrente: uno para recibir mercancías, otro para etiquetas de precios y otro para etiquetas de envío. Con los ajustes preestablecidos pasas de la configuración a la impresión con un solo toque.
Utilice la visibilidad condicional para reducir la cantidad de plantillas que necesita administrar. Una única plantilla con componentes condicionales funciona bien para productos muy diferentes; es más fácil de mantener que diez plantillas separadas y casi idénticas.
El componente Fecha/Hora siempre imprime la hora exacta de la impresión física. Úselo para etiquetas de embalaje o producción: cada etiqueta tendrá su propia marca de tiempo precisa, incluso en una impresión por lotes de cientos de artículos.
Requisitos
Para utilizar las plantillas y fórmulas de SiltaFlow necesita:
- Dispositivo Android con versión 10 o posterior
- Una cuenta Odoo configurada en SiltaFlow (para cargar datos de productos)
- Una impresora compatible configurada (consulte la guía Impresoras compatibles)
- Para diseño de varias etiquetas: Imprima a través de Android Imprima con hojas Avery estándar