diff --git a/yuthon_report/models/receivable_flow_report.py b/yuthon_report/models/receivable_flow_report.py index 37e7515fc..87e16a40a 100644 --- a/yuthon_report/models/receivable_flow_report.py +++ b/yuthon_report/models/receivable_flow_report.py @@ -44,12 +44,12 @@ class ReceivableFlowReport(models.Model): if company_id: domain.append(('company_id', '=', company_id)) - receivables = self.search(domain, order="due_date asc") + receivables = self.sudo().search(domain, order="due_date asc") rec_ids = receivables.ids # ===== 批量预加载,避免N+1查询 ===== - # 1. 批量查收款明细行 - all_modify_lines = self.env['receivable.modify.line'].search([ + # 1. 批量查收款明细行(sudo跳过多公司权限) + all_modify_lines = self.env['receivable.modify.line'].sudo().search([ ('receivable_id', 'in', rec_ids), ('reconciliation_date', '!=', False), ]) @@ -58,8 +58,8 @@ class ReceivableFlowReport(models.Model): for ml in all_modify_lines: modify_map.setdefault(ml.receivable_id.id, []).append(ml) - # 2. 批量查违约金wizard - all_wizards = self.env['penalty.line.wizard'].search([ + # 2. 批量查违约金wizard(sudo跳过多公司权限) + all_wizards = self.env['penalty.line.wizard'].sudo().search([ ('receivable_id', 'in', rec_ids), ]) # 按 receivable_id 分组,并预取 pay_line_ids