【问题标题】:Odoo POS receipt need to add address from res.partner city in receiptOdoo POS 收据需要在收据中添加 res.partner city 的地址
【发布时间】:2017-08-08 17:08:35
【问题描述】:

我不知道如何在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 获取公司的街道和其他地址?

【问题讨论】:

  • 您必须编辑 javascript 文件以在收据中添加地址吗?您是否尝试过使用 Qweb 模板或 Python 部分?
  • @julivico 是的,我尝试过,但它不起作用

标签: javascript openerp odoo-10


【解决方案1】:

您可以使用 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_company 中,所以我如何从 res_partner 获取公司的街道和其他地址?
  • 你的意思是你想要公司的详细地址而不是合作伙伴?
  • 是的,我不想要公司的详细地址。我尝试使用公司对象获取地址,但它不包含 res_company 表中公司的地址详细信息。
  • 我更新了我的答案。您需要在模型中添加地址字段才能在 pos 中访问它。
猜你喜欢
  • 2018-08-20
  • 1970-01-01
  • 1970-01-01
  • 2018-09-20
  • 2020-08-06
  • 1970-01-01
  • 2020-01-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多