Я хочу переопределить метод action_multi_confirm модуля Sale Multi Confirm. Цель заключается в следующем: когда пользователь нажимает кнопку «Действие»> «Подтвердить заказы на продажу», он проверяет заказы на продажу (я имею в виду «перейти к производству») и печатает связанные с mrp производства этих проверенных заказов на продажу. Проблема в том, что метод не создает производственный заказ (производство mrp). Вот код:
class SaleOrderMultiConfirm(models.TransientModel):
_inherit = "sale.order.multi.confirm"
@api.multi
def action_multi_confirm(self):
# calling the native method first
super(SaleOrderMultiConfirm, self).action_multi_confirm()
order_ids = self.env["sale.order"].browse(self._context.get('active_ids'))
# When SOs are validated it should be in mrp production
if order_ids:
mrp_list = sorted(
[(mrp_id.product_tmpl_id.categ_id.menu_type_id, mrp_id) for order_id in order_ids for mrp_id in
self.env['mrp.production'].search([('origin', '=', order_id.name)])], key=lambda k: k[0])
mrp_list = [mrp[1] for mrp in mrp_list]
mrp = self.env['mrp.production'].browse(mrp_list[0].id)
return self.env.ref('sample_report.action_compute_needs').report_action(mrp, data={'mrp': mrp_list})
mrp_list пуст, поэтому индекс списка вышел за пределы диапазона, поскольку метод не создал производственный заказ для выбранной SO.
Вы можете мне помочь?
Большое спасибо.
извините за мой плохой английский.