OdooWiki OCA HUB

Generate Barcodes (Abstract)

barcodes_generator_abstract folder_open OCA/stock-logistics-barcode open_in_new
Tools Licencia: AGPL-3

Este módulo amplía la funcionalidad de Odoo, permitiendo al usuario generar un código de barras en función de una regla de código de barras dada para cualquier Modelo.

Por ejemplo, si el patrón de código de barras es "20.....{NNNDD}":

  • el código EAN13 comenzará por '20',
  • seguido de 5 dígitos (denominados Base del código de barras en este módulo),
  • seguido de otros 5 dígitos para definir el precio variable con 2 decimales,
  • el último dígito (el 13º dígito) es el dígito de control (es decir, el checksum).

Con este módulo, es posible:

  • Asignar un patrón (barcode.rule) a un modelo
  • Definir una base del código de barras:
  • manualmente, si la base del código de barras debe ser establecida por un usuario (típicamente un código interno definido en su empresa).
  • automáticamente mediante una secuencia, si desea dejar que Odoo incremente una secuencia (caso típico de una incrementación del número de cliente).
  • Generar un código de barras, basado en el patrón definido y la base del código de barras

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 19.0

Te permite adjuntar una regla de código de barras a cualquier modelo de Odoo para que los códigos de barras puedan generarse automática o manualmente a partir de un patrón, con la parte central (la base) escrita por el usuario o producida por una secuencia.

Este módulo añade ajustes de generación de códigos de barras a las reglas de códigos de barras existentes en Odoo. En una regla de código de barras ahora se elige un tipo de generación: sin generación, base establecida manualmente o base gestionada por una secuencia. También se elige el modelo al que se aplica la regla, y el relleno (número de puntos en el patrón) se calcula automáticamente a partir del patrón.

Cuando el tipo de generación es una secuencia, Odoo crea una secuencia de numeración para la regla si no hay ninguna establecida, usando el nombre de la regla y el relleno. Si se marca Generación automática, entonces cada vez que se crea un registro que usa esa regla o se cambia su regla de código de barras, Odoo rellena la base del código de barras desde la secuencia y genera el propio código de barras, pero solo si esos valores siguen estando vacíos.

Un componente reutilizable (mixin) proporciona los campos Barcode Rule, Barcode Base y tipo de generación, además de botones/acciones para generar la base y el código de barras. Generar una base solo funciona para reglas cuyo tipo es una secuencia; de lo contrario, se muestra un mensaje de error. El código de barras se construye a partir del patrón de la regla, sustituyendo los puntos por la base con relleno y los marcadores N y D por ceros, y luego se calcula la suma de verificación.

Un nuevo grupo de usuarios, Generate Barcodes, controla el acceso. Se añade una entrada de menú en el área de configuración de códigos de barras, y los formularios de regla de código de barras y nomenclatura muestran los nuevos campos.

Depende de

barcodes

Menús que añade

menu_barcode_rule
Modelos y campos (2)
  • barcode.rule · amplía un modelo existentepadding, sequence_id (Generation Sequence), generate_type, generate_model, generate_automate (Automatic Generation)
  • barcode.generate.mixin · modelo nuevobarcode_base, generate_type, barcode_rule_id (Barcode Rule)

Texto generado por IA (DeepSeek) al leer el código de la versión 19.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 8 confirmadas, 1 sin información de 9 versiones.

Fuentes · Odoo 17.0

Confirmado el 2026-11-03 en la rama 17.0 de OCA/stock-logistics-barcode.

terminal Instalación y uso

Documentación de OCA · Odoo 19.0

Este módulo utiliza una librería extra de python llamada 'python-barcode' que debe instalar para que la generación de códigos de barras funcione correctamente.

sudo pip install python-barcode

Para configurar este módulo, debe:

  • Ir a Ajustes / Técnico / Secuencias e identificadores / Nomenclaturas de códigos de barras
  • Seleccionar una nomenclatura
  • Crear o seleccionar una regla
  • Para la generación manual, establecer:
  • 'Base set Manually' en 'Generate Type'
  • Establecer el modelo
  • Para la generación automática, establecer:
  • 'Base managed by Sequence' en 'Generate Type'
  • Establecer el modelo
  • Generar una nueva secuencia mediante el botón, o asignar una existente

En todos los casos, el relleno se calculará automáticamente, en función del número de '.' en el campo Barcode Pattern.

Este módulo es un módulo abstracto. Puedes configurar Barcode Rule, pero para habilitar esta función, necesitas instalar un módulo extra para un modelo determinado. Este repositorio proporciona los módulos 'barcodes_generator_product' y 'barcodes_generator_partner' para generar códigos de barras para el modelo product o partner.

Alternativamente, puedes desarrollar un módulo personalizado para un modelo personalizado. Consulta las partes de 'Inheritance'.

Si quieres generar un código de barras para otro modelo, puedes crear un módulo personalizado que dependa de 'barcodes_generator_abstract' y heredar tu modelo de esta forma:

class MyModel(models.Model):
    _name = 'my.model'
    _inherit = ['my.model', 'barcode.generate.mixin']

class barcode_rule(models.Model):
    _inherit = 'barcode.rule'

    generate_model = fields.Selection(selection_add=[('my.model', 'My Model')])

Finalmente, deberías heredar la vista de tu modelo añadiendo botones y campos.

Note

Tu modelo debería tener un campo 'barcode' definido.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.