Zum Inhalt springen
Menü
Sie müssen registriert sein, um mit der Community zu interagieren.
Diese Frage wurde gekennzeichnet
721 Ansichten

is it possible to print multiple record many2many to the qweb in odoo 8 

because i tried its always passing one record. 


class WizProductionRecap(models.TransientModel):
_name = 'wiz.production.recap'


sale_id = fields.Many2many('sale.order', string="Sales Order", required=True)


@api.multi
def action_print(self):
if self.sale_id:
_logger.info("SALE ORDER sale_id: %s", self.sale_id)
datas = {
'ids': self._ids,
'model': 'wiz.production.recap',
'form': self.read()[0]
}
report_name = 'mrp_jewelry_pdo.report_production_recap_document'
pdo_id = self.env['mrp.jewelry.pdo'].search([('sale_id', 'in', self.sale_id.ids)])
if pdo_id:
return self.env['report'].get_action(pdo_id[0], report_name, data=datas)
else:
return None


and the abstract

class ReportProductionRecap(models.AbstractModel):
_name = 'report.mrp_jewelry_pdo.report_production_recap_document'

@api.multi
def render_html(self, data=None):
_logger.info("RENDERING records: %s", self)
report_obj = self.env['report']
report = report_obj._get_report_from_name('mrp_jewelry_pdo.report_production_recap_document')

pdo_obj = self.env['mrp.jewelry.pdo']
docargs_list = []
for record in self:
pdo_records = pdo_obj.search([('sale_id', '=', record.id)])
sales_orders = pdo_records.mapped('sale_id')

docargs = {
'doc_ids': self.env["wiz.production.recap"].browse(data["ids"]),
'doc_model': report.model,
'docs': self,
'data': data,
'pdo_id': pdo_records.ids,
'sale_id': sales_orders.ids,
'pdo_records': pdo_records,
'sales_orders': sales_orders,
}
docargs_list.append(docargs)
return [report_obj.render('mrp_jewelry_pdo.report_production_recap_document', docargs) for docargs in
docargs_list]


Avatar
Verwerfen