0
我有一個功能域,不會給出任何錯誤,但即使它應該也沒有設置任何值。openerp fields.function不影響值
代碼:
class stock_move_custom(osv.osv):
_name = 'stock.move'
_inherit = 'stock.move'
def _penalty(self, cr, uid, ids, field_name, arg, context=None):
if not ids: return {}
res = {}
for id in ids:
res[id] = 20.0
for line in self.browse(cr, uid, ids, context=context):
if line.picking_id:
if line.picking_id.purchase_id:
if line.picking_id.purchase_id.penalty_id:
res[line.id] = 10.0
return res
_columns = {
'value_forpenalty': fields.float('Value', digits=(16,2)),
'actual_penalty': fields.function(_penalty, type='float', digits=(16,2), string='Penalty', store=True, select=True)
}
stock_move_custom()
注:penalty_id是many2one加入purchase.order自定義子。
Q1。我得到的是一個懲罰0。 20和10都不是。有什麼可能是錯的?如果是因爲IDS空白,我該如何解決這個問題? Q2302。我如何將value_forpenalty傳遞給函數,因爲我最終需要它來計算懲罰?因此,當用戶在表單中輸入value_forpenalty字段的值時(並按下一個計算按鈕,或理想情況下沒有該值),該值應傳遞給該函數進行計算。
謝謝
謝謝...我會嘗試這個。 – 2013-03-18 13:59:02