Odoo POS 收据需要在收据中添加 res.partner 个城市的地址
Odoo POS receipt need to add address from res.partner city in receipt
我不知道如何在下面添加 res.partner
对象 screen.js
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
对象。
我不需要公司的地址详细信息,它不在 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模型中添加地址字段
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]。
我不知道如何在下面添加 res.partner
对象 screen.js
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
对象。
我不需要公司的地址详细信息,它不在 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模型中添加地址字段
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]。