これに本当に苦労しています:
stock.picking.in から継承し、いくつかの列を追加しました。次に、関数フィールドを追加しました。
関数フィールドが参照する関数では、stock.picking.in オブジェクトの属性を使用しなくても機能します。オブジェクトの値を使用した瞬間、「AttributeError:」といくつかの属性がランダムに与えられ始めます。それ以外の理由や原因は特定されていません。
コード:
class stock_picking_custom(osv.osv):
_name = 'stock.picking.in'
_inherit = 'stock.picking.in'
_table = "stock_picking"
def calc_royalty(self, cr, uid, ids, field_name, arg, context=None):
if not ids: return {}
res = {}
for line in self.browse(cr, uid, ids, context=context):
res[line.id] = 0 #line.royalty_rate * line.loading_netweight
return res
_columns = {
'loading_netweight': fields.float('Net weight at loading', digits=(16,2), help="Net weight at loading (interior weight)"),
'royalty_date': fields.date('Royalty Issue date'),
'royalty_number' : fields.char('Royalty Number', size=64),
'royalty_rate' : fields.float('Royalty Rate (p. ton)', digits=(16,2)),
'royalty_amount' : fields.function(calc_royalty, type='float', digits=(16,2), string='Royalty Amount', store=True, select=True)
}
stock_picking_custom()
使用したい行をコメントアウトしました。この行をコードに戻した瞬間に、関数で言及されていない (たとえば) 属性エラーが発生します。
ガイドしてください。
編集: purchase.order でまったく同じコードを試してみましたが、完全に機能します。stock.picking.in の違いは何ですか?
ありがとう