2017-01-09 35 views
1

在使用窗體視圖彈出窗口爲該行編輯值返回後,樹視圖中的計算字段不會更新。 (在孩子從彈出窗口保存/返回之後,但保存父母記錄之前)Odoo v9計算的字段在樹形視圖中不會更新後彈出,直到保存記錄

舉一個例子:向銷售訂單行添加一個新的計算字段,然後將計算的字段添加到Sale訂單的「訂單行」選項卡(本身是銷售訂單表單中的樹視圖)。然後調整銷售訂單表單,以便通過表單(即彈出窗口)編輯銷售訂單行(而不是編輯樹內的行,禁用editable ='bottom')

經過測試後計算字段方法正在窗體視圖中運行,值應該更新。

行顯示(樹視圖)應該顯示彈出後返回的新值,但它不是(仍顯示舊值)。 (這在保存父代後會正確更新)

這適用於其他現有字段(例如價格),它在彈出窗口中編輯該值後顯示新行值(樹視圖)父母被保存)。

爲什麼計算字段顯示舊值?

回答

1

看起來,因爲計算的字段不在窗體視圖(彈出窗口)中,即使計算函數正在執行,從窗體返回後行視圖上的值不會更新(在父保存之前)。

當我將計算的字段(不可見= 1)添加到窗體視圖(彈出窗口)後,行視圖在返回時成功更新。

我不知道爲什麼,但我猜測這是關於緩存或api。有可能線表值是通過表單視圖中的值返回來更新的(對此不確定),因此,如果問題字段不在表單視圖中,那麼它不會被返回,並且該行保持爲之前的值。

1

嘗試添加@api.depends('any_field_name')以上的計算功能,它應該解決您的問題。

Odoo有關於此issue中描述的計算字段的錯誤,即它不計算沒有依賴關係的計算字段。

讓我知道我的解決方案是否適合您。

+0

我添加了各種不同的組合,但它沒有解決問題。 在我的情況下,函數被調用,它從表單返回時根本不會更新行視圖。 也很難判斷該函數是否作爲表單視圖或行視圖的一部分執行。我再次嘗試了很多組合。這些都無法在行視圖上觸發更新。 – Palza

+0

我不知道計算字段中的錯誤。你的解決方案適合我。 – MouTio

相關問題