anand raj
anand raj

Reputation: 227

filter previous months sale order in current year in odoo 9

I need to create a filter in sale order previous months sale order in current year in current date. in odoo 9

Thanks in advance.

Upvotes: 0

Views: 1112

Answers (1)

You can try as following :

<filter string="Previous Month"
        domain="[('date_order','&lt;=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d 23:59:59')),('date_order','&gt;=',(datetime.date.today() - relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d 00:00:00'))]"
/>

You can also create filters by following way.

<record id="filter_sale_report_this_month" model="ir.filters">
        <field name="name">This Month</field>
        <field name="model_id">sale.report</field>
        <field name="domain">[('date_order','&lt;=', time.strftime('%Y-%m-%d')),('date_order','&gt;=',time.strftime('%Y-%m-01'))]</field>
        <field name="user_id" eval="False"/>
        <field name="context">{'group_by': ['section_id']}</field>
</record>
<record id="filter_sale_report_last_week" model="ir.filters">
        <field name="name">Last 7 Days</field>
        <field name="model_id">sale.report</field>
        <field name="domain">[('date_order','&lt;=', time.strftime('%Y-%m-%d')),('date_order','&gt;=',(context_today() - datetime.timedelta(7)).strftime('%Y-%m-%d'))]</field>
        <field name="user_id" eval="False"/>
        <field name="context">{'group_by': ['section_id'], 'measures': ['product_uom_qty']}</field>
</record>

Directly create ir.filters records that will create quick filter in report.

Upvotes: 1

Related Questions