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