访问POS收据中的自定义字段



我正在使用odoo 15;我正在尝试在销售点模块中自定义收据我有一个问题,关于访问公司模块中的自定义文件如下:

我的自定义模块:custom/models/res_company.py

class rescompany(models.Model): 
_name = "res.company"
_inherit = "res.company"

#customized fields

x_industry = fields.Char(string='Compnay Industry', translate=True) 

我在xml中的自定义视图:custom/static/src/xml/custom_pos.xml

<xpath expr="//t[@t-if='receipt.company.logo']"  position="before">

<div>
<span style="font-size: smaller;float: left">
<t t-esc="receipt.company.name" />
</span>

</div>

<div>
<div>
<span style="font-size: smaller;float: left">
<t t-esc="receipt.company.x_industry"/>
</span>
</div>

</div>
</xpath>
</t>
</templates>

清单.py

...
'assets': {
'web.assets_backend': [
"custom/static/src/js/OrderReceipt.js",
],
'web.assets_qweb': [
'custom/static/src/xml/custom_pos.xml',
],
},
...

现在,我不知道如何在OrderReceipt.js中访问x_industry?我尝试关注此链接:Odoo PoS未在收据中显示自定义字段但它在odoo 13中,我不明白我应该添加哪些参数才能正确修改;

即使PoS中的字段是通过python代码添加的,您也无法访问该字段。您需要在销售点的javascript文件中加载特定字段。

关于您的问题,您需要添加一个特定于公司的字段。最简单的方法是在pos.config模型中添加相同的字段,并与您在res.company中添加的新字段建立related连接。

x_industry = fields.Char(string='Compnay Industry', translate=True, related='company_id.x_industry')

pos.config中添加的任何字段都可以从PoS和PoS收据中访问。

<t t-esc="env.pos.config.x_industry"/>

最新更新