odoo - 如果订单行中的所有复选框都为真,则将复选框设置为真
问题描述
在新的销售订单页面上,我添加了一个复选框,如果订单行表中的(单价>成本)为真
问题是我需要确定订单行表中的所有复选框是否为真,然后将表外的复选框设置为真,但我不知道如何
当我添加这个时,在 x_studio_check_min_cost 计算中
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
在销售订单中,出现此错误
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 studio,因为我是 odoo 新手,并且没有创建模块的经验
感谢您的帮助
解决方案
签出此代码,希望它会有所帮助。
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
,您可以看到高级属性标题,对吗?在Dependencies字段下方将字段名称设置为 order_line ,在Compute字段中复制粘贴上面的代码(注意缩进)。
推荐阅读
- python - 按熊猫中的时间戳差异分组
- django - S3 的 TextFields 中的相对媒体路径
- java - How to supply value to an annotation dynamically?
- javascript - 如何组合来自多个get元素的html nodeList
- firebase - Allow access to Firebase HTTPS functions from cross domain origin
- sql - 从两个日期获取 COUNT 个 DISTINCT 月
- c++ - OpenCV Initializing Camera: Unknown query to pre-built opencv files
- python - Python 时间 Perf_Counter() 混乱
- c++ - Using OpenSSL EVP. How to Encrypt a string and save the Encrypted string, key and IV to a file? Then Open the file and Decrypt back to string?
- for-loop - Get loop value when condition is true in robotframework