Salve a tutti
vorrei un parere o un chiarimento in merito alle soluzioni disponibili per poter visualizzare dei dati nel modo seguente in openerp 7:
in una struttura tipica di
cliente-> [o2m] ordini -> [o2m] linee ordine
vorrei poter mostrare nella scheda cliente tutte le linee d'ordine!
Ho avuto un problema utilizzando un campo related del tipo 'o2m', perchè mi restituiva solo il primo record della lista o2m linee ordine (soluzione 1),
per cui ho adottato il campo function, con una funzione basata su una query dedicata che mi estrae gli id necessari (soluzione 2).
Nel caso della soluzione 1 avevo i campi cosi definiti:
_table='res.partner'
_columns = {
'order_ids':fields.one2many('orders','partner_id'),
'line_order_ids': fields.related('order_ids', 'line_ids', type='one2many',relation='order.line')
}
____________________________________________
_table='orders'
_columns={
'partner_id':fields.many2one('res.partner')
'line_ids': fields.one2many('order.line','order_id)
}
Mettendo poi in view questi campi, ottengo di visualizzare solo il primo record delle righe.
Nel caso della soluzione 2, tramite la funzione collegata, recupero tramite una query tutte le coppie di id 'order.partner_id, line.id'
e funziona correttamente. (come da esempio in hr_payroll)
Per cui il chiarimento che desidero è se la soluzione 2 è l'unica disponibile in casi come questi, oppure la soluzione 1, che è basata interamente sull' ORM, si può utilizzare e se sì, come poter ottenere tutti i record?
grazie
Giorgio