İçereği Atla
Menü
Bu soru işaretlendi
2 Cevaplar
3547 Görünümler

Hi,


On Sales/Orders/Quotation I want to use domain to allow salepeople to:


  • See every quotation in 'draft', 'sent' and 'waiting'

  • See quotations in 'sale' or 'done' ONLY if these quotation were sold this month (date_oder = current month)


I know I have to use Domain, but I don't know how to write the code for current month.

How can I do that?



Avatar
Vazgeç

Hi,

The below answer is correct and you can replace create_date with date_order. And for your requirement to view quotations in 'sale' or 'done' in current month you can group by status.

En İyi Yanıt

Hi Hugo Amaro,

Use this filter in the search view to show records created in the current month.

 <filter string="This Month" name="this_month" domain="[('create_date','&lt;',(context_today()+relativedelta(months=1)).strftime('%%Y-%%m-01')), ('create_date','&gt;=',time.strftime('%%Y-%%m-01'))]"/>

Hope it helps,

Kiran


Avatar
Vazgeç
Üretici

Your solution works, but I did not understand how to limit the "data filtering" only to when ('state', 'in', ( 'sale', 'done' ))

Üretici En İyi Yanıt

I've spent the past 3 hours trying to learn Polish Notation to understand Kiran Mohan's answer but I still failed to apply his solution ONLY to 'state', 'in', ( 'sale', 'done' )


Please help, I have no idea of what am I doing wrong...

<xpath expr="//filter[@name='my_sale_orders_filter']" position="replace">
<filter string="This Month"
name="this_month"
domain="[
'|',
('state', 'in', ('draft', 'sent', 'waiting')),
('state', 'in', ('sale','done')),
('create_date','&lt;',(context_today()+relativedelta(months=1)).strftime('%%Y-%%m-01')),
('create_date','&gt;=',time.strftime('%%Y-%%m-01'))
]"
/>
</xpath>

Note: I'm altering stright from odoo and not inheriting it - http://localhost:8069/web#id=820&model=ir.ui.view&view_type=form&cids=&menu_id=4



Avatar
Vazgeç

<filter string="This Month" name="this_month" domain="[('create_date','&lt;',(context_today()+relativedelta(months=1)).strftime('%%Y-%%m-01')), ('create_date','&gt;=',time.strftime('%%Y-%%m-01')),('state','in',('sale','done'))]"/>