跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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 关注中
  • 从旧到新
  • 从新到旧
  • 最多赞同
回复
  • 在新帖中回复
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • K 离线
    K 离线
    Kowky
    发表于 最后由 编辑
    #4

    0_1504247587554_6fc88428-67cf-4bf3-b514-5f540942f5fe-image.png

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

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

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

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

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

      H 1 条回复 最后回复
      0
      • 稀 稀里哗啦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
                              • 版块
                              • 标签
                              • 热门
                              • 用户
                              • 群组