Reputation: 227
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
Reputation: 14746
You can try as following :
<filter string="Previous Month"
domain="[('date_order','<=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d 23:59:59')),('date_order','>=',(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','<=', time.strftime('%Y-%m-%d')),('date_order','>=',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','<=', time.strftime('%Y-%m-%d')),('date_order','>=',(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