【问题标题】:How to make readonly a field with attrs and these conditions?如何使只读字段具有 attrs 和这些条件?
【发布时间】:2018-03-14 13:05:57
【问题描述】:
<field name="Tr"   attrs="{'readonly':['|',('week_end','=',False),('HSup_P1','!=',False),('HSup_P2','!=',False),('HSup_P3','!=',False),('HSup_P4','!=',False)]}"/>

week_endFalseHSup_P1HSup_P2HSup_P3HSup_P4 时,我想做的是使该字段只读正确

【问题讨论】:

    标签: xml odoo odoo-10


    【解决方案1】:

    这应该可行:

    <field name="Tr" attrs="{'readonly': ['|', '|', ('week_end', '=', False), ('HSup_P1', '!=', False), '|', '|', ('HSup_P2', '!=', False), ('HSup_P3', '!=', False), ('HSup_P4', '!=', False)]}"/>
    

    看看我在这篇文章中的回答:I don´t understand Normal Polish Notation (NPN or PN). How to build a complex domain in Odoo?

    我认为,当您将来必须处理域和这种波兰表示法时,它会对您有所帮助。

    所以如果你应用我在链接中建议你的方法:

    A => ('week_end', '=', False)
    B => ('HSup_P1', '!=', False)
    C => ('HSup_P2', '!=', False)
    D => ('HSup_P3', '!=', False)
    E => ('HSup_P4', '!=', False)
    

    你想要什么:

    Step 0. => A or B or C or D or E
    

    在这里您可以根据需要对字母进行分组,因为没有任何优先级,例如:

    Step 1. => A or B or C or D or E
    Step 2. => AB or C or D or E
    Step 3. => AB or CD or E
    Step 4. => AB or CDE
    

    现在,我们分解生成的组,将它们的运算符移到左侧:

    Step 4. => or AB CDE
    Step 3. => or AB or CD E
    Step 2. => or AB or or C D E
    Step 1. => or or A B or or C D E
    

    最后,将字母替换为各自的表达式和运算符(or 替换为|and 替换为&amp;amp;),你就会得到我在上面写给你的答案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-09-30
      • 2015-05-23
      • 2019-11-21
      • 2019-04-11
      • 2021-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多