Merge PR #802 into 13.0

Signed-off-by pedrobaeza
pull/804/head
OCA-git-bot 2021-07-08 07:54:38 +00:00
commit 3c4188efb7
9 changed files with 54 additions and 5 deletions

View File

@ -43,6 +43,10 @@ To use this module, you need to:
#. Go to Accounting > Reports > MIS Reporting > MIS Reports and choose "Cash Flow" report #. Go to Accounting > Reports > MIS Reporting > MIS Reports and choose "Cash Flow" report
#. You can add forecast lines on Accounting > Reports > MIS Reporting > Cash Flow Forecast Line #. You can add forecast lines on Accounting > Reports > MIS Reporting > Cash Flow Forecast Line
#. If you select on "Target Moves" the value "All Posted Entries", you will get only
lines for already posted invoices/entries + the forecast lines.
#. Selecting "All Entries", draft invoices/entries are also included.
#. In any case, cancelled invoices/entries are not included.
Known issues / Roadmap Known issues / Roadmap
====================== ======================
@ -75,6 +79,9 @@ Contributors
* Juan José Scarafía <jjs@adhoc.com.ar> * Juan José Scarafía <jjs@adhoc.com.ar>
* Gonzalo Ruzafa <gr@adhoc.com.ar> * Gonzalo Ruzafa <gr@adhoc.com.ar>
* Alberto Martín <alberto.martin@guadaltech.es> * Alberto Martín <alberto.martin@guadaltech.es>
* `Tecnativa <https://www.tecnativa.com>`_:
* Pedro M. Baeza
Maintainers Maintainers
~~~~~~~~~~~ ~~~~~~~~~~~

View File

@ -1,4 +1,5 @@
# Copyright 2019 ADHOC SA # Copyright 2019 ADHOC SA
# Copyright 2021 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{ {

View File

@ -1,4 +1,4 @@
# Copyright 2019 ADHOC SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import mis_cash_flow_forecast_line
from . import account_account from . import account_account
from . import mis_cash_flow_forecast_line
from . import mis_report_instance

View File

@ -23,7 +23,7 @@ class MisCashFlowForecastLine(models.Model):
"res.company", "res.company",
string="Company", string="Company",
required=True, required=True,
default=lambda self: self.env.user.company_id.id, default=lambda self: self.env.company,
index=True, index=True,
) )

View File

@ -0,0 +1,17 @@
# Copyright 2021 Tecnativa - Pedro M. Baeza
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models
class MisReportInstancePeriod(models.Model):
_inherit = "mis.report.instance.period"
def _get_additional_move_line_filter(self):
"""Add the posted condition ."""
domain = super()._get_additional_move_line_filter()
if (
self._get_aml_model_name() == "mis.cash_flow"
and self.report_instance_id.target_move == "posted"
):
domain += [("state", "=", "posted")]
return domain

View File

@ -1,3 +1,6 @@
* Juan José Scarafía <jjs@adhoc.com.ar> * Juan José Scarafía <jjs@adhoc.com.ar>
* Gonzalo Ruzafa <gr@adhoc.com.ar> * Gonzalo Ruzafa <gr@adhoc.com.ar>
* Alberto Martín <alberto.martin@guadaltech.es> * Alberto Martín <alberto.martin@guadaltech.es>
* `Tecnativa <https://www.tecnativa.com>`_:
* Pedro M. Baeza

View File

@ -2,3 +2,7 @@ To use this module, you need to:
#. Go to Accounting > Reports > MIS Reporting > MIS Reports and choose "Cash Flow" report #. Go to Accounting > Reports > MIS Reporting > MIS Reports and choose "Cash Flow" report
#. You can add forecast lines on Accounting > Reports > MIS Reporting > Cash Flow Forecast Line #. You can add forecast lines on Accounting > Reports > MIS Reporting > Cash Flow Forecast Line
#. If you select on "Target Moves" the value "All Posted Entries", you will get only
lines for already posted invoices/entries + the forecast lines.
#. Selecting "All Entries", draft invoices/entries are also included.
#. In any case, cancelled invoices/entries are not included.

View File

