Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

Crm模块中onchange_stage_id不工作的问题



  • 在crm_lead_view中,定义的stage_id,<br />[code]<br />  <field name="stage_id" widget="statusbar" clickable="True" on_change="onchange_stage_id(stage_id)"/><br />[/code]<br />我理解的意思是,在切换stege时,执行这个onchange函数,因为这个stage是可以点击的,因此我通过在界面上直接直接点击statusbar切换stage,但是我在py中的onchange_stage_id函数中增加log发现,点击切换stage的时候,并没有logo输出,我甚至注释掉onchange_stage_id这个函数,也没有任何错误提示。<br />请问这个是怎么回事呢?



  • 在crm_lead_view中,定义的stage_id,<br />[code]<br />  <field name="stage_id" widget="statusbar" clickable="True" on_change="onchange_stage_id(stage_id)"/><br />[/code]<br />我理解的意思是,在切换stege时,执行这个onchange函数,因为这个stage是可以点击的,因此我通过在界面上直接直接点击statusbar切换stage,但是我在py中的onchange_stage_id函数中增加log发现,点击切换stage的时候,并没有logo输出,我甚至注释掉onchange_stage_id这个函数,也没有任何错误提示。<br />请问这个是怎么回事呢?



  • 估计 widget="statusbar"  的时候, onchage 是不触发的



  • statusbar 是一个只读的控件吧?<br />你怎么去 change 它呢?



  • 但是clickable是ture,是可以点击触发的,这个不算是只读控件吧。onchange这个函数是OE自带的,如果不能触发,那应该算是OE的bug吧



  • 在8.0中,在crm_lead中onchange_stage_id是工作的,但我们自建模块view中使用同样的statusbar widget,onchange却不工作。<br /><br />7.0有人报bug,代码修改了,但最后没合并。<br /><br />具体的讨论在这:<br />https://bugs.launchpad.net/openerp-web/+bug/1175960<br /><br /><br />未合并的代码:<br /><br />=== modified file 'addons/web/static/src/js/view_form.js'<br />--- addons/web/static/src/js/view_form.js 2013-10-10 09:11:25 +0000<br />+++ addons/web/static/src/js/view_form.js 2013-10-29 12:33:10 +0000<br />@@ -5452,17 +5452,17 @@<br />            }<br />        });<br />    },<br />+    set_value_selected: function(val) {<br />+        this.set({'value': val});<br />+    }, <br />    on_click_stage: function (ev) {<br />        var self = this;<br />        var $li = $(ev.currentTarget);<br />        var val = parseInt($li.data("id"));<br />        if (val != self.get('value')) {<br />+            this.set_value_selected(val)<br />            this.view.recursive_save().done(function() {<br />-                var change = {};<br />-                change[self.name] = val;<br />-                self.view.dataset.write(self.view.datarecord.id, change).done(function() {<br />-                    self.view.reload();<br />-                });<br />+                self.view.reload();<br />            });<br />        }<br />    },<br />


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待