2015-05-25 127 views
1

當另一個字段觸發onchange方法時,我試圖更改many2one字段的內容。從另一個字段更改onchange的many2one字段內容?

繼承人我PY代碼:

class proevent(osv.osv): 
_name = 'proevent.events' 
_description = 'Events Module' 

def onchange_client(self,cr,uid,ids, client_id,sale_orders_ids,context=None): 
    res={} 
    order_obj = self.pool.get('sale.order') 
    order_ids = order_obj.search(cr,uid, [('partner_id','=',client_id)]) 
    logging.info('LIST OF SALE ORDERS OF SELECTED PARTNER') 
    logging.info(order_ids) 
    res['sale_orders_ids'] = order_ids 
    logging.info(res) 
    return {'value':res} 


_columns = { 
    'eventdesc': fields.char('Evento', required=True), 
    'client_id': fields.many2one('res.partner', 'Cliente', required=True, change_default=True, select=True,track_visibility='always',domain=[('customer','=',True)]), 
    'sale_orders_ids': fields.many2one('sale.order','Lista'), 
    'eventaddress': fields.char('Direccion de Evento', required=True), 
    'description': fields.char('Descripcion del Evento', required=True), 
    'datein': fields.date('Fecha de Ingreso a Sistema', required=True, readonly=True), 
    'setupdatein': fields.datetime('Inicio de Montaje', required=True), 
    'setupdateout': fields.datetime('Fin de Montaje', required=True), 
    'eventdatein': fields.datetime('Inicio de Evento', required=True), 
    'eventdateout': fields.datetime('Fin de Evento', required=True), 
    'eventnotes': fields.char('Notas del Evento', required=True), 
    'readonlynote': fields.char('Nota'), 
    'partner_rtn': fields.related('partner_id','RTN',type="char",relation="res.partner",string="RTN",store=True,readonly=True), 


} 
proevent() 

當我選擇它篩選,僅顯示客戶,觸發器平變化的方法,然後我onchange_client功能的CLIENT_ID。

我的問題是我無法讓我的sale_orders_ids many2one字段僅顯示來自所選合作伙伴的銷售訂單id,它顯示了系統的所有銷售訂單。

如何填充我的sale_order_ids字段?

回答

2
def onchange_client(self,cr,uid,ids, client_id,sale_orders_ids,context=None): 
    res={} 
    order_obj = self.pool.get('sale.order') 
    order_ids = order_obj.search(cr,uid, [('partner_id','=',client_id)]) 
    logging.info('LIST OF SALE ORDERS OF SELECTED PARTNER') 
    logging.info(order_ids) 
    return {'domain':{'sale_orders_ids':[('id','in',order_ids)]}} 

你可以在many2one字段中設置域名。

相關問題