Odoo PoS 获取订单产品
Odoo PoS get orderline product
我正在更新 Point_Of_Sale 中的 update_payment_summary 函数,该函数是 PaymentScreenWidget[=22= 的一部分].
现在我想从订单中检索产品。
我试过
var order = this.pos.get('selectedOrder');
var orderlines = order.get('orderLines').models;
但是当我打印订单时,我得到 [object Object]
知道如何获取每个订单行的产品对象吗?
使用 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);
是的,它显示对象是有原因的。
OrderlineCollection 定义。
module.OrderlineCollection = Backbone.Collection.extend({
model: module.Orderline,
});
订单模型中的订单行定义。
orderLines: new module.OrderlineCollection()
因此,如果您观察上面的代码,它表明 orderline 是 OrderlineCollection 模型的对象,当您从订单模型获取 orderlines 时,它将为您提供 [=26= 的对象]OrderlineCollection.
为了确定对象内部有什么,您可以遍历它或者您可以打印该对象的键值。
alert(orderline.forEach(function(k,v){k + " => + v}));
或者您可以遍历订单行。
for (line in orderline){
alert(line.product_id);
}
我正在更新 Point_Of_Sale 中的 update_payment_summary 函数,该函数是 PaymentScreenWidget[=22= 的一部分]. 现在我想从订单中检索产品。
我试过
var order = this.pos.get('selectedOrder');
var orderlines = order.get('orderLines').models;
但是当我打印订单时,我得到 [object Object]
知道如何获取每个订单行的产品对象吗?
使用 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);
是的,它显示对象是有原因的。
OrderlineCollection 定义。
module.OrderlineCollection = Backbone.Collection.extend({
model: module.Orderline,
});
订单模型中的订单行定义。
orderLines: new module.OrderlineCollection()
因此,如果您观察上面的代码,它表明 orderline 是 OrderlineCollection 模型的对象,当您从订单模型获取 orderlines 时,它将为您提供 [=26= 的对象]OrderlineCollection.
为了确定对象内部有什么,您可以遍历它或者您可以打印该对象的键值。
alert(orderline.forEach(function(k,v){k + " => + v}));
或者您可以遍历订单行。
for (line in orderline){
alert(line.product_id);
}