跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • 深色
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 新手求助
  4. onchange时字段只读不保存的问题

onchange时字段只读不保存的问题

已定时 已固定 已锁定 已移动 Odoo 新手求助
17 帖子 5 发布者 12.6k 浏览 1 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 稀 稀里哗啦whf

    你要先理解B在界面上设置readonly的实质作用,你其实可以换一下思路,设置B不可编辑或者隐藏,要么就干脆换成compute A

    K 离线
    K 离线
    Kowky
    发表于 最后由 编辑
    #6

    @稀里哗啦whf 计算字段也尝试了,因为我依赖的是产品名称字段onchange明细行的,因为计算字段默认为只读状态。会导致我整张单据都无法操作。

    1 条回复 最后回复
    0
    • K 离线
      K 离线
      Kowky
      发表于 最后由 编辑
      #7

      0_1504248245081_a5e3c895-8e4b-4485-98f7-0325a9a92136-image.png

      1 条回复 最后回复
      0
      • H hui

        字段A onchange出现字段B,是在页面用attr设置的吗,不是的话,可以贴出来代码看看吗?

        看你的要求我觉得字段A onchange出字段在页面attr的invisible设置可行,至于后面的修改A,B发生了变化,而且写入不了数据库,需要看看代码.

        K 离线
        K 离线
        Kowky
        发表于 最后由 编辑
        #8

        @1234567 尝试了一下atrrs过滤,效果一样,在未只读之前是没问题的,当点击保存时值仍然没有保存住。

        1 条回复 最后回复
        0
        • K Kowky

          @1234567 根据产品名称控制明细行的所有数据,而有些字段是只读的。当onchange以后值是可以正常可取的,当点击保存后字段并未存储到数据库

          H 离线
          H 离线
          hui
          发表于 最后由 编辑
          #9

          @袭流苏2amor
          我觉得那需要看看你@api.change('product_name'),以后视图onchange的字段显示如果正确,那需要看看数据类型和名称跟数据库是否匹配,可以在控制台打印出来看看,如果打印处理的数据也是错的,就不是写入的问题了.

          K 1 条回复 最后回复
          0
          • H hui

            @袭流苏2amor
            我觉得那需要看看你@api.change('product_name'),以后视图onchange的字段显示如果正确,那需要看看数据类型和名称跟数据库是否匹配,可以在控制台打印出来看看,如果打印处理的数据也是错的,就不是写入的问题了.

            K 离线
            K 离线
            Kowky
            发表于 最后由 编辑
            #10

            @1234567 数据都没有问题,换了一种处理方式,将需要只读的三个字段通过depends的方式做成计算字段了
            0_1504252142479_5876072c-2d3e-4712-b9c1-9788790a0ab0-image.png 目前问题已解决,万分感谢您百忙之中提供思路。谢谢!

            H 2 条回复 最后回复
            0
            • K Kowky

              @1234567 数据都没有问题,换了一种处理方式,将需要只读的三个字段通过depends的方式做成计算字段了
              0_1504252142479_5876072c-2d3e-4712-b9c1-9788790a0ab0-image.png 目前问题已解决,万分感谢您百忙之中提供思路。谢谢!

              H 离线
              H 离线
              hui
              发表于 最后由 编辑
              #11

              @袭流苏2amor

              哈哈,我水平有限,没帮上忙,解决就好,估计还是没有理解你的需求.哈哈

              K 1 条回复 最后回复
              0
              • H hui

                @袭流苏2amor

                哈哈,我水平有限,没帮上忙,解决就好,估计还是没有理解你的需求.哈哈

                K 离线
                K 离线
                Kowky
                发表于 最后由 编辑
                #12

                @1234567 没事没事,万分感谢!共同学习吗,onchange变化关联字段的时候确实会遇到这个问题。

                1 条回复 最后回复
                0
                • K Kowky

                  @1234567 数据都没有问题,换了一种处理方式,将需要只读的三个字段通过depends的方式做成计算字段了
                  0_1504252142479_5876072c-2d3e-4712-b9c1-9788790a0ab0-image.png 目前问题已解决,万分感谢您百忙之中提供思路。谢谢!

                  H 离线
                  H 离线
                  hui
                  发表于 最后由 编辑
                  #13

                  @袭流苏2amor
                  你好,我也遇到这个问题,我觉得是onchange的好处是可以实时看到变化的效果,还有问题就是,如果视图中onchange后的字段设为只读,有时候保存可以看到,有时候看不到的;我用compute的话,只能在保存的话才能看见变化后的结果,用户体验不是很好。

                  1 条回复 最后回复
                  0
                  • D 离线
                    D 离线
                    digitalsatori
                    管理员
                    发表于 最后由 编辑
                    #14

                    @1234567 @袭流苏2amor onchange 不能修改readonly的字段不是问题是设计如此。
                    如果有这样的需求应该采用function字段

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

                    E 1 条回复 最后回复
                    0
                    • D digitalsatori

                      @1234567 @袭流苏2amor onchange 不能修改readonly的字段不是问题是设计如此。
                      如果有这样的需求应该采用function字段

                      E 离线
                      E 离线
                      eric2017
                      发表于 最后由 编辑
                      #15

                      @digitalsatori function字段是什么?如果方便,给个例子或网址,谢谢!

                      D 1 条回复 最后回复
                      0
                      • E eric2017

                        @digitalsatori function字段是什么?如果方便,给个例子或网址,谢谢!

                        D 离线
                        D 离线
                        digitalsatori
                        管理员
                        发表于 最后由 编辑
                        #16

                        @eric2017 就是compute字段。参见:http://www.odoo.com/documentation/10.0/reference/orm.html#computed-fields

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

                        1 条回复 最后回复
                        1
                        • K 离线
                          K 离线
                          Kowky
                          发表于 最后由 编辑
                          #17

                          @digitalsatori 在 onchange时字段只读不保存的问题 中说:

                          compute

                          谢谢回复, 万分感谢

                          1 条回复 最后回复
                          0

                          你好!看起来您对这段对话很感兴趣,但您还没有一个账号。

                          厌倦了每次访问都刷到同样的帖子?您注册账号后,您每次返回时都能精准定位到您上次浏览的位置,并可选择接收新回复通知(通过邮件或推送通知)。您还能收藏书签、为帖子顶,向社区成员表达您的欣赏。

                          有了你的建议,这篇帖子会更精彩哦 💗

                          注册 登录
                          回复
                          • 在新帖中回复
                          登录后回复
                          • 从旧到新
                          • 从新到旧
                          • 最多赞同


                          • 登录

                          • 没有帐号? 注册

                          • 登录或注册以进行搜索。
                          • 第一个帖子
                            最后一个帖子
                          0
                          • 版块
                          • 标签
                          • 热门
                          • 用户
                          • 群组