我不知道如何在 screen.js
下面添加 res.partner
对象
print_xml: function() {
var env = {
widget: this,
pos: this.pos,
order: this.pos.get_order(),
receipt: this.pos.get_order().export_for_printing(),
paymentlines: this.pos.get_order().get_paymentlines()
};
render_receipt: function() {
var order = this.pos.get_order();
this.$('.pos-receipt-container').html(QWeb.render('PosTicket',{
widget:this,
order: order,
partner:partner,
receipt: order.export_for_printing(),
orderlines: order.get_orderlines(),
paymentlines: order.get_paymentlines(),
}));
};
};
我试图在上面的 javascript 中添加合作伙伴对象,但它不起作用。
我是 odoo 的新手,我也不了解 JavaScript,所以请帮我解决这个问题。
如果我能够在此 javascript 文件中添加 res.partner
对象,那么只有我可以访问我的 pos.xml< 中的
文件。 res.partner
objcet/
我不需要公司的地址详细信息,而且它不在 res_company 中,所以我如何从 res_partner 获取公司的街道和其他地址?
最佳答案
您可以使用 get_client() 方法获取它。
您将获得当前订单合作伙伴的完整对象,然后您可以像使用 py 文件一样使用它,例如。收据模板中的partner.city
等
render_receipt: function() {
var order = this.pos.get_order();
this.$('.pos-receipt-container').html(QWeb.render('PosTicket',{
widget:this,
order: order,
partner:this.pos.get_order().get_client(),
receipt: order.export_for_printing(),
orderlines: order.get_orderlines(),
paymentlines: order.get_paymentlines(),
}));
};
更新:
在js中res.company模型中添加address字段。
var module = require('point_of_sale.models');
var models = module.PosModel.prototype.models;
for(var i=0; i<models.length; i++){
var model=models[i];
if(model.model === 'res.company'){
model.fields.push('street');
model.fields.push('city');
model.fields.push('state_id');
model.fields.push('country_id');
// other field you want to pull from the res.company table.
}
}
然后你会在company:this.pos.company
中得到它。
现在您可以在模板中使用它,例如。 company.street, company.city
等
对于国家和州,请在模板中使用 company.state_id[1] 和 company.country_id[1]。
关于javascript - Odoo POS 收据需要在收据中添加来自 res.partner city 的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45506429/