mirror of
https://github.com/OCA/account-reconcile.git
synced 2025-01-20 12:27:39 +02:00
[IMP] account_reconciliation_widget: Performance opening reconciliation widget
There was an unneeded mapped of the initial statements that fetches a lot of data from statement lines that are not going to be used later, so let's remove it and optimize a bit the initial opening time. In a customer database, we have improved the opening time from 120 seconds to 15. TT48753
This commit is contained in:
@@ -308,12 +308,6 @@ class AccountReconciliation(models.AbstractModel):
|
|||||||
"""
|
"""
|
||||||
if not bank_statement_line_ids:
|
if not bank_statement_line_ids:
|
||||||
return {}
|
return {}
|
||||||
bank_statements = (
|
|
||||||
self.env["account.bank.statement.line"]
|
|
||||||
.browse(bank_statement_line_ids)
|
|
||||||
.mapped("statement_id")
|
|
||||||
)
|
|
||||||
|
|
||||||
query = """
|
query = """
|
||||||
SELECT line.id
|
SELECT line.id
|
||||||
FROM account_bank_statement_line line
|
FROM account_bank_statement_line line
|
||||||
@@ -340,18 +334,17 @@ class AccountReconciliation(models.AbstractModel):
|
|||||||
[line["st_line"]["id"] for line in results["lines"]]
|
[line["st_line"]["id"] for line in results["lines"]]
|
||||||
)
|
)
|
||||||
bank_statements_left = bank_statement_lines_left.mapped("statement_id")
|
bank_statements_left = bank_statement_lines_left.mapped("statement_id")
|
||||||
|
data = bank_statements_left.read(["name", "journal_id"])
|
||||||
|
data = data and data[0] or {}
|
||||||
results.update(
|
results.update(
|
||||||
{
|
{
|
||||||
"statement_id": len(bank_statements_left) == 1
|
"statement_id": len(bank_statements_left) == 1
|
||||||
and bank_statements_left.id
|
and bank_statements_left[0].id
|
||||||
or False,
|
or False,
|
||||||
"statement_name": len(bank_statements_left) == 1
|
"statement_name": len(bank_statements_left) == 1
|
||||||
and bank_statements_left.name
|
and data.get("name")
|
||||||
or False,
|
|
||||||
"journal_id": bank_statements
|
|
||||||
and bank_statements[0].journal_id.id
|
|
||||||
or False,
|
or False,
|
||||||
|
"journal_id": data and data.get("journal_id", [False])[0] or False,
|
||||||
"notifications": [],
|
"notifications": [],
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user