首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Odoo QWeb:参考客户公司

Odoo QWeb:参考客户公司
EN

Stack Overflow用户
提问于 2020-06-30 23:29:06
回答 1查看 82关注 0票数 0

在创建自定义的Odoo / Quote报告时,如何在Qweb代码中始终引用客户公司

在Odoo,数据模型有公司和人员。人员可以与公司联系在一起。让我们举个例子:我的Odoo公司叫做我的公司。我们已经注册了一个客户客户有限公司John Smith已注册为客户有限公司的代表。

现在,为了为客户创造一个报价,我公司的销售人员可以将文件寄给“客户有限公司”或“客户有限公司,约翰·史密斯”。

在我的自定义报告中,我想打印客户端公司的名称。所以,我叫<span t-field="o.partner_id.name"/>。如果报价是发给公司的,这是可行的。但是,如果报价是发给“客户有限公司,约翰史密斯”,产出就是“约翰史密斯”。

我试着用<span t-field="o.partner_id.parent_id.name"/>参考客户公司,只要所有报价都发给在公司注册的人,比如“公司有限公司,约翰·史密斯”就行了。但是..。一旦有一份报价发布给一家没有专人的公司,<span t-field="o.partner_id.parent_id.name"/>就会评估为“我的公司”,这显然是错误的。

也有几个案子。试图卖给:

  • 个人个人(即没有公司)
  • 客户有限公司(即没有人)
  • 客户有限公司约翰史密斯

结果与

代码语言:javascript
复制
N <span t-field="o.partner_id.name"/>
id <span t-field="o.partner_id"/>

现如下:

个人:

  • N:个人
  • id: Person

客户有限公司(无人):

  • N: The Client Ltd
  • id: Client Ltd

客户有限公司约翰·史密斯:

  • N: John Smith
  • id: The Client Ltd .,John Smith

我如何确保报价总是发给客户,而不是发给我自己的公司?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-01 03:16:48

我找到了答案。诀窍是查看父级是否存在,然后才使用partner_id.parent_id。如果parent_id不存在,则试图将其引用到Odoo公司的名称。

因此,QWeb报告只需要一个简单的if-然后-否则。下面是代码块:

代码语言:javascript
复制
    <t t-if="o.partner_id.parent_id">
      <!-- Logic: if a parent connection exists, print parent's name-->
      <span t-field="o.partner_id.parent_id"/>
    </t>
    <t t-else=""> 
      <!-- If parent does not exist, just print the partner_id-->
      <span t-field="o.partner_id"/>
    </t>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62667574

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档