Passa al contenuto
Menu
È necessario essere registrati per interagire con la community.
La domanda è stata contrassegnata
1 Rispondi
9191 Visualizzazioni

There is a standard method

 def read_group(self, cr, uid, domain, fields, groupby, offset=0, limit=None, context=None, orderby=False)

I'm calling a super on it and passing a domain like this

[('end_date', '>=', '2019-05-01'), ('end_date', '<=', '2019-05-30'), ('employee', 'in', [49]), ('state', 'in', ['done'])]

and it works.

but when I try to append

domain.append(('&'))
domain.append(('state', 'in', ['progress']))

I get

File "/home/www/workspace/openerp-7.0-20140804-231303/openerp/osv/expression.py", line 201, in normalize_domain
    assert expected == 0, 'This domain is syntactically not correct: %s' % (domain)
AssertionError: This domain is syntactically not correct: [('end_date', '>=', '2019-05-01'), ('end_date', '<=', '2019-05-30'), ('employee', 'in', [49]), ('state', 'in', ['done']), '&', ('state', 'in', ['progress'])]

basically, need to filter all records by dates and in state 'done' and on top of that all records in state 'progress'.

Avatar
Abbandona
Risposta migliore

Hello

by default in odoo domain search with the & condition, so you don't need to add '&' into the domain

then you add ('state', 'in', ['done']), '&', ('state', 'in', ['progress'])

this above condition you have to write like ('state', 'in', ['done', 'progress']).

so your whole domain is like

[('end_date', '>=', '2019-05-01'), ('end_date', '<=', '2019-05-30'), 
('employee', 'in', [49]), ('state', 'in', ['done', 'progress'])]

Try like this, i hope this will helps you.

Avatar
Abbandona
Autore

Actually, this worked thank you, but I don't get all the records. the problem is that records that in 'progress' state doesn't have end_date, can I bypass this somehow?

Post correlati Risposte Visualizzazioni Attività
1
ago 15
4315
1
mar 15
5541
1
apr 20
2864
2
gen 24
16223
1
lug 15
4510