简体   繁体   English

Odoo POS收据需要在收据中从res.partner城市添加地址

[英]Odoo POS receipt need to add address from res.partner city in receipt

I don't know how to add res.partner object in below screen.js 我不知道如何添加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(),
    }));
  };
};

I have tried to add the partner object in above javascript but it's not working. 我试图在上面的javascript中添加合作伙伴对象,但它不起作用。 I am new in odoo and i have also not munch knowledge of JavaScript so pls help me to solve this issue. 我是odoo的新手,我也没有掌握JavaScript的知识,所以请帮助我解决这个问题。 If i am able to add res.partner object in this javascript file then and then only im available to access the res.partner objcet in my pos.xml file. 如果我能够在此javascript文件中添加res.partner对象,那么只有我可以访问我的pos.xml文件中的res.partner objcet。

I wan't the address details of company and it's not in res_company so how can i fetch the street and other address from res_partner for company ? 我不是公司的地址详细信息而且它不在res_company中,那么我如何从res_partner公司获取街道和其他地址?

You can get it using get_client() method. 您可以使用get_client()方法获取它。

You will get full object of the partner of current order then you can use it as like a py file eg. 您将获得当前订单的合作伙伴的完整对象,然后您可以像py文件一样使用它,例如。 partner.city etc. in the receipt template. 收据模板中的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(),
    }));
  };

Update: 更新:

To add address fields in res.company model in js. 在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.

    } 
}

Then you will get it in the company:this.pos.company . 然后你将在company:this.pos.company得到它company:this.pos.company

Now you can use it in template eg. 现在你可以在模板中使用它了。 company.street, company.city etc. company.street, company.city

For country and state use company.state_id[1] and company.country_id[1] in template. 对于国家和州,在模板中使用company.state_id [1]和company.country_id [1]。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM