From cae55aa3ec4af039d7361fbcb2327335a693d31e Mon Sep 17 00:00:00 2001 From: Mqdd Date: Thu, 8 Jan 2026 11:37:03 +0700 Subject: fix qweb print picking list --- fixco_custom/__manifest__.py | 1 + fixco_custom/models/print_picking_list.py | 41 +----- fixco_custom/security/ir.model.access.csv | 3 +- fixco_custom/views/print_picking_list.xml | 31 +---- fixco_custom/views/report_picking_list_new.xml | 177 +++++++++++++++++++++++++ 5 files changed, 192 insertions(+), 61 deletions(-) create mode 100644 fixco_custom/views/report_picking_list_new.xml diff --git a/fixco_custom/__manifest__.py b/fixco_custom/__manifest__.py index 4925d69..c1aa655 100755 --- a/fixco_custom/__manifest__.py +++ b/fixco_custom/__manifest__.py @@ -51,6 +51,7 @@ 'views/upload_cancel_picking.xml', 'views/queue_job.xml', 'views/purchase_order_multi_bills.xml', + 'views/report_picking_list_new.xml', ], 'demo': [], 'css': [], diff --git a/fixco_custom/models/print_picking_list.py b/fixco_custom/models/print_picking_list.py index 41ba77f..2b1605a 100644 --- a/fixco_custom/models/print_picking_list.py +++ b/fixco_custom/models/print_picking_list.py @@ -7,42 +7,18 @@ _logger = logging.getLogger(__name__) class PrintPickingList(models.Model): _name = "print.picking.list" - _rec_name = 'name' _description = "Print Picking List" _inherit = ['mail.thread'] - _order = 'id desc' + _rec_name = 'number' - name = fields.Char(string='Name', index=True, copy=False, readonly=True) - user_id = fields.Many2one('res.users', string='Created By', default=lambda self: self.env.user, readonly=True) + number = fields.Char(string='Document No', index=True, copy=False, readonly=True, tracking=True) print_picking_list_line = fields.One2many('print.picking.list.line', 'print_picking_list_id', string='Print Picking List Lines', auto_join=True) @api.model def create(self, vals): - if not vals.get('name') or vals['name'] == 'New': - vals['name'] = self.env['ir.sequence'].next_by_code('print.picking.list') or 'new' - return super(PrintPickingList, self).create(vals) - - def action_get_picking(self): - for record in self: - if not record.print_picking_list_line: - raise UserError("Tidak ada line.") - - for line in record.print_picking_list_line: - if not line.invoice_marketplace: - raise UserError( - "Invoice Marketplace kosong di salah satu line." - ) - - picking = self.env['stock.picking'].search([ - ('invoice_mp', '=', line.invoice_marketplace) - ], limit=1) - - if not picking: - raise UserError( - f"BU/OUT tidak ditemukan untuk Invoice Marketplace: {line.invoice_marketplace}" - ) - - line.picking_id = picking.id + vals['number'] = self.env['ir.sequence'].next_by_code('print.picking.list') or '0' + result = super(PrintPickingList, self).create(vals) + return result class PrintPickingListLine(models.Model): _name = 'print.picking.list.line' @@ -51,10 +27,3 @@ class PrintPickingListLine(models.Model): print_picking_list_id = fields.Many2one('print.picking.list', string='Ref', required=True, ondelete='cascade', index=True, copy=False) invoice_marketplace = fields.Char(string='Invoice Marketplace') - # picking_id = fields.Many2one('stock.picking', string='BU/OUT', compute='_compute_picking_id') - product_id = fields.Many2one('product.product', string='Product') - picking_id = fields.Many2one('stock.picking', string='BU/OUT') - qty_done = fields.Float(string='Quantity Done', readonly=True) - qty_reserved = fields.Float(string='Quantity Reserved', readonly=True) - uom_id = fields.Many2one('uom.uom', string='Uom') - schedule_date = fields.Datetime(string='Scheduled Date') diff --git a/fixco_custom/security/ir.model.access.csv b/fixco_custom/security/ir.model.access.csv index a0ac394..91c309e 100755 --- a/fixco_custom/security/ir.model.access.csv +++ b/fixco_custom/security/ir.model.access.csv @@ -38,6 +38,7 @@ access_invoice_reklas,access.invoice.reklas,model_invoice_reklas,,1,1,1,1 access_uangmuka_pembelian,access.uangmuka.pembelian,model_uangmuka_pembelian,,1,1,1,1 access_coretax_faktur,access.coretax.faktur,model_coretax_faktur,,1,1,1,1 access_report.fixco_custom.report_picking_list_custom,access.report.fixco_custom.report_picking_list_custom,model_report_fixco_custom_report_picking_list_custom,,1,1,1,1 +access_report.fixco_custom.report_picking_list_custom_new,access.report.fixco_custom.report_picking_list_custom_new,model_report_fixco_custom_report_picking_list_custom_new,,1,1,1,1 access_token_log,access.token.log,model_token_log,,1,1,1,1 access_purchase_pricelist_wizard,purchase.pricelist.wizard,model_purchase_pricelist_wizard,,1,1,1,1 access_stock_return_picking,stock.return.picking,model_stock_return_picking,,1,1,1,1 @@ -45,4 +46,4 @@ access_stock_return_picking_line,stock.return.picking.line,model_stock_return_pi access_upload_cancel_picking,access.upload.cancel.picking,model_upload_cancel_picking,,1,1,1,1 access_upload_cancel_picking_line,access.upload.cancel.picking.line,model_upload_cancel_picking_line,,1,1,1,1 access_queue_job,access.queue.job,model_queue_job,,1,1,1,1 -access_purchase_order_multi_bills,access.purchase.order.multi_bills,model_purchase_order_multi_bills,,1,1,1,1 \ No newline at end of file +access_purchase_order_multi_bills,access.purchase.order.multi_bills,model_purchase_order_multi_bills,,1,1,1,1 diff --git a/fixco_custom/views/print_picking_list.xml b/fixco_custom/views/print_picking_list.xml index 12892ab..fe826d0 100644 --- a/fixco_custom/views/print_picking_list.xml +++ b/fixco_custom/views/print_picking_list.xml @@ -4,9 +4,8 @@ print.picking.list.tree print.picking.list - - - + + @@ -16,13 +15,7 @@ print.picking.list.line - - - - - - - + @@ -32,21 +25,11 @@ print.picking.list
- -
-

- -

-
- - + + + + diff --git a/fixco_custom/views/report_picking_list_new.xml b/fixco_custom/views/report_picking_list_new.xml new file mode 100644 index 0000000..a91be31 --- /dev/null +++ b/fixco_custom/views/report_picking_list_new.xml @@ -0,0 +1,177 @@ + + + + + Print Picking List new + stock.picking + qweb-pdf + fixco_custom.report_picking_list_custom_new + fixco_custom.report_picking_list_custom_new + 'Print Picking List new- %s - %s' % (object.partner_id.name or '', object.name) + + + report + + + + -- cgit v1.2.3