2016-12-14 118 views
0

我正在使用Odoo 8,我想设置几个域。我以为我了解逆波兰记谱法,但域不工作,所以我想我错了。如何将这些表达式转换为逆波兰表示法?

我想用逆波兰表示法来实现该结构域是:

  • A和B以及C和(d或(E和F)):我试图与表达实现它ABC或DEF,但它没有工作。

  • A和B以及(C或d或(E和F)):我试图与表达A B或或C d电子网来实现它,但它的工作都不是。

注:我不是在写域与运算(如果你不Odoo指定任何 ,它应该使用&)。

我的域名是错误的,因为我总是没有记录。

任何人都可以帮助我吗?

回答

0

我有答案。尽管你没有指定任何东西,但Odoo默认采用AND,所以当有表达式必须在其他表达式之前执行时,你必须写AND并且Odoo不知道哪些是因为你有一个复杂而长的表达式。

在我的情况下,E和F必须在任何其他表达式之前执行,所以我们不能让他们不和,所以:

  • A和B和C和(d或(E和F) ):解决方案是ABC或D和EF
  • A和B和(C或D或(E和F)):该溶液是A B或或C D和E F

在Odoo的XML结构域,这些结构域将是:

  • [A,B,C, '|',d '&',E,F]
  • [A,B,'|','|',C,D,'&',E,F]

其中每个字母将是一个表达式,如('field','operator','value')

注意:&字符必须转义。

相关问题