diff --git a/account_financial_report_qweb/report/general_ledger.py b/account_financial_report_qweb/report/general_ledger.py
index f633f4d7..813e6758 100644
--- a/account_financial_report_qweb/report/general_ledger.py
+++ b/account_financial_report_qweb/report/general_ledger.py
@@ -33,6 +33,7 @@ class GeneralLedgerReport(models.TransientModel):
company_id = fields.Many2one(comodel_name='res.company')
filter_account_ids = fields.Many2many(comodel_name='account.account')
filter_partner_ids = fields.Many2many(comodel_name='res.partner')
+ filter_journal_ids = fields.Many2many(comodel_name='account.journal')
filter_cost_center_ids = fields.Many2many(
comodel_name='account.analytic.account'
)
@@ -1103,6 +1104,11 @@ AND
AND
rp.partner_id IS NULL
"""
+ if self.filter_journal_ids:
+ query_inject_move_line += """
+AND
+ j.id IN %s
+ """
if is_account_line:
query_inject_move_line += """
ORDER BY
@@ -1137,6 +1143,10 @@ ORDER BY
self.date_from,
self.date_to,
)
+ if self.filter_journal_ids:
+ query_inject_move_line_params += (tuple(
+ self.filter_journal_ids.ids,
+ ),)
self.env.cr.execute(
query_inject_move_line,
query_inject_move_line_params
@@ -1160,7 +1170,8 @@ WITH
SUM(ml.debit) AS debit,
SUM(ml.credit) AS credit,
SUM(ml.balance) AS balance,
- ml.currency_id AS currency_id
+ ml.currency_id AS currency_id,
+ ml.journal_id as journal_id
FROM
report_general_ledger_qweb_account ra
INNER JOIN
@@ -1193,7 +1204,7 @@ WITH
"""
query_inject_move_line_centralized += """
GROUP BY
- ra.id, ml.account_id, a.code, 2, ml.currency_id
+ ra.id, ml.account_id, a.code, 2, ml.currency_id, ml.journal_id
)
INSERT INTO
report_general_ledger_qweb_move_line
@@ -1203,6 +1214,7 @@ INSERT INTO
create_date,
date,
account,
+ journal,
label,
debit,
credit,
@@ -1214,6 +1226,7 @@ SELECT
NOW() AS create_date,
ml.date,
a.code AS account,
+ j.code as journal,
'""" + _('Centralized Entries') + """' AS label,
ml.debit AS debit,
ml.credit AS credit,
@@ -1227,12 +1240,21 @@ INNER JOIN
move_lines ml ON ra.account_id = ml.account_id
INNER JOIN
account_account a ON ml.account_id = a.id
+INNER JOIN
+ account_journal j ON ml.journal_id = j.id
LEFT JOIN
res_currency c ON ml.currency_id = c.id
WHERE
ra.report_id = %s
AND
(a.centralized IS NOT NULL AND a.centralized = TRUE)
+ """
+ if self.filter_journal_ids:
+ query_inject_move_line_centralized += """
+AND
+ j.id in %s
+ """
+ query_inject_move_line_centralized += """
ORDER BY
a.code, ml.date
"""
@@ -1249,6 +1271,10 @@ ORDER BY
self.env.uid,
self.id,
)
+ if self.filter_journal_ids:
+ query_inject_move_line_centralized_params += (tuple(
+ self.filter_journal_ids.ids,
+ ),)
self.env.cr.execute(
query_inject_move_line_centralized,
query_inject_move_line_centralized_params
@@ -1288,8 +1314,13 @@ ORDER BY
sub_subquery_sum_amounts += """
WHERE
a.company_id = %(company_id)s
- AND a.id IN %(unaffected_earnings_account_ids)s
+ AND
+ a.id IN %(unaffected_earnings_account_ids)s
"""
+ if self.filter_journal_ids:
+ sub_subquery_sum_amounts += """
+ AND
+ ml.journal_id in %(filter_journal_ids)s """
return sub_subquery_sum_amounts
def _get_unaffected_earnings_account_sub_subquery_sum_final(self):
@@ -1325,10 +1356,16 @@ ORDER BY
AND aa.id IN %(cost_center_ids)s
"""
sub_subquery_sum_amounts += """
- WHERE
- a.company_id = %(company_id)s
- AND a.id IN %(unaffected_earnings_account_ids)s
- """
+ WHERE
+ a.company_id = %(company_id)s
+ AND
+ a.id IN %(unaffected_earnings_account_ids)s
+ """
+ if self.filter_journal_ids:
+ sub_subquery_sum_amounts += """
+ AND
+ ml.journal_id in %(filter_journal_ids)s
+ """
return sub_subquery_sum_amounts
def _inject_unaffected_earnings_account_values(self):
@@ -1405,6 +1442,10 @@ ORDER BY
query_inject_account_params['report_id'] = self.id
query_inject_account_params['user_id'] = self.env.uid
+ if self.filter_journal_ids:
+ query_inject_account_params['filter_journal_ids'] = (tuple(
+ self.filter_journal_ids.ids,
+ ),)
# Fetch the profit and loss accounts
query_unaffected_earnings_account_ids = """
SELECT a.id
diff --git a/account_financial_report_qweb/report/trial_balance.py b/account_financial_report_qweb/report/trial_balance.py
index af482199..9c2c3d8f 100644
--- a/account_financial_report_qweb/report/trial_balance.py
+++ b/account_financial_report_qweb/report/trial_balance.py
@@ -28,6 +28,7 @@ class TrialBalanceReport(models.TransientModel):
company_id = fields.Many2one(comodel_name='res.company')
filter_account_ids = fields.Many2many(comodel_name='account.account')
filter_partner_ids = fields.Many2many(comodel_name='res.partner')
+ filter_journal_ids = fields.Many2many(comodel_name='account.journal')
show_partner_details = fields.Boolean()
# General Ledger Report Data fields,
@@ -170,6 +171,7 @@ class TrialBalanceReportCompute(models.TransientModel):
'company_id': self.company_id.id,
'filter_account_ids': [(6, 0, account_ids.ids)],
'filter_partner_ids': [(6, 0, self.filter_partner_ids.ids)],
+ 'filter_journal_ids': [(6, 0, self.filter_journal_ids.ids)],
'fy_start_date': self.fy_start_date,
}
diff --git a/account_financial_report_qweb/wizard/general_ledger_wizard.py b/account_financial_report_qweb/wizard/general_ledger_wizard.py
index 3d0cf627..aed2a915 100644
--- a/account_financial_report_qweb/wizard/general_ledger_wizard.py
+++ b/account_financial_report_qweb/wizard/general_ledger_wizard.py
@@ -51,6 +51,10 @@ class GeneralLedgerReportWizard(models.TransientModel):
comodel_name='res.partner',
string='Filter partners',
)
+ journal_ids = fields.Many2many(
+ comodel_name="account.journal",
+ string="Filter journals",
+ )
cost_center_ids = fields.Many2many(
comodel_name='account.analytic.account',
string='Filter cost centers',
@@ -154,6 +158,7 @@ class GeneralLedgerReportWizard(models.TransientModel):
'company_id': self.company_id.id,
'filter_account_ids': [(6, 0, self.account_ids.ids)],
'filter_partner_ids': [(6, 0, self.partner_ids.ids)],
+ 'filter_journal_ids': [(6, 0, self.partner_ids.ids)],
'filter_cost_center_ids': [(6, 0, self.cost_center_ids.ids)],
'centralize': self.centralize,
'fy_start_date': self.fy_start_date,
diff --git a/account_financial_report_qweb/wizard/general_ledger_wizard_view.xml b/account_financial_report_qweb/wizard/general_ledger_wizard_view.xml
index 0cd28e4a..73cc7569 100644
--- a/account_financial_report_qweb/wizard/general_ledger_wizard_view.xml
+++ b/account_financial_report_qweb/wizard/general_ledger_wizard_view.xml
@@ -31,12 +31,15 @@