跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • 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. Openerp的gtk客户端万能查询功能中文bug

Openerp的gtk客户端万能查询功能中文bug

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
2 帖子 1 发布者 4.8k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • P 离线
    P 离线
    pen2g
    写于 最后由 编辑
    #1

    也不知道是不是BUG,也许是配置不对,请高手拍砖,我反正用下面方法解决问题了,以下是我的方法:
      GTK客户端与WEB客户端在增加过滤条件后,点击查询获得的结果不一致,根据后台数据库日志,可知GTK自定义的条件未提交.WEB客户端获得了正确的结果GTK却查询不出来,后台数据库日志捕获语句也不一样,相关图片见附件

    <br />根据不同的协议(net-rpc使用的是unicode,xml-rpc使用的是utf-8编码)OPENERP客户端储存了不同编码的值,而gtk客户端界面组件glade固定返回的编码为utf-8,在点击查找后,进行匹配时,无法找到对应的值,修改代码,将内存中全部转换为unicode,glade返回值也转换为unicode,修改如下(openerp-client-6.0.3/bin/widget_search/custom_filter.py):<br />fields = attrs.get(&#039;fields&#039;,None)<br />for item in fields:<br />#add by py 将索引字段强制换成unicode<br />self.field_selection[unicode(item[1])] = (item[0], item[2], item[3])<br />#以下为原来的代码<br />#self.field_selection[item[1]] = (item[0], item[2], item[3])<br />#end by py<br />self.combo_fields.append_text(item[1])<br /><br />self.combo_fields.set_active(0)<br /><br />for item in (&#91;&#039;ilike&#039;, _(&#039;contains&#039;)],<br />&#91;&#039;not ilike&#039;, _(&#039;doesn\&#039;t contain&#039;)],<br />&#91;&#039;=&#039;, _(&#039;is equal to&#039;)],<br />&#91;&#039;&lt;&gt;&#039;,_(&#039;is not equal to&#039;)],<br />&#91;&#039;&gt;&#039;,_(&#039;greater than&#039;)],<br />&#91;&#039;&lt;&#039;,_(&#039;less than&#039;)],<br />&#91;&#039;in&#039;,_(&#039;in&#039;)],<br />&#91;&#039;not in&#039;,_(&#039;not in&#039;)],<br />):<br />#add by py 将索引字段强制换成unicode<br />self.op_selection[unicode(item[1])] = item[0]<br />#以下为原来的代码<br />#self.op_selection[item[1]] = item[0]<br />#end by py<br />self.combo_op.append_text(item[1])<br /><br />self.combo_op.set_active(0)<br />false_value_domain = &#91;]<br />type_cast = {&#039;integer&#039;:lambda x:int(x),<br />&#039;float&#039;:lambda x:float(x),<br />&#039;boolean&#039;:lambda x:bool(eval(x)),<br />&#039;date&#039;:lambda x:(datetime.strptime(x, DT_FORMAT)).strftime(DT_FORMAT),<br />&#039;datetime&#039;:lambda x:(datetime.strptime(x, DHM_FORMAT)).strftime(DHM_FORMAT)<br />}<br />#add by py<br />field_left = self.field_selection[unicode(self.combo_fields.get_active_text())][0]<br />field_type = self.field_selection[unicode(self.combo_fields.get_active_text())][1]<br />operator = self.op_selection[unicode(self.combo_op.get_active_text())]<br />#以下为原来的代码<br />#field_left = self.field_selection[self.combo_fields.get_active_text()][0]<br />#field_type = self.field_selection[self.combo_fields.get_active_text()][1]<br />#operator = self.op_selection[self.combo_op.get_active_text()]<br />#end by py<br />right_text = self.right_text.get_text() or False <br />
    
    1 条回复 最后回复
    0

    • 登录

    • 没有帐号? 注册

    • 登录或注册以进行搜索。
    • 第一个帖子
      最后一个帖子
    0
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组