首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果订单行中的所有复选框都为true,则将复选框设置为true。

如果订单行中的所有复选框都为true,则将复选框设置为true。
EN

Stack Overflow用户
提问于 2019-06-09 20:57:19
回答 1查看 549关注 0票数 1

在“新销售订单”页面上,如果订单行表中的(单价>成本)为真,我添加了一个复选框。

问题是,我需要找出order表中的所有复选框是否为true,然后将表外的复选框设置为true,但我不知道如何实现。

在x_studio_check_min_cost计算中,当我添加以下内容时

代码语言:javascript
复制
for record in self:
  for one_check in record.invoice_ids.invoice_line_ids.sale_line_ids.x_studio_min_price_sale_by_cost:
    if one_check == True:
      record[('x_studio_check_min_cost')] = True
    else:
      record[('x_studio_check_min_cost')] = False

在销售订单中,将出现此错误。

代码语言:javascript
复制
 File "", line 2, in <module>
ValueError: <class 'TypeError'>: "'bool' object is not iterable" while evaluating
"for record in self:\n  for one_check in record.invoice_ids.invoice_line_ids.sale_line_ids.x_studio_min_price_sale_by_cost:\n    if one_check == True:\n      record[('x_studio_check_min_cost')] = True\n    else:\n      record[('x_studio_check_min_cost')] = False\n"

我使用的是odoo工作室,因为我是odoo新手,没有创建模块的经验。

谢谢你的帮助

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-06-10 03:38:56

检查这段代码,希望它能有所帮助。

代码语言:javascript
复制
  for record in self:
    flag = False
    if any(line.x_studio_min_price_sale_by_cost for line in record.order_line):
        flag = True
    if not flag:
        record['x_studio_check_min_cost'] = True

在字段x_studio_check_min_cost的计算选项中,您可以看到高级属性头部,对吗?在依赖项字段中,将字段名设置为order_line,在计算字段中复制粘贴上述代码(注意缩进)。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56518325

复制
相关文章

相似问题

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