Skip ke Konten
Menu
Pertanyaan ini telah diberikan tanda
2 Replies
1471 Tampilan

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. 

Avatar
Buang
Penulis Jawaban Terbai

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


Thanks for your time.

Avatar
Buang
Jawaban Terbai

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

Avatar
Buang
Post Terkait Replies Tampilan Aktivitas
0
Agu 23
1392
2
Jan 20
7513
1
Agu 19
2937
0
Mar 15
3719
0
Mar 15
3109