gigidn ha scritto:
Puoi anche crearti tuoi dict da passare se è il caso ... ma comunque devi mettere mano al codice, lo standard lavora un oggetto un report.
Grandissimo gigidn.
Si parla di casi simili in vari tutoriales
www.odoo.com/documentation/8.0/reference/reports.html
www.odooninja.com/call-python-function-qweb-report/
Per quello che ho capito, nel dizionario
docargs, oltre ai classici campi ('doc_ids': self._ids, 'doc_model': report.model, 'docs': self), carico pure gli altri campi o funzioni da utilizzare nel qweb (e poi a cascata nel report).
Effettivamente io pensavo al dizionario
docs come unico, ma forse ne posso mettere più di uno.
def render_html(self, data=None):
report = self.env['report']._get_report_from_name('sale.report_saleorder')
docargs = {
'doc_ids': self._ids,
'doc_model': report.model,
'docs': self.env['sale.order'].browse(self._ids),
'split_text': split_text
}
Se, all'interno di docsargs, definissi anche
'ciccio': self.env.browse(self._ids),
forse potrei utilizzare tutti i clienti, nel report, e non solo quello specificato nel contratto.
Ora, una domanda che io trovo difficile.
Dal contratto si accede al preventivo di vendita per mezzo si una azione. Se, in modo sviluppatore, vado sopra al link dell'azione, mi appare il contesto utilizzato per l'azione:
{
'default_partner_id':[partner_id],
'search_default_project_id':[active_id],
'default_project_id':[active_id],
'default_pricelist_id': pricelist_id
}
Io voglio salvarmi nella variabile related_id_pedido_de_compra, l'id del preventivo di vendita relazionato con il contratto attivo.
Va bene una ricerca come questa?
related_id_pedido_de_compra = self.env['sale.order'].sudo().search([
('partner_id', '=', self.partner_id),
('project_id', '=', self.id),
])
Non so come tradurre nella ricerca questi due:
'search_default_project_id':[active_id],
'default_pricelist_id': pricelist_id