[IMP] account_financial_report: Open items groupy by salesman

TT49193
This commit is contained in:
Carolina Fernandez
2024-05-22 13:38:05 +02:00
committed by Víctor Martínez
parent c81cfc0f98
commit e14373d995
10 changed files with 438 additions and 93 deletions

View File

@@ -9,6 +9,7 @@
</t>
</t>
</template>
<template id="account_financial_report.report_open_items_base">
<!-- Saved flag fields into variables, used to define columns display -->
<t t-set="foreign_currency" t-value="foreign_currency" />
@@ -28,51 +29,87 @@
style="text-align: center;"
/>
</div>
<!-- Display filters -->
<t t-call="account_financial_report.report_open_items_filters" />
<t t-foreach="Open_Items.keys()" t-as="account_id">
<!-- Display account header -->
<div class="act_as_table list_table" style="margin-top: 10px;" />
<div class="account_title" style="width: 100%;">
<span t-esc="accounts_data[account_id]['code']" />
-
<span t-esc="accounts_data[account_id]['name']" />
</div>
<t t-if="not show_partner_details">
<div class="act_as_table data_table" style="width: 100%;">
<t
t-call="account_financial_report.report_open_items_lines_header"
/>
<!-- Display account move lines -->
<t t-foreach="Open_Items[account_id]" t-as="line">
<t
t-call="account_financial_report.report_open_items_lines"
/>
</t>
<t t-if="grouped_by == 'salesperson' and show_partner_details">
<t t-foreach="partners_data.keys()" t-as="partner_id">
<t t-call="account_financial_report.report_open_items_filters" />
<div class="act_as_caption account_title">
<span t-esc="partners_data[partner_id]['name']" />
</div>
</t>
<t t-if="show_partner_details">
<div class="page_break">
<!-- Display account partners -->
<t t-foreach="Open_Items[account_id]" t-as="partner_id">
<div class="act_as_caption account_title">
<span t-esc="partners_data[partner_id]['name']" />
<t t-foreach="Open_Items.keys()" t-as="account_id">
<t t-if="partner_id in Open_Items[account_id]">
<div
class="act_as_table list_table"
style="margin-top: 10px;"
/>
<div class="account_title" style="width: 100%;">
<span t-esc="accounts_data[account_id]['code']" />
-
<span t-esc="accounts_data[account_id]['name']" />
</div>
<div class="act_as_table data_table" style="width: 100%;">
<!-- Display partner header -->
<t t-if="Open_Items[account_id]">
<t
t-call="account_financial_report.report_open_items_lines_header"
t-set="partner_totals"
t-value="o._calculate_amounts_by_partner(account_id,Open_Items[account_id][partner_id])"
/>
<!-- Display partner move lines -->
<t
t-foreach="Open_Items[account_id][partner_id]"
t-as="line"
t-foreach="partner_totals.get(account_id, {})"
t-as="partner_id_key"
>
<t
t-call="account_financial_report.report_open_items_lines"
/>
<t t-set="has_lines" t-value="False" />
<div
class="act_as_table data_table"
style="width: 100%;"
>
<t
t-foreach="Open_Items[account_id][partner_id]"
t-as="line"
>
<t
t-if="line['partner_id'] == partner_id_key"
>
<t t-set="has_lines" t-value="True" />
</t>
</t>
<t t-if="has_lines">
<!-- Display partner header -->
<t
t-call="account_financial_report.report_open_items_lines_header"
/>
</t>
<t
t-foreach="Open_Items[account_id][partner_id]"
t-as="line"
>
<t
t-if="line['partner_id'] == partner_id_key"
>
<!-- Display partner move lines -->
<t
t-call="account_financial_report.report_open_items_lines"
/>
</t>
</t>
</div>
<!-- Check if there were any lines displayed for the partner -->
<t t-if="has_lines">
<!-- Calculate and display subtotal for current partner_id -->
<t
t-call="account_financial_report.report_open_items_ending_cumul"
>
<t
t-set="currency_id"
t-value="accounts_data[account_id]['currency_name']"
/>
<t
t-set="type"
t-value="'partner_subtotal_type'"
/>
</t>
</t>
</t>
</div>
</t>
<!-- Display account footer -->
<t
t-call="account_financial_report.report_open_items_ending_cumul"
>
@@ -87,23 +124,92 @@
<t t-set="type" t-value='"partner_type"' />
</t>
</t>
</div>
</t>
<div style="page-break-after: always;" />
</t>
<!-- Display account footer -->
<t t-call="account_financial_report.report_open_items_ending_cumul">
<t
t-set="account_or_partner_id"
t-value="accounts_data[account_id]"
/>
<t
t-set="currency_id"
t-value="accounts_data[account_id]['currency_name']"
/>
<t t-set="type" t-value='"account_type"' />
</t>
<t t-else="">
<!-- Display filters -->
<t t-call="account_financial_report.report_open_items_filters" />
<t t-foreach="Open_Items.keys()" t-as="account_id">
<!-- Display account header -->
<div class="act_as_table list_table" style="margin-top: 10px;" />
<div class="account_title" style="width: 100%;">
<span t-esc="accounts_data[account_id]['code']" />
-
<span t-esc="accounts_data[account_id]['name']" />
</div>
<t t-if="not show_partner_details">
<div class="act_as_table data_table" style="width: 100%;">
<t
t-call="account_financial_report.report_open_items_lines_header"
/>
<!-- Display account move lines -->
<t t-foreach="Open_Items[account_id]" t-as="line">
<t
t-call="account_financial_report.report_open_items_lines"
/>
</t>
</div>
</t>
<t t-if="show_partner_details">
<div class="page_break">
<!-- Display account partners -->
<t t-foreach="Open_Items[account_id]" t-as="partner_id">
<div class="act_as_caption account_title">
<span t-esc="partners_data[partner_id]['name']" />
</div>
<div
class="act_as_table data_table"
style="width: 100%;"
>
<!-- Display partner header -->
<t
t-call="account_financial_report.report_open_items_lines_header"
/>
<!-- Display partner move lines -->
<t
t-foreach="Open_Items[account_id][partner_id]"
t-as="line"
>
<t
t-call="account_financial_report.report_open_items_lines"
/>
</t>
</div>
<t
t-call="account_financial_report.report_open_items_ending_cumul"
>
<t
t-set="account_or_partner_id"
t-value="partners_data[partner_id]"
/>
<t
t-set="currency_id"
t-value="accounts_data[account_id]['currency_name']"
/>
<t t-set="type" t-value='"partner_type"' />
</t>
</t>
</div>
</t>
<!-- Display account footer -->
<t t-call="account_financial_report.report_open_items_ending_cumul">
<t
t-set="account_or_partner_id"
t-value="accounts_data[account_id]"
/>
<t
t-set="currency_id"
t-value="accounts_data[account_id]['currency_name']"
/>
<t t-set="type" t-value='"account_type"' />
</t>
</t>
</t>
</div>
</template>
<template id="account_financial_report.report_open_items_filters">
<div class="act_as_table data_table" style="width: 100%;">
<div class="act_as_row labels">
@@ -294,6 +400,20 @@
Partner ending balance
</div>
</t>
<t t-if='type == "partner_subtotal_type"'>
<div class="act_as_cell first_column" style="width: 36.34%;" />
<t
t-set="partner"
t-value="env['res.partner'].browse(partner_id_key)"
/>
<t t-if="partner">
<span t-esc="partner.name" />
</t>
<div class="act_as_cell right" style="width: 28.66%;">
Ending
balance
</div>
</t>
<!--## date_due-->
<div class="act_as_cell" style="width: 6.47%;" />
<!--## amount_total_due-->
@@ -312,6 +432,12 @@
t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
/>
</t>
<t t-if='type == "partner_subtotal_type"'>
<span
t-esc="partner_totals[account_id][partner_id_key]['residual']"
t-options="{'widget': 'monetary', 'display_currency': res_company.currency_id}"
/>
</t>
</div>
<!--## amount_total_due_currency + amount_residual_currency -->
<t t-if="foreign_currency">