跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 浅色
  • 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
    发表于 最后由 编辑
    #1

    做了一个字段A onchange出字段B,同时将B设置了只读属性;结果发现修改A时候 B的值发生了变化 但是保存不上,就是没有写入数据库;

    1 条回复 最后回复
    0
    • H 离线
      H 离线
      hui
      发表于 最后由 编辑
      #2

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

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

      K 2 条回复 最后回复
      0
      • 稀 离线
        稀 离线
        稀里哗啦whf
        发表于 最后由 编辑
        #3

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

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