ODOO POS获取订单产品



我正在更新 update_payment_summary point_of_sale中的函数,此功能是 paymentscreenwidget 的一部分。现在我想从订购中检索产品。

我尝试了

var order = this.pos.get('selectedOrder');
var orderlines = order.get('orderLines').models;

但是当我打印订购时,我得到 [对象对象]

有什么想法我如何获得每个订单的产品对象?

是的,有一个原因。

OrderLineCollection定义。

module.OrderlineCollection = Backbone.Collection.extend({
        model: module.Orderline,
});

顺序模型中的订单线定义。

orderLines:     new module.OrderlineCollection()

因此,如果您观察到上面的代码,则表明OrderLine是 OrderLineCollection 模型的对象,并且在您从订单模型中获取订单时,它将为您提供 orderlinecollection 的对象。

为了确定可以通过它迭代的对象内部的内容,或者您可以从该对象打印键值。

alert(orderline.forEach(function(k,v){k + " => + v}));

,也可以循环循环。

for (line in orderline){
    alert(line.product_id);
}

使用get_orderlines()功能从特定顺序获取订购。

var order = this.pos.get_order();
var products = _.map(order.get_orderlines(), function (line) {return line.product; });
console.log(products);

在这里,我用户Underscore.js创建产品列表。

您可以使用类似的产品列表迭代循环

for(var i =0; i < products.length; i++)
    console.log(products[i].id);

最新更新