sale_stock_usability: add method to display delivery order on out invoice report
This commit is contained in:
@@ -1 +1,2 @@
|
|||||||
from . import sale_order
|
from . import sale_order
|
||||||
|
from . import account_move
|
||||||
|
|||||||
33
sale_stock_usability/models/account_move.py
Normal file
33
sale_stock_usability/models/account_move.py
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
# Copyright 2024 Akretion France (http://www.akretion.com)
|
||||||
|
# @author Alexis de Lattre <alexis.delattre@akretion.com>
|
||||||
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||||
|
|
||||||
|
from odoo import models
|
||||||
|
|
||||||
|
|
||||||
|
class AccountMove(models.Model):
|
||||||
|
_inherit = 'account.move'
|
||||||
|
|
||||||
|
def _report_get_sale_pickings(self, sale_order=None):
|
||||||
|
self.ensure_one()
|
||||||
|
# the sale_order arg is usefull when using
|
||||||
|
# py3o_lines_layout_groupby_order() to display the delivery orders
|
||||||
|
# linked to a specific sale_order
|
||||||
|
assert self.move_type in ('out_invoice', 'out_refund')
|
||||||
|
sale_orders = sale_order or self.sale_ids
|
||||||
|
picking_domain = [
|
||||||
|
('id', 'in', sale_orders.picking_ids.ids),
|
||||||
|
('state', '=', 'done'),
|
||||||
|
('date_done', '<', self.create_date),
|
||||||
|
('company_id', '=', self.company_id.id),
|
||||||
|
]
|
||||||
|
previous_inv = self.env['account.move'].search([
|
||||||
|
('move_type', 'in', ('out_invoice', 'out_refund')),
|
||||||
|
('create_date', '<', self.create_date),
|
||||||
|
('id', 'in', sale_orders.invoice_ids.ids),
|
||||||
|
('company_id', '=', self.company_id.id),
|
||||||
|
], limit=1, order='id desc')
|
||||||
|
if previous_inv:
|
||||||
|
picking_domain.append(('date_done', '>', previous_inv.create_date))
|
||||||
|
pickings = self.env['stock.picking'].search(picking_domain)
|
||||||
|
return pickings
|
||||||
Reference in New Issue
Block a user