我amount
在日记帐分录(帐户移动表单)上有一个字段,我需要定义一个 onChange 事件,一旦我填写了金额,它就会自动插入行。但我不确定如何。
问问题
2321 次
3 回答
1
昨天我不得不做一些类似于你要求的事情。我在购买中有一个销售订单(m2o)字段...关于销售订单的更改我必须填写采购订单行...希望它可以帮助您。
class purchase_order(osv.osv):
_inherit = 'purchase.order'
_columns = {
'sale_order':fields.many2one('sale.order','Sale Order'),
'purchase_type':
fields.selection([
('order','Purchase Order'),
('job','Job Order')
],
'Purchase Type',
required=True,
states={
'confirmed':[('readonly',True)],
'approved':[('readonly',True)],
},
select=True,
help="Define type of purchase order.",
),
}
def onchange_saleorder(self,cr,uid,ids,order,context=None):
res={}
lis=[]
sorder_id=self.pool.get('sale.order').browse(cr,uid,order)
for line in sorder_id.order_line:
print "uom",line.product_id.uom_id.id
res={'product_id':line.product_id.id,
'name':line.product_id.name,
'product_qty':1,
'product_uom':line.product_id.uom_id.id,
'price_unit':line.price_unit,
'date_planned':time.strftime('%Y-%m-%d'),}
lis.append(res)
print "list is .........",lis
res={'value':{'order_line':lis}} // here order_line is o2m field of purchase.
return res
于 2012-09-25T05:25:22.417 回答
0
您的on_change方法必须返回由行值组成的字典列表。
例如:
res['value']['line_ids'] = [
{
'account_id': 1,
'debit': 100,
},
{
'account_id': 2,
'credit': 100,
}]
另外,请参阅account.voucher的recompute_voucher_lines方法作为示例。
于 2012-09-16T13:40:37.060 回答
0
有时会生成错误“0”,所以我们必须用这样的代码编写代码。在上述示例的情况下
lis.append((0,0,res))
于 2012-09-26T11:38:56.740 回答