Los códigos de barras son una poderosa herramienta que mejora la eficiencia de las operaciones comerciales en varios dominios, incluyendo la gestión de inventarios, ventas, adquisiciones y logística. Permiten una entrada de datos más rápida, reducen los errores manuales y racionalizan los procesos, haciéndolos indispensables en entornos empresariales modernos. Odoo 18 ofrece una sólida plataforma para integrar la funcionalidad de código de barras en sus modelos, permitiendo a las empresas personalizar y utilizar códigos de barras para adaptarse a sus necesidades únicas.
En este blog, caminaremos a través de los pasos para crear y imprimir códigos de barras dinámicos en Odoo 18. Si bien este ejemplo demuestra el proceso utilizando el modelo de Orden de venta, los mismos principios se aplican a otros modelos.
Los códigos de barras ofrecen ventajas significativas, tales como:
Automatización: Simplificación de la entrada de datos durante operaciones como recogida de acciones o procesamiento de pedidos.
Precisión: Reducción de errores eliminando la entrada manual.
Eficiencia: Acelerar los flujos de trabajo y ahorrar tiempo.
Trazabilidad: Permitir la identificación y el seguimiento rápidos de los registros.
El siguiente ejemplo muestra cómo generar códigos de barras en Odoo 18 para pedidos de venta combinando la fecha de pedido y el número de referencia en un identificador único.
Paso 1: Ampliar el modelo para incluir un campo de código de barras
Para añadir la funcionalidad de código de barras, primero heredamos el modelo deseado e incluimos un nuevo campo de código de barras. El valor del código de barras se generará dinámicamente tras la creación discográfica.
de modelos de importación de odo, campos, api
clase SaleOrder (modelos.Modelo):
Herediano = 'venta.orden'
de barrade = campos.Char(cadeing="Barcode")
Puntos clave:
El campo de códigos de barras es un campo Char para almacenar el código de barras generado.
El método create asegura que el código de barras se genera automáticamente cuando se crea un nuevo orden de venta.
La lógica combina los campos de orden de fecha y nombre para crear un identificador único. Puedes modificar esta lógica según sea necesario.
Paso 2: Agrega el campo de códigos de barras a la vista de forma
Para mostrar el campo de código de barras en la interfaz de usuario, ampliamos la vista de forma existente del modelo Sale Order y añadimos el campo.
- ? xml versión="1.0" encoding="utf-8"? -
Odoo.
.record id="sale.orden.form.inherit" modelo="ir.ui.view"
Nombre de campo="name"-sale.orden.form.barcode-/field.
Nombre de campo="modelo""--order.orden/field.
Nombre de campo="inherit'id" ref="sale.view.order.form"/
Nombre de campo="arch" type="xml"
Oxpath expr="//field[name='payment-term'id'" position="after"
Nombre de campo= "barcode"/
*/ chpath".
-/field.
-/récord.
-/odoo.
Explicación:
El atributo herediano se refiere a la vista de forma original del modelo de la Orden de venta.
La expresión xpath coloca el campo de códigos de barras directamente después del campo de pago.term.id. Modificar esto según sea necesario para posicionar el campo en otro lugar.
Paso 3: Crear una acción para imprimir códigos de barras
Para imprimir códigos de barras, es necesario definir una acción de informe que enlaza con una plantilla de QWeb. Esta acción del informe se utiliza para generar documentos PDF que contengan los códigos de barras.
"record id="action.report.sale.barcode" model="ir.actions.report"
Nombre de campo="name"-Sale Order Barcode/field.
Nombre de campo="modelo""--order.orden/field.
Nombre de campo="report.type"-qweb-pdf-/field.
Nombre de campo="report.name"your-module.barcode.template./field
Nombre de campo="report-file"'your-module.barcode.template-/field.
Nombre de campo="print.report"name"'Sale Order Barcode (PDF)/field.
Nombre de campo="binding.model-id" ref="venta-management.model.sale-order"/
Nombre de campo="binding-type"report"/field.
-/récord.
Explicación:
Reemplace su módulo con el nombre técnico real de su módulo.
Los campos de registro y de presentación de informes especifican la plantilla de QWeb que se utilizará para el informe.
Paso 4: Define una plantilla de QWeb para el informe Barcode
La plantilla controla el diseño y diseño del código de barras en el PDF generado. El motor de renderizado de código de barras integrado de Odoo se utiliza para mostrar el código de barras como una imagen.
""template id="barcode'template"
T t-call="web.html.container"
T-foreach="docs" t-as="doc"
T t-call="web.external-layout"
Div class="page"
Ocárcea clase="oe"/
Div.
Clase div="col-5"
.h2-span t-field="doc.name"/-/h2-b/-
Estilo de span="margin-izquierda:-60px;"
Img t-if="doc.barcode"
estilo="ancho:400px;talla:70px;"
t-att-src="'/report/barcode/? código/a, tipo=%s&value=%s&width=%s&heightight % ('EAN13', doc.barcode, 265, 80)"/o
-/span.
Esti style="margin-left:100px" t-field="doc.barcode"/
-/Div.
-/Div.
-/Div.
-/t.
-/t.
-/t.
-/ tenlate.
Explicación:
La etiqueta "img" genera una imagen de código de barras usando el motor de código de barras de Odoo.
Salida:
En la Orden de Venta, hemos añadido un código de barras al campo de Barcode. Después de esto, el código de barras se puede imprimir navegando a las acciones - Imprimir - . Reatención Orden Barcode.
Los códigos de barras simplifican y aceleran las operaciones comerciales, convirtiéndolas en un componente esencial en cualquier sistema moderno. Este blog utiliza el modelo de la Orden de Venta como ejemplo para demostrar cómo crear e imprimir códigos de barras dinámicos en Odoo 18. Siguiendo los pasos descritos aquí, puede integrar la funcionalidad de código de barras en cualquier modelo de Odoo, mejorando la precisión y la eficiencia en toda su organización.
Ya sea que esté rastreando inventario, pedidos de procesamiento o manipulación de envíos, códigos de barras proporcionan una solución confiable y escalable para sus necesidades operativas. Tome esta guía como una base y adaptarla para crear un sistema de código de barras personalizado para su negocio.