跳转到主要内容

为任何模型生成条形码

项目描述

License: AGPL-3

为任何模型生成条形码(摘要)

此模块扩展了Odoo功能,允许用户为任何模型根据给定的条形码规则生成条形码。

例如,产品的一个典型模式是“20……{NNNDD}”,这意味着:* EAN13代码以“20”开头 * 然后是5位数字(在本模块中称为条形码基数) * 然后是5位其他数字来定义可变价格 * 13位校验码

使用此模块,可以实现以下功能:

  • 将模式(条形码规则)应用于模型

  • 定义条形码基数
    • 手动定义,如果条形码基数必须由用户设置。 (通常是在公司中定义的内部代码)

    • 自动通过序列,如果您希望让Odoo递增序列。 (客户编号递增的典型情况)

  • 根据定义的模式和条形码基数生成条形码

安装

此模块使用名为“viivakoodi”的额外Python库,您应该安装它以使条形码生成正常工作。“viivakoodi”是“pyBarcode”的更活跃形式。

sudo pip install viivakoodi

配置

要配置此模块,您需要

  • 转到设置/技术/序列和标识符/条形码命名法

  • 选择一个命名法

  • 创建或选择一个规则

/barcodes_generator_abstract/static/description/barcode_rule_tree.png
  • 对于手动生成,在“生成类型”中设置
    • “手动设置基数”

    • 设置模型

/barcodes_generator_abstract/static/description/barcode_rule_form_manual.png
  • 对于自动生成,在“生成类型”中设置
    • “由序列管理基数”

    • 设置模型

    • 通过按钮生成新的序列,或分配现有的序列

/barcodes_generator_abstract/static/description/barcode_rule_form_sequence.png

在所有情况下,填充将根据条形码模式字段中的“.”的数量自动计算。

用法

本模块是一个抽象模块。您可以配置条码规则,但为了启用此功能,您需要为特定模型安装一个额外的模块。本仓库提供“barcodes_generator_product”和“barcodes_generator_partner”模块,用于生成产品或合作伙伴模型的条码。

或者,您可以开发一个针对自定义模型的自定义模块。参见“继承”部分。

在Runbot上尝试此模块

Try me on Runbot

继承

如果您想为其他模型生成条码,您可以创建一个继承自“barcodes_generator_abstract”的自定义模块,并像这样继承您的模型

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’)])

最后,您应该继承模型视图,添加按钮和字段。

注意

您的模型应定义一个名为“barcode”的字段。

已知问题/路线图

  • 在barcode.rule模型中,可以在“type”和“generate_model”字段之间设置约束和域系统。

  • barcode.rule中,约束正在清除缓存。在约束中修改是不良做法,应将其移动到其他位置。

错误追踪器

错误在GitHub Issues上追踪。如果在遇到麻烦时,请检查您的问题是否已报告。如果您是第一个发现它的人,请通过提供详细且受欢迎的反馈来帮助我们解决问题。

致谢

图片

  • 模块的图标基于Oxygen团队的作品,并受LGPL许可的保护:[http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org.html](http://www.iconarchive.com/show/oxygen-icons-by-oxygen-icons.org.html)

贡献者

  • Sylvain LE GAL ([https://twitter.com/legalsylvain](https://twitter.com/legalsylvain))

  • Dave Lasley <dave@laslabs.com>

维护者

Odoo Community Association

本模块由OCA维护。

OCA,或Odoo社区协会,是一个非营利组织,其使命是支持Odoo功能的协作开发并推广其广泛使用。

要为此模块做出贡献,请访问[https://odoo-community.org](https://odoo-community.org)。

项目详情


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

本版本没有可用的源分发文件。请参阅关于生成分发存档的教程。

构建的分发