将小计添加到 Odoo 销售点屏幕

Add subtotal to Odoo Point of Sale Screen

我正在尝试在添加产品的部分向销售点屏幕添加小计,以便收银员不仅可以看到税金和总计,还可以看到小计。

我已经通过扩展静态 XML 中的 OrderWidget 成功添加了小计。

现在我正在尝试扩展 javascript 代码,我认为它会在您添加产品时修改税金和总计的值。这是我正在扩展 OrderWidget 的 class 的名称,这是我正在扩展 update_summary

的方法

我遵循与从模型 javascript 模块扩展 PosModel 相同的编码,但在这种情况下,我使用的是屏幕模块

这是我的代码,但由于某种原因,我的方法没有被调用。我是不是扩展错了Widget?

var OrderWidgetParent = screens.OrderWidget.prototype;

screens.OrderWidget = screens.OrderWidget.extend({        
    update_summary: function() {
        console.debug('--------------- START');
        OrderWidgetParent.update_summary.call(this);

        var order = this.pos.get_order();
        if (!order.get_orderlines().length) {
           return;
        }

        this.el.querySelector('.summary .total .subentry .subtotal') 
        .textContent = this.format_currency(total - taxes);            

        console.debug('--------------- END');
    }
}); 

您只需在 xml 模板文件中调用 models.js 的基本方法。方法是:'get_total_without_tax'

此方法获取总的排除税。所以您可以将其视为订单的小计。

解决方案是使用 include 而不是 extend。