我有sale.order.recpay
class recieved_payments(osv.osv):
_name = "sale.order.recpay"
_description = "Recieved Payments"
_columns = {
'name_type': fields.selection([('creditcard', 'Credit Card'),('banktransfer', 'Bank Transfer'),('ccbooking', 'CC Booking'),('ccunbocked', 'CC Unbooked'),('cash', 'Cash'),('other', 'Other type')],
'Type', required=True,),
'reccieved_amount': fields.float('Amount', required=True,),
'reccieved_notes': fields.char('Notes'),
'datepay': fields.datetime('Date', select="1"),
'payyment_id': fields.many2one('sale.order', 'Payments', ondelete='cascade', required=True, select="1"),
'user_idpay': fields.many2one('res.users', 'Done by', required=True, select="1"),
}
_defaults = {
'user_idpay': lambda obj, cr, uid, context: uid,
'datepay': lambda *a: time.strftime('%Y-%m-%d %H:%M:%S'),
}
这些模型在sale.order xml中的树视图
和工作流程按钮
<button name="signal_sale_fullpay_fnct" type="object" states="prepaiiied,prepwaiting" class="oe_highlight" ] string="Full amount recieved"/>
和窗口的功能
def signal_sale_fullpay_fnct(self, cr, uid, ids, context=None):
if not ids: return []
dummy, view_id = self.pool.get('ir.model.data').get_object_reference(cr, uid, 'bcs_bus_gmbh9', 'view_payments_bcs_form_dialog')
sale_obj = self.pool.get('sale.order')
paym = self.browse(cr, uid, ids[0], context=context)
return {
'name':_("Register Payment"),
'view_mode': 'form',
'view_id': view_id,
'view_type': 'form',
'res_model': 'sale.order.recpay',
'type': 'ir.actions.act_window',
'nodestroy': True,
'target': 'new',
'domain': '[]',
'context': {
'payyment_id': paym.name,
}
}
一切正常,但是有一个问题! 主要问题是浏览(从我创建这些记录的销售订单)字段'销售订单'作为默认值
![这些是销售订单中的弹出窗口,我需要默认情况下将填写订单确认字段()] [1]
我试图使用上面的上下文,但这不起作用
任何想法?!