• 版块
  • 标签
  • 热门
  • 用户
  • 群组
Skins
  • Light
  • Default
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Quartz
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Slate
  • Solar
  • Superhero
  • Vapor
Collapse

Odoo 中文社区

odoo 14 條件隱藏刪除按鈕

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
9 帖子 2 发布者 345 浏览
    • 从旧到新
    • 从新到旧
    • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 离线
    S 离线
    samchou
    写于 最后由 编辑
    #1

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

    digitalsatoriD 1 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    在 中回复了samchou 最后由 编辑
    #2

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

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

    1 条回复 最后回复
    0
  • S 离线
    S 离线
    samchou
    写于 最后由 samchou 编辑
    #3

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

    digitalsatoriD 1 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    在 中回复了samchou 最后由 编辑
    #4

    @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 离线
    S 离线
    samchou
    写于 最后由 编辑
    #5

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

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

    我在state 有設定 Y 跟 N

    digitalsatoriD 1 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    在 中回复了samchou 最后由 编辑
    #6

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

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

    1 条回复 最后回复
    0
  • S 离线
    S 离线
    samchou
    写于 最后由 编辑
    #7

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

    digitalsatoriD 1 条回复 最后回复
    0
  • digitalsatoriD 离线
    digitalsatoriD 离线
    digitalsatori 管理员
    在 中回复了samchou 最后由 编辑
    #8

    @samchou

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

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

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

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

    1 条回复 最后回复
    0
  • S 离线
    S 离线
    samchou
    写于 最后由 samchou 编辑
    #9

    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

  • 登录

  • 没有帐号? 注册

  • Login or register to search.
  • 第一个帖子
    最后一个帖子
0
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
  • 登录

  • 没有帐号? 注册

  • Login or register to search.