from odoo import models, fields, api, _ from odoo.exceptions import UserError class StockPickingPrintPickingList(models.TransientModel): _name = 'stock.picking.print_picking_list' _description = 'Stock Picking Shipment Group' def create_print_picking_list(self): picking_ids = self.env.context.get('picking_ids') if not picking_ids: raise UserError("No stock picking selected.") pickings = self.env['stock.picking'].browse(picking_ids) print_picking_list = self.env['print.picking.list'].create({}) for picking in pickings: self.env['print.picking.list.line'].create({ 'print_picking_list_id': print_picking_list.id, 'invoice_marketplace': picking.invoice_mp, }) return { 'type': 'ir.actions.act_window', 'res_model': 'print.picking.list', 'view_mode': 'form', 'res_id': print_picking_list.id, 'target': 'current', }