javascript - Odoo POS 收据需要在收据中添加来自 res.partner city 的地址

标签 javascript odoo odoo-10

我不知道如何在 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/

相关文章:

Odoo - 在继承 View 中隐藏没有名称的组或页面

xml - 在 Odoo 颜色属性中使用域

odoo-10 - Odoo 10 : Error: "You must set a Vendor Location for this partner" in internal purchase orders in multi-company setup

javascript - 如何仅显示/隐藏 php foreach 循环中的特定 div 类

javascript - 创建简单的 p5.js Canvas

javascript - 如何获取输入的文本值?

javascript - 获取一年中的所有星期一

python - 如何将自定义模型的字段值传递到 Qweb 报告?

odoo-8 - Odoo - 过滤父类中的子记录