установите флажок в значение true, если все флажки в строке порядка - PullRequest
1 голос
/ 09 июня 2019

на новой странице «Заказы на продажу» я добавил флажок, чтобы быть истинным, если (цена за единицу> стоимость) в таблице Строки заказа

enter image description here

проблема в том, что мне нужно выяснить, все ли флажки в таблице строк порядка установлены в true, а затем установить флажок вне таблицы в значение true, но я не могу узнать, как

enter image description here

enter image description here

в x_studio_check_min_cost compute, когда я добавляю это

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 и не имею опыта создания модулей

спасибо за помощь

1 Ответ

1 голос
/ 10 июня 2019

Извлеките этот код, надеюсь, он поможет.

  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 вы можете увидеть заголовок Advanced Properties , верно?Ниже, в поле Зависимости задайте имя поля как order_line, в копии поля Compute вставьте указанный выше код (Остерегайтесь отступов).

...