Bonjour fueggit,
OpenERP utilise la notation polonaise pour les filtres de domaine.
D'abord, vous devez comprendre ce qu'est la notation polonaise. Vous pouvez trouver des informations détaillées dans wikipedia sur la notation polonaise. http://en.wikipedia.org/wiki/Polish_notation
A propos de votre question
(A OR B) AND (C OR D OR E)
doit convertir la notation polonaise
AND OR A B OR OR C D E
et doit être résolu par l'algorithme avec l'ordre suivant [] représente le fonctionnement
AND [OR A B] OR OR C D E Result of [OR A B] is F
AND F OR [OR C D] E Result of [OR C D] is G
AND F [OR G E] Result of [OR G E] is H
[AND F H]
il commence à GAUCHE à Droite. Si un autre opérateur est trouvé avant la découverte de deux opérandes, alors l'ancien opérateur est mis de côté jusqu'à ce que ce nouvel opérateur soit résolu, ce processus se répète jusqu'à ce qu'un opérateur soit résolu, ce qui doit arriver finalement, car il doit y en avoir un autre. opérande qu'il n'y a d'opérateurs dans une déclaration complète. " De l'article wikipedia.
vous pouvez également utiliser dans l'opérateur au lieu d'écrire trois tuples séparés par l'opérateur OR comme
['&',('field2', 'in', ['A', 'B']),('state', 'in', ['open', 'closed', 'draft'])]
Solution
<field name="x" attrs="{'readonly': [('participate_process', '=', False),'|',('state','!=', 'ok'),('state', '=', 'fine')]}" >
OU
<field name="x" attrs="{'readonly': ['&',('participate_process', '=', False),'|',('state','!=', 'ok'),('state', '=', 'fine')]}" >
J'espère que ma réponse est utile.
Si n'importe quelle requête ainsi commenter s'il vous plaît.
Bonjour fueggit, vérifiez ma réponse si l'aide est complète alors acceptez la réponse. –
Bonjour, donc c'est la même chose pour ma solution, oui? Juste la syntaxe est un peu différente. –
fueggit
Oui aussi vrai mais utiliser polonais Notation ...... –