Skip to Content
Menu
You need to be registered to interact with the community.
This question has been flagged
693 Prikazi

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
Opusti