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

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

Odoo 中文社区

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

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

已定时 已固定 已锁定 已移动 Odoo 新手求助
17 帖子 5 发布者 7.7k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • 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
          • K 离线
            K 离线
            Kowky
            在 回复了 hui 最后由 编辑
            #5

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

            H 1 条回复 最后回复
            0
            • K 离线
              K 离线
              Kowky
              在 回复了 稀里哗啦whf 最后由 编辑
              #6

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

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

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

                1 条回复 最后回复
                0
                • K 离线
                  K 离线
                  Kowky
                  在 回复了 hui 最后由 编辑
                  #8

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

                  1 条回复 最后回复
                  0
                  • H 离线
                    H 离线
                    hui
                    在 回复了 Kowky 最后由 编辑
                    #9

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

                    K 1 条回复 最后回复
                    0
                    • K 离线
                      K 离线
                      Kowky
                      在 回复了 hui 最后由 编辑
                      #10

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

                      H 2 条回复 最后回复
                      0
                      • H 离线
                        H 离线
                        hui
                        在 回复了 Kowky 最后由 编辑
                        #11

                        @袭流苏2amor

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

                        K 1 条回复 最后回复
                        0
                        • K 离线
                          K 离线
                          Kowky
                          在 回复了 hui 最后由 编辑
                          #12

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

                          1 条回复 最后回复
                          0
                          • H 离线
                            H 离线
                            hui
                            在 回复了 Kowky 最后由 编辑
                            #13

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

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

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

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

                              E 1 条回复 最后回复
                              0
                              • E 离线
                                E 离线
                                eric2017
                                在 回复了 digitalsatori 最后由 编辑
                                #15

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

                                digitalsatoriD 1 条回复 最后回复
                                0
                                • digitalsatoriD 离线
                                  digitalsatoriD 离线
                                  digitalsatori 管理员
                                  在 回复了 eric2017 最后由 编辑
                                  #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
                                    • 版块
                                    • 标签
                                    • 热门
                                    • 用户
                                    • 群组