如何在 Pos Receipt (Odoo13) 中显示产品默认代码(内部参考)

Posted

技术标签:

【中文标题】如何在 Pos Receipt (Odoo13) 中显示产品默认代码(内部参考)【英文标题】:How to show product default code (internal reference) in Pos Receipt (Odoo13) 【发布时间】:2021-04-25 18:45:45 【问题描述】:

我想在收据中显示产品默认代码。我可以在 models.js 或其他中继承或编辑吗? 谢谢。

export_for_printing: function()
        return 
            ...
            default_code:    this.get_default_code(),
        ;
    ,


 get_default_code: function()
        return this.product.default_code;
    ,

【问题讨论】:

在收据模板所在的静态/src/XML 文件的销售点上有一个 jquery 模板。您需要扩展它并添加您的自定义代码,它将出现在收据上。 @Dipen Shah,我扩展了模板:OrderReceipt 并添加了 ;从模型 product.product 或 product.template 添加字段;我应该在 models.js 中添加它? 【参考方案1】:

修改解决方案:

要获得产品的其他字段访问权限,您需要在 JSXML 模板中进行自定义。

JS 代码:

odoo.define('ypour_app.your app', function (require) 
"use strict";

var models = require('point_of_sale.models');
var OrderlineSuper = models.Orderline;
models.Orderline = models.Orderline.extend(
   export_for_printing : function() 
        var data = OrderlineSuper.prototype.export_for_printing.call(this);
        // this.get_product() => you can have here all the product data [barcode/default_code/ etc.]
        data.product_default_code = this.get_product().default_code;
        return data;
    
);

);

XML 代码:

<t t-extend="OrderReceipt">
    <t t-jquery="t[t-foreach*='receipt.orderlines']" t-operation="append">
        <b>Default Code </b>: <t t-esc="line.product_default_code"/>
    </t>
</t>

【讨论】:

我收到错误:无法读取未定义的属性“default_code” .... 试试这个: TypeError:dict.line.get_product 不是函数 @Ing 我已经编辑了答案。您可以测试代码供您参考。

以上是关于如何在 Pos Receipt (Odoo13) 中显示产品默认代码(内部参考)的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Odoo POS 收据中添加二维码图像

在Odoo 10中继承POS Javascript函数

Odoo 13 如何安装自定义模块

如何在 Odoo 13 中通过搜索从 ir.attachment 获取所有记录?

尝试使用 rpc.query 将数据从 javascript 发送到 python POS odoo

Odoo 模块的升级:11,12升级13