树形视图中的Odoo v9计算字段在弹出后不会更新,直到保存记录

时间:2017-01-09 23:51:40

标签: popup treeview openerp odoo-9 formview

使用表单视图弹出窗口从行的编辑值返回后,树视图中的计算字段不会更新。 (孩子从弹出窗口保存/返回后,但在保存父记录之前)

举一个例子:向销售订单行添加一个新的计算字段,然后将计算字段添加到销售订单的订单线'选项卡(它本身是销售订单表格中的树视图)。然后调整销售订单表格,以便通过表格(即弹出窗口)完成销售订单行的编辑(而不是编辑树中的行,禁用可编辑='底部')

测试后,似乎计算字段方法正在表单视图中运行,值应该更新。

行(树视图)上的显示应在弹出窗口返回后显示新值,但不显示(仍显示旧值)。 (保存父项后,这会正确更新)

这适用于其他现有字段(例如价格),该字段在弹出窗口中(在保存父窗体之前)编辑该值后在行(树视图)上显示新值。

为什么计算字段显示旧值?

2 个答案:

答案 0 :(得分:1)

尝试在计算功能之上添加@api.depends('any_field_name'),它应该可以解决您的问题。

Odoo有关于此issue中描述的计算字段的错误,它没有计算没有依赖关系的计算字段。

如果我的解决方案适合您,请告诉我。

答案 1 :(得分:1)

看起来因为计算字段不在表单视图(弹出窗口)上,即使计算函数正在执行,从表单返回后的行视图上的值也没有更新(在父保存之前)

将计算字段(invisible = 1)添加到表单视图(弹出窗口)后,行视图在返回时成功更新。

我不知道为什么,但我猜这与缓存或api有关。行值有可能是通过表单视图中的值返回更新(不确定),因此如果有问题的字段不在表单视图上,那么它不会被返回,并且该行仍然保留以前的值。