Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
2 Răspunsuri
1494 Vizualizări

Can I create Custom report with Partner level in V17? I want to know how much amount of sales generated by which sales rep to each partner level. 

Sales need to be grouped by product, partner level and sales rep. 

Imagine profil
Abandonează
Autor Cel mai bun răspuns

I'm functional consultant, don't have knowledge in coding... Is it possible from studio ? or any front end changes ?


Thanks for your time.

Imagine profil
Abandonează
Cel mai bun răspuns

Hi,

You can try this code


from odoo import api, models


class CustomSalesReport(models.AbstractModel):

    _name = 'report.custom_module.report_custom_sales'


    @api.model

    def get_report_data(self, product_id, partner_level):

        # Fetch sales data based on product, partner level, etc.

        sales_data = self.env['sale.order'].search([

            ('product_id', '=', product_id),

            ('partner_id.partner_level', '=', partner_level),

        ])

        report_lines = []

        for sale_order in sales_data:

            sales_amount = sum(line.price_subtotal for line in sale_order.order_line)

            report_line = {

                'product_id': sale_order.product_id.name,

                'partner_id': sale_order.partner_id.name,

                'sales_rep_id': sale_order.user_id.name,

                'partner_level': sale_order.partner_id.partner_level,

                'sales_amount': sales_amount,

            }

            report_lines.append(report_line)

       

        return report_lines

Xml code:


for menu
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<menuitem id="menu_custom_sales_report" name="Custom Sales Report" action="action_custom_sales_report"/>
</odoo>



For templates :


<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="report_custom_sales_report">
        <t t-call="web.html_container">
            <t t-foreach="docs" t-as="line">
                <div class="report-line">
<span><t t-esc="http://line.product_id.name" target="_blank">line.product_id.name"/></span>
<span><t t-esc="http://line.partner_id.name" target="_blank">line.partner_id.name"/></span>
<span><t t-esc="http://line.sales_rep_id.name" target="_blank">line.sales_rep_id.name"/></span>
<span><t t-esc="line.partner_level"/></span>
<span><t t-esc="line.sales_amount"/></span>
                </div>
            </t>
        </t>
    </template>
</odoo>

for Report :

<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="action_custom_sales_report" model="ir.actions.report">
        <field name="name">Custom Sales Report</field>
<field name="model">custom_module.report_custom_sales</field>
<field name="report_type">qweb-pdf</field>
<field name="report_name">custom_module.report_custom_sales_report</field>
<field name="report_file">custom_module.report_custom_sales_report</field>
<field name="report_template" ref="custom_module.report_custom_sales_report"/>
    </record>
</odoo>



Hope it helps

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
0
aug. 23
1408
2
ian. 20
7560
1
aug. 19
2976
0
mar. 15
3734
0
mar. 15
3117