IR

ir是infomation repository的缩写,意思是信息仓库,即这个架构下的所有对象都是为构建信息化服务的。在此架构下的对象有

  • ir.actions
  • ir.actions.report
  • ir.attachemnt
  • ir.config.parameter
  • ir.cron
  • ir.fields
  • ir.filters
  • ir.http
  • ir.logging
  • ir.mail.server
  • ir.module
  • ir.property
  • ir.qweb
  • ir.qweb.fields
  • ir.rule
  • ir.sequence
  • ir.translation
  • ir.ui.menu
  • ir.ui.view

ir.ui.view

ir.ui.view 是odoo用来构建视图的对象,常见的视图类型例如 表单(form)、树形列表(tree)、图表(graph)、日历(calendar)、看板(kanban)等都是ir.ui.view中一种类型。

ir.actions.report

ir.actions.report对象用来处理报表相关的处理动作。

条码打印

利用ir.actions.report的barcode方法我们可以生成各种格式的条形码。下面是一个生成Code128格式的条形码的例子。

barcode = request.env['ir.actions.report'].barcode('Code128', order_name)

headers = [
    ('Content-Type', 'image/png'),
    ('Content-Length', len(barcode))
]
return request.make_response(barcode, headers)

下面我们详细看一下barcode方法的用法。

@api.model
def barcode(self, barcode_type, value, **kwargs):
    ...
  • barcode_type: 指定条码的格式(支持的格式:EAN13,EAN8,DataMatrix,QR,Code128), 默认的是Code128格式
  • value: 条码的文本值。

该方法返回一个PNG格式的图片,如果条码生成失败,则会抛出异常。

results matching ""

    No results matching ""