Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    odoo 14 條件隱藏刪除按鈕

    Odoo 开发与实施交流
    2
    9
    308
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • S
      samchou 最后由 编辑

      請問ODOO 14 如何有條件的隱藏刪除按鈕

      digitalsatori 1 条回复 最后回复 回复 引用 0
      • digitalsatori
        digitalsatori 管理员 @samchou 最后由 编辑

        @samchou 可以考虑一下字段的state属性,可以设置在某个state下,该数据为只读,只读数据也就没有了删除按钮。

        【上海先安科技】(tony AT openerp.cn)

        1 条回复 最后回复 回复 引用 0
        • S
          samchou 最后由 samchou 编辑

          請問是這樣嗎?
          <field name="state" attrs="{'readonly':[('state', '=', 'Y')]}" invisible="1" / >
          我試過刪除按鈕還是存在

          digitalsatori 1 条回复 最后回复 回复 引用 0
          • digitalsatori
            digitalsatori 管理员 @samchou 最后由 编辑

            @samchou 在 odoo 14 條件隱藏刪除按鈕 中说:

            請問是這樣嗎?
            <field name="state" attrs="{'readonly':[('state', '=', 'Y')]}" invisible="1" / >
            我試過刪除按鈕還是存在

            不是的。

            你可以看一下订单中的order_line字段的定义(对应sale.order.line对象), 注意一下里面的states用法。

                order_line = fields.One2many('sale.order.line', 'order_id', string='Order Lines', states={'cancel': [('readonly', True)], 'done': [('readonly', True)]}, copy=True, auto_join=True)
            

            【上海先安科技】(tony AT openerp.cn)

            1 条回复 最后回复 回复 引用 0
            • S
              samchou 最后由 编辑

              ef5e20f6-bea8-4d7b-a061-39d162cb5ba1-圖片.png

              1ffb079d-c9e9-4624-bde0-124e8e5ad84c-圖片.png

              我在state 有設定 Y 跟 N

              digitalsatori 1 条回复 最后回复 回复 引用 0
              • digitalsatori
                digitalsatori 管理员 @samchou 最后由 编辑

                @samchou 首先你的对象上要有state这个字段,不要想当然的乱用啊,自己看一下文档介绍吧:https://www.odoo.com/documentation/15.0/developer/reference/backend/orm.html#fields

                【上海先安科技】(tony AT openerp.cn)

                1 条回复 最后回复 回复 引用 0
                • S
                  samchou 最后由 编辑

                  8cb64f10-4790-47e1-9a1a-92a2f288671d-圖片.png
                  但是擋不掉
                  d9afbff5-c6f7-4d29-8f85-7ec212e6d7ac-圖片.png

                  digitalsatori 1 条回复 最后回复 回复 引用 0
                  • digitalsatori
                    digitalsatori 管理员 @samchou 最后由 编辑

                    @samchou

                    state是作为一个对象中的一个标志字段,用来作为动态判断的条件,比如这条记录的状态在'confirmed'的时候,这条记录就变成readonly,也就是不能删除了。

                    所以,首先你要有一个名字叫state的状态字段, 然后比如象订单明细(order_line)这样的字段就可以使用states属性来动态改变order_line在什么state下变为readonly。

                    你目前的用法完全不对啊, 还是看看我上面的文档链接,然后再看看addons/sale里的例子的用法吧。

                    【上海先安科技】(tony AT openerp.cn)

                    1 条回复 最后回复 回复 引用 0
                    • S
                      samchou 最后由 samchou 编辑

                      13334f32-634f-467d-ae0d-1b3b98b6832b-圖片.png
                      sale.order的設定

                      3990d876-8152-47d9-bf3b-e1293301099d-圖片.png

                      1bd0f1e9-c8bc-41b5-9a7f-c09ce7627b48-圖片.png
                      我的設定

                      但是還是出現錯誤
                      ac2f9b22-a45d-493f-a6f5-a022e3eac194-圖片.png

                      1 条回复 最后回复 回复 引用 0
                      • First post
                        Last post