@ -50,6 +50,12 @@ class MisCashFlow(models.Model):
account_internal_type = fields.Selection( account_internal_type = fields.Selection(
related="account_id.user_type_id.type", readonly=True related="account_id.user_type_id.type", readonly=True
) )
state = fields.Selection(selection="_selection_parent_state",)
def _selection_parent_state(self):
return self.env["account.move"].fields_get(allfields=["state"])["state"][
"selection"
]
def init(self): def init(self):
query = """ query = """
@ -57,7 +63,7 @@ class MisCashFlow(models.Model):
-- we use negative id to avoid duplicates and we don't use -- we use negative id to avoid duplicates and we don't use
-- ROW_NUMBER() because the performance was very poor -- ROW_NUMBER() because the performance was very poor
-aml.id as id, -aml.id as id,
CAST('move_line' AS varchar) as line_type, 'move_line' as line_type,
aml.id as move_line_id, aml.id as move_line_id,
aml.account_id as account_id, aml.account_id as account_id,
CASE CASE
@ -75,12 +81,14 @@ class MisCashFlow(models.Model):
aml.partner_id as partner_id, aml.partner_id as partner_id,
aml.company_id as company_id, aml.company_id as company_id,
aml.name as name, aml.name as name,
aml.parent_state as state,
COALESCE(aml.date_maturity, aml.date) as date COALESCE(aml.date_maturity, aml.date) as date
FROM account_move_line as aml FROM account_move_line as aml
WHERE aml.parent_state != 'cancel'
UNION ALL UNION ALL
SELECT SELECT
fl.id as id, fl.id as id,
CAST('forecast_line' AS varchar) as line_type, 'forecast_line' as line_type,
NULL as move_line_id, NULL as move_line_id,
fl.account_id as account_id, fl.account_id as account_id,
CASE CASE
@ -98,6 +106,7 @@ class MisCashFlow(models.Model):
fl.partner_id as partner_id, fl.partner_id as partner_id,
fl.company_id as company_id, fl.company_id as company_id,
fl.name as name, fl.name as name,
'posted' as state,
fl.date as date fl.date as date
FROM mis_cash_flow_forecast_line as fl FROM mis_cash_flow_forecast_line as fl
""" """

View File

@ -394,6 +394,10 @@ The forecast is based on two types of date:</p>
<ol class="arabic simple"> <ol class="arabic simple">
<li>Go to Accounting &gt; Reports &gt; MIS Reporting &gt; MIS Reports and choose “Cash Flow” report</li> <li>Go to Accounting &gt; Reports &gt; MIS Reporting &gt; MIS Reports and choose “Cash Flow” report</li>
<li>You can add forecast lines on Accounting &gt; Reports &gt; MIS Reporting &gt; Cash Flow Forecast Line</li> <li>You can add forecast lines on Accounting &gt; Reports &gt; MIS Reporting &gt; Cash Flow Forecast Line</li>
<li>If you select on “Target Moves” the value “All Posted Entries”, you will get only
lines for already posted invoices/entries + the forecast lines.</li>
<li>Selecting “All Entries”, draft invoices/entries are also included.</li>
<li>In any case, cancelled invoices/entries are not included.</li>
</ol> </ol>
</div> </div>
<div class="section" id="known-issues-roadmap"> <div class="section" id="known-issues-roadmap">
@ -424,6 +428,10 @@ If you spotted it first, help us smashing it by providing a detailed and welcome
<li>Juan José Scarafía &lt;<a class="reference external" href="mailto:jjs&#64;adhoc.com.ar">jjs&#64;adhoc.com.ar</a>&gt;</li> <li>Juan José Scarafía &lt;<a class="reference external" href="mailto:jjs&#64;adhoc.com.ar">jjs&#64;adhoc.com.ar</a>&gt;</li>
<li>Gonzalo Ruzafa &lt;<a class="reference external" href="mailto:gr&#64;adhoc.com.ar">gr&#64;adhoc.com.ar</a>&gt;</li> <li>Gonzalo Ruzafa &lt;<a class="reference external" href="mailto:gr&#64;adhoc.com.ar">gr&#64;adhoc.com.ar</a>&gt;</li>
<li>Alberto Martín &lt;<a class="reference external" href="mailto:alberto.martin&#64;guadaltech.es">alberto.martin&#64;guadaltech.es</a>&gt;</li> <li>Alberto Martín &lt;<a class="reference external" href="mailto:alberto.martin&#64;guadaltech.es">alberto.martin&#64;guadaltech.es</a>&gt;</li>
<li><a class="reference external" href="https://www.tecnativa.com">Tecnativa</a>:<ul>
<li>Pedro M. Baeza</li>
</ul>
</li>
</ul> </ul>
</div> </div>
<div class="section" id="maintainers"> <div class="section" id="maintainers">