Ir al contenido
Menú
Se marcó esta pregunta
2 Respuestas
3536 Vistas

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
Descartar

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.

Mejor respuesta

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
Descartar
Autor

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

Autor Mejor respuesta

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
Descartar

<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'))]"/>