Odoo 如果订单行中的所有复选框均为true,则将复选框设置为true
在NewSalesOrders页面上,我添加了一个复选框,如果订单行表中的(单价>成本)为true 问题是我需要确定订单行表中的所有复选框是否为真,然后在表外设置一个复选框为真,但我无法确定如何设置 在x_studio_check_min_成本计算中,当我添加此Odoo 如果订单行中的所有复选框均为true,则将复选框设置为true,odoo,odoo-12,Odoo,Odoo 12,在NewSalesOrders页面上,我添加了一个复选框,如果订单行表中的(单价>成本)为true 问题是我需要确定订单行表中的所有复选框是否为真,然后在表外设置一个复选框为真,但我无法确定如何设置 在x_studio_check_min_成本计算中,当我添加此 for record in self: for one_check in record.invoice_ids.invoice_line_ids.sale_line_ids.x_studio_min_price_sale_by
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"
文件“”,第2行,在
ValueError::“bool”对象在计算时不可编辑”
“对于self中的记录:\n对于一次签入记录。发票\u id.发票\u行\u id.销售\u行\u id.x工作室\u最小\u价格\u销售\u按成本:\n如果一次检查==True:\n记录[('x工作室\u检查\u最小\u成本')]=True\n其他:\n记录[('x工作室\u检查\u最小\u成本])]=False\n”
我使用奥多工作室,因为我是奥多新手,没有创建模块的经验
感谢您的帮助签出此代码,希望对您有所帮助
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\u studio\u check\u min\u cost
的计算选项中,
您可以看到高级属性标题,对吗?在依赖项字段的下方,将字段名设置为order\u行,在计算字段复制粘贴上面的代码(注意缩进)。您好,我为问题添加了更多信息。另外,我在哪里可以添加这个代码(odoo.sh)嗨,Moaz,我在答案中做了一些更改,检查并更新。
x\u studio\u check\u min\u cost
在我加载页面时默认为True
,这不是问题,但如果一行为True
签出,则忽略其他行。我需要将所有按成本计算的最低售价设置为False
,以便检查最小成本。beTrue
表示如果所有行中按成本计算的最低价格销售为False,那么字段Check Min Cost,been True,这是您需要的吗?