在odoo pos收据上打印条形码

时间:2015-11-17 22:01:39

标签: openerp barcode

我需要使用posbox 在Odoo(v8) pos收据上打印条形码。 我试过这样:

<barcode encoding="CODE39"><t t-esc='receipt.coupon_code'/></barcode>

结果:没有打印任何内容。但是,如果我做一个测试,如:

<barcode encoding="CODE39">*123456798*</barcode>

打印条形码。

我也尝试过这样做没有成功:

 <img t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s' % ('CODE39', receipt.coupon_code, 600, 100)" style="width:300px;height:50px"/> 

有什么建议吗?

非常感谢。

2 个答案:

答案 0 :(得分:1)

事实上,

<barcode encoding="CODE39"><t t-esc='receipt.coupon_code'/></barcode>

完美运作......

问题是receipt.coupon_code的长度。

有关信息,此coupon_code是随机生成的。 它使用8位代码成功打印条形码,以“*”开头和结尾(例如*12345678*

答案 1 :(得分:0)

我创建了一张收据,我知道如何在收据中写条形码,因为您必须在图像中转换条形码然后拆分它。您必须在.xml文件中进行更改。步骤如下:

使用<img>标记在图像中转换此代码,之后将其拆分为:

<img t-if="field_name" t-att-src="'/report/barcode/?type=%s&amp;value=%s&amp;width=%s&amp;height=%s&amp;humanreadable=%s' % ('Code128', field_name.split(' ')[1], 600, 100, 1)" style="width:300px;height:50px"/>

此处 field_name 是存储条形码的py字段。