В основном то, что вам нужно сделать, чтобы ваш код работал в унаследованном модуле, это использование:
_inherit = 'purchase.order'
А затем вызовите свою функцию из обновленного представления xml. Например, проверьте такой код:
class account_asset_asset(osv.osv):
_inherit = 'account.asset.asset'
def _check_value(self, cr, uid, ids, context=None):
for asset in self.browse(cr, uid, ids, context=context):
if asset.purchase_value < 0.0:
return False
return True
_constraints = [
(_check_value, 'Asset value must be greater than 0!', ['purchase_value']),
]
Это проверит, больше ли Purchase_value актива, чем 0, и вернет False, если нет, так что пользователь не сможет сохранить свою запись. Более того, вы можете легко переопределить функцию, используемую в унаследованной модели, чтобы она работала так, как вы хотите.
person
Mariusz Mizgier
schedule
01.08.2014