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

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

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

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

Ubuntu10.04下用openerp-web客户端系统管理界面出现错误



  • 在Ubuntu10.04下用openerp-web客户端,采用admin登录后,点击系统管理菜单,出现错误如下(关闭此提示后,点击用户下的用户菜单后此错误再次出现,其它菜单暂未发现问题)<br />Python 2.6.5: /usr/bin/python<br />Mon Dec 12 21:37:50 2011<br /><br />A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred.<br /> /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cprequest.py in respond(self=<cherrypy._cprequest.Request object>, path_info='/openerp/execute')<br />  604                    if self.handler:<br />  605                        self.stage = 'handler'<br />  606                        cherrypy.response.body = self.handler()<br />  607                    <br />  608                    self.stage = 'before_finalize'<br />global cherrypy = <module 'cherrypy' from '/usr/local/lib/python2..../CherryPy-3.1.2-py2.6.egg/cherrypy/init.pyc'>, cherrypy.response = <cherrypy._ThreadLocalProxy object>, cherrypy.response.body = [], self = <cherrypy._cprequest.Request object>, self.handler = <cherrypy._cpdispatch.LateParamPageHandler object><br /> /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cpdispatch.py in call(self=<cherrypy._cpdispatch.LateParamPageHandler object>)<br />  23    def call(self):<br />  24        try:<br />  25            return self.callable(*self.args, **self.kwargs)<br />  26        except TypeError, x:<br />  27            test_callable_spec(self.callable, self.args, self.kwargs)<br />self = <cherrypy._cpdispatch.LateParamPageHandler object>, self.callable = <bound method Root.default of <openobject.controllers._root.Root object>>, self.args = ('openerp', 'execute'), self.kwargs = {'action': {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': False, 'id': 99, 'limit': 80, ...}, 'data': {'context': {'client': 'web', 'lang': u'zh_CN', 'tz': u'Asia/Shanghai'}, 'id': 3, 'ids': [3], 'model': 'ir.ui.menu', 'report_type': 'pdf'}, 'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openobject.controllers.root.Root object>, 'openerp', 'execute'), **kw={'': '1323697070152', 'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'})<br />  180                raise cherrypy.HTTPError(405)<br />  181 <br />  182            res = func(*args, **kw)<br />  183            if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params):<br />  184                cherrypy.response.headers['Content-Type'] = 'text/javascript'<br />global res = '/usr/local/lib/python2.6/dist-packages/openerp_w....6.egg/openobject/controllers/templates/base.mako', func = <function default>, args = (<openobject.controllers.root.Root object>, 'openerp', 'execute'), kw = {'': '1323697070152', 'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/controllers/_root.py in default(self=<openobject.controllers.root.Root object>, *args=('openerp', 'execute'), **kw={'': '1323697070152', 'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'})<br />  88            request.handler = cherrypy.NotFound()<br />  89 <br />  90        return request.handler()<br />  91 <br />  92    def find_handler(self):<br />request = <cherrypy._ThreadLocalProxy object>, request.handler = <cherrypy._cpdispatch.LateParamPageHandler object><br /> /usr/local/lib/python2.6/dist-packages/CherryPy-3.1.2-py2.6.egg/cherrypy/_cpdispatch.py in call(self=<cherrypy._cpdispatch.LateParamPageHandler object>)<br />  23    def call(self):<br />  24        try:<br />  25            return self.callable(*self.args, **self.kwargs)<br />  26        except TypeError, x:<br />  27            test_callable_spec(self.callable, self.args, self.kwargs)<br />self = <cherrypy._cpdispatch.LateParamPageHandler object>, self.callable = <function index>, self.args = (), self.kwargs = {'action': {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': False, 'id': 99, 'limit': 80, ...}, 'data': {'context': {'client': 'web', 'lang': u'zh_CN', 'tz': u'Asia/Shanghai'}, 'id': 3, 'ids': [3], 'model': 'ir.ui.menu', 'report_type': 'pdf'}, 'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/utils.py in wrapper(*args=(), **kw={'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'})<br />  110            # User is logged in; allow access<br />  111            clear_login_fields(kw)<br />  112            return fn(*args, **kw)<br />  113        else:<br />  114            action = kw.get('login_action', '')<br />fn = <bound method Execute.index of <openerp.controllers.execute.Execute object>>, args = (), kw = {'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.execute.Execute object>,), **kw={'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'})<br />  180                raise cherrypy.HTTPError(405)<br />  181 <br />  182            res = func(*args, **kw)<br />  183            if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params):<br />  184                cherrypy.response.headers['Content-Type'] = 'text/javascript'<br />global res = '/usr/local/lib/python2.6/dist-packages/openerp_w....6.egg/openobject/controllers/templates/base.mako', func = <function index>, args = (<openerp.controllers.execute.Execute object>,), kw = {'payload': 'eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/execute.py in index(self=<openerp.controllers.execute.Execute object>, payload='eJxdUk1PAjEQ_SvcqglBcAHRmzHx6EVvQpphO8tO0m03_RCV...4LVAWLGHYM9KEM4jyKFUent66UCZN9KoZjnPDqs3x-APE9-Ew')<br />  17            zlib.decompress(<br />  18                base64.urlsafe_b64decode(str(payload))))<br />  19        action, data = decoded_payload['action'], decoded_payload['data']<br />  20        cherrypy.request.params.update(decoded_payload)<br />  21        return actions.execute(action, **data)<br />global actions = <module 'openerp.controllers.actions' from '/usr...y2.6.egg/addons/openerp/controllers/actions.pyc'>, actions.execute = <function execute>, action = {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': False, 'id': 99, 'limit': 80, ...}, data = {'context': {'client': 'web', 'lang': u'zh_CN', 'tz': u'Asia/Shanghai'}, 'id': 3, 'ids': [3], 'model': 'ir.ui.menu', 'report_type': 'pdf'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/actions.py in execute(action={'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': False, 'id': 99, 'limit': 80, ...}, **data={'context': {'client': 'web', 'lang': u'zh_CN', 'tz': u'Asia/Shanghai'}, 'id': 3, 'ids': [3], 'limit': 20, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': u'board.board', 'search_view': None, 'view_mode': u'form', ...})<br />  392 <br />  393    action_executor = ACTIONS_BY_TYPE[action['type']]<br />  394    return action_executor(action, data)<br />  395 <br />  396 def execute_url(**data):<br />action_executor = <function act_window>, action = {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': False, 'id': 99, 'limit': 80, ...}, data = {'context': {'client': 'web', 'lang': u'zh_CN', 'tz': u'Asia/Shanghai'}, 'id': 3, 'ids': [3], 'limit': 20, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': u'board.board', 'search_view': None, 'view_mode': u'form', ...}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/actions.py in act_window(action={'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': False, 'id': 99, 'limit': 80, ...}, data={'context': {'client': 'web', 'lang': u'zh_CN', 'tz': u'Asia/Shanghai'}, 'id': 3, 'ids': [3], 'limit': 20, 'model': 'ir.ui.menu', 'report_type': 'pdf', 'res_id': None, 'res_model': u'board.board', 'search_view': None, 'view_mode': u'form', ...})<br />  273                          context_menu=data.get('context_menu'),<br />  274                          display_menu_tip=display_menu_tip,<br />  275                          action_id=action.get('id'))<br />  276 <br />  277 def server(action, data):<br />action_id undefined, action = {'auto_refresh': 0, 'auto_search': True, 'context': u'{}', 'display_menu_tip': True, 'domain': '[]', 'filter': False, 'groups_id': [], 'help': False, 'id': 99, 'limit': 80, ...}, action.get = <built-in method get of dict object><br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/actions.py in execute_window(view_ids=[199], model=u'board.board', res_id=None, domain=[], view_type=u'form', context={'_terp_view_name': u'\u7ba1\u7406\u5458\u63a7\u5236\u53f0', 'active_id': 3, 'active_ids': [3], 'active_model': 'ir.ui.menu', 'client': 'web', 'lang': u'zh_CN', 'tz': u'Asia/Shanghai'}, mode=[u'form'], name=u'\u7ba1\u7406\u5458\u63a7\u5236\u53f0', target=u'current', limit=20, search_view=None, context_menu=None, display_menu_tip=False, action_id=99)<br />  87        params.view_mode=mode<br />  88 <br />  89        return Form().create(params)<br />  90 <br />  91    elif view_type == 'tree':<br />global Form = <class 'openerp.controllers.form.Form'>, ).create = <unbound method Form.create>, params = {'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/utils.py in wrapper(*args=({'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None},), **kw={})<br />  110            # User is logged in; allow access<br />  111            clear_login_fields(kw)<br />  112            return fn(*args, **kw)<br />  113        else:<br />  114            action = kw.get('login_action', '')<br />fn = <bound method Form.create of <openerp.controllers.form.Form object>>, args = ({'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None},), kw = {}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/tools/_expose.py in func_wrapper(*args=(<openerp.controllers.form.Form object>, {'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}), **kw={})<br />  180                raise cherrypy.HTTPError(405)<br />  181 <br />  182            res = func(*args, **kw)<br />  183            if format == 'json' or (allow_json and 'allow_json' in cherrypy.request.params):<br />  184                cherrypy.response.headers['Content-Type'] = 'text/javascript'<br />global res = '/usr/local/lib/python2.6/dist-packages/openerp_w....6.egg/openobject/controllers/templates/base.mako', func = <function create>, args = (<openerp.controllers.form.Form object>, {'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}), kw = {}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/form.py in create(self=<openerp.controllers.form.Form object>, params={'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}, tg_errors=None)<br />  193        if params.view_type == 'tree':<br />  194            params.editable = True<br />  195        form = self.create_form(params, tg_errors)<br />  196 <br />  197        if not tg_errors:<br />form undefined, self = <openerp.controllers.form.Form object>, self.create_form = <bound method Form.create_form of <openerp.controllers.form.Form object>>, params = {'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}, tg_errors = None<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/controllers/form.py in create_form(self=<openerp.controllers.form.Form object>, params={'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}, tg_errors=None)<br />  184        params.view_type = params.view_type or params.view_mode[0]<br />  185 <br />  186        return tw.form_view.ViewForm(params, name="view_form", action="/openerp/form/save")<br />  187 <br />  188    @expose(template="/openerp/controllers/templates/form.mako")<br />global tw = <module 'openerp.widgets' from '/usr/local/lib/p...3-py2.6.egg/addons/openerp/widgets/init.pyc'>, tw.form_view = <module 'openerp.widgets.form_view' from '/usr/l...-py2.6.egg/addons/openerp/widgets/form_view.pyc'>, tw.form_view.ViewForm = <class 'openerp.widgets.form_view.ViewForm'>, params = {'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}, name undefined, action undefined<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/form_view.py in init(self=ViewForm, params={'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}, **kw={'action': '/openerp/form/save', 'name': 'view_form'})<br />  88            <br />  89        self.screen = Screen(prefix='', hastoolbar=True, hassubmenu=True, editable=editable, readonly=readonly,<br />  90                              selectable=params.selectable or 2)<br />  91 <br />  92        if self.screen.widget and self.screen.view_type in ['form', 'tree']:<br />selectable undefined, params = {'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}, params.selectable = None<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/screen.py in init(self=Screen, params={'_terp_action_id': 99, '_terp_view_type': u'for...}, '_terp_view_ids': [199], 'context_menu': None}, prefix='', name='', views_preloaded={}, hastoolbar=True, hassubmenu=True, editable=True, readonly=False, selectable=2, nolinks=1, **kw={})<br />  105        self.kalendar          = params.kalendar<br />  106        if self.view_mode:<br />  107            self.add_view_id(self.view_id, self.view_type)<br />  108 <br />  109    def add_view_id(self, view_id, view_type):<br />self = Screen, self.add_view_id = <bound method Screen.add_view_id of Screen>, self.view_id = 199, self.view_type = u'form'<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/screen.py in add_view_id(self=Screen, view_id=199, view_type=u'form')<br />  121            view = cache.fields_view_get(self.model, view_id or False, view_type, ctx, self.hastoolbar, self.hassubmenu)<br />  122 <br />  123        self.add_view(view, view_type)<br />  124 <br />  125    def add_view(self, view, view_type='form'):<br />self = Screen, self.add_view = <bound method Screen.add_view of Screen>, view = {'arch': u'<form string="&#31649;&#29702;&#21592;&#25511;&#... </hpaned>\n </form>\n', 'field_parent': False, 'fields': {'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, 'model': u'board.board', 'name': u'board.administration.form', 'submenu': False, 'toolbar': {'action': [], 'print': [], 'relate': []}, 'type': u'form', 'view_id': 199}, view_type = u'form'<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/screen.py in add_view(self=Screen, view={'arch': u'<form string="&#31649;&#29702;&#21592;&#25511;&#... </hpaned>\n </form>\n', 'field_parent': False, 'fields': {'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, 'model': u'board.board', 'name': u'board.administration.form', 'submenu': False, 'toolbar': {'action': [], 'print': [], 'relate': []}, 'type': u'form', 'view_id': 199}, view_type=u'form')<br />  129        <br />  130        from _views import get_view_widget<br />  131        self.widget = get_view_widget(view_type, self)<br />  132 <br />  133        self.string = (self.widget or '') and self.widget.string<br />self = Screen, self.widget = None, get_view_widget = <function get_view_widget>, view_type = u'form'<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/_views.py in get_view_widget(kind=u'form', screen=Screen)<br />  138        raise Exception("view '%s' not supported." % kind)<br />  139 <br />  140    return view(screen)<br />  141 <br />  142 def get_registered_views():<br />view = <openerp.widgets._views.FormView object>, screen = Screen<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/_views.py in call(self=<openerp.widgets._views.FormView object>, screen=Screen)<br />  64                            editable=screen.editable,<br />  65                            readonly=screen.readonly,<br />  66                            nodefault=screen.nodefault, nolinks=screen.link)<br />  67 <br /> 



  • 68        if not screen.is_wizard and screen.ids is None:<br />nodefault undefined, screen = Screen, screen.nodefault = False, nolinks undefined, screen.link = 1<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/form/_form.py in init(self=Form, prefix='', model=u'board.board', view={'arch': u'<form string="&#31649;&#29702;&#21592;&#25511;&#... </hpaned>\n </form>\n', 'field_parent': False, 'fields': {'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, 'model': u'board.board', 'name': u'board.administration.form', 'submenu': False, 'toolbar': {'action': [], 'print': [], 'relate': []}, 'type': u'form', 'view_id': 199}, ids=[], domain=[], context={'_terp_view_name': u'\u7ba1\u7406\u5458\u63a7\u5236\u53f0', 'active_id': 3, 'active_ids': [3], 'active_model': 'ir.ui.menu', 'client': 'web', 'lang': u'zh_CN', 'tz': u'Asia/Shanghai'}, editable=True, readonly=False, nodefault=False, nolinks=1)<br />  808        self.view_fields = []<br />  809        self.nb_couter = 0<br />  810        self.frame = self.parse(prefix, dom, fields, values)[0]<br />  811        self.values = [values]<br />  812        self.concurrency_info = ConcurrencyInfo(self.model, [self.id])<br />self = Form, self.frame = None, self.parse = <bound method Form.parse of Form>, prefix = '', dom = <xml.dom.minidom.Document instance>, fields = {'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, values = {'name': u'Dashboard'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/form/_form.py in parse(self=Form, prefix='', root=<xml.dom.minidom.Document instance>, fields={'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, values={'name': u'Dashboard'})<br />  868 <br />  869            elif node.localName == 'form':<br />  870                n = self.parse(prefix=prefix, root=node, fields=fields, values=values)<br />  871                views.append(Frame(children=n, **attrs))<br />  872 <br />n undefined, self = Form, self.parse = <bound method Form.parse of Form>, prefix = '', root = <xml.dom.minidom.Document instance>, node = <DOM Element: form>, fields = {'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, values = {'name': u'Dashboard'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/form/_form.py in parse(self=Form, prefix='', root=<DOM Element: form>, fields={'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, values={'name': u'Dashboard'})<br />  915 <br />  916            elif node.localName=='hpaned':<br />  917                n = self.parse(prefix=prefix, root=node, fields=fields, values=values)<br />  918                views.append(HPaned(children=n, **attrs))<br />  919 <br />n = [], self = Form, self.parse = <bound method Form.parse of Form>, prefix = '', root = <DOM Element: form>, node = <DOM Element: hpaned>, fields = {'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, values = {'name': u'Dashboard'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/form/_form.py in parse(self=Form, prefix='', root=<DOM Element: hpaned>, fields={'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, values={'name': u'Dashboard'})<br />  923 <br />  924            elif node.localName in ('child1', 'child2'):<br />  925                n = self.parse(prefix=prefix, root=node, fields=fields, values=values)<br />  926                attrs['name'] = get_node_xpath(node)<br />  927                views.append(Dashbar(children=n, **attrs))<br />n = [], self = Form, self.parse = <bound method Form.parse of Form>, prefix = '', root = <DOM Element: hpaned>, node = <DOM Element: child1>, fields = {'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, values = {'name': u'Dashboard'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/form/_form.py in parse(self=Form, prefix='', root=<DOM Element: child1>, fields={'line_ids': {'context': {}, 'domain': [], 'relation': u'board.board.line', 'selectable': True, 'string': u'\u52a8\u4f5c\u89c6\u56fe', 'type': u'one2many'}, 'name': {'required': True, 'selectable': True, 'size': 64, 'string': u'\u63a7\u5236\u53f0', 'type': u'char'}, 'view_id': {'context': {}, 'domain': [], 'relation': u'ir.ui.view', 'selectable': True, 'string': u'\u63a7\u5236\u53f0\u89c6\u56fe', 'type': u'many2one'}}, values={'name': u'Dashboard'})<br />  928 <br />  929            elif node.localName=='action':<br />  930                wid = get_widget('action')(**attrs)<br />  931                views.append(wid)<br />  932                cherrypy.request._terp_dashboard = True<br />wid undefined, global get_widget = <function get_widget>, attrs = {'name': u'95', 'prefix': '', 'state': None, 'string': u'\u7528\u6237\u8fde\u63a5\u5217\u8868', 'width': u'510'}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/form/_action.py in init(self=Action, **attrs={'name': u'95', 'prefix': '', 'state': None, 'string': u'\u7528\u6237\u8fde\u63a5\u5217\u8868', 'width': u'510'})<br />  96                    )<br />  97 <br />  98                self.screen = screen.Screen(params, prefix=self.name, editable=True, selectable=3)<br />  99 <br />  100            elif self.action['view_type']=='tree':<br />self = Action, self.screen = None, global screen = <module 'openerp.widgets.screen' from '/usr/loca...0.3-py2.6.egg/addons/openerp/widgets/screen.pyc'>, screen.Screen = <class 'openerp.widgets.screen.Screen'>, params = {'_terp_offset': 0, '_terp_model': u'res.users',...erp_context': {}, '_terp_view_ids': [194, False]}, prefix undefined, self.name = u'95', editable undefined, builtin True = True, selectable undefined<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/screen.py in init(self=Screen, params={'_terp_offset': 0, '_terp_model': u'res.users',...erp_context': {}, '_terp_view_ids': [194, False]}, prefix=u'95', name='', views_preloaded={}, hastoolbar=False, hassubmenu=False, editable=True, readonly=False, selectable=3, nolinks=1, **kw={})<br />  105        self.kalendar          = params.kalendar<br />  106        if self.view_mode:<br />  107            self.add_view_id(self.view_id, self.view_type)<br />  108 <br />  109    def add_view_id(self, view_id, view_type):<br />self = Screen, self.add_view_id = <bound method Screen.add_view_id of Screen>, self.view_id = 194, self.view_type = u'tree'<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/screen.py in add_view_id(self=Screen, view_id=194, view_type=u'tree')<br />  121            view = cache.fields_view_get(self.model, view_id or False, view_type, ctx, self.hastoolbar, self.hassubmenu)<br />  122 <br />  123        self.add_view(view, view_type)<br />  124 <br />  125    def add_view(self, view, view_type='form'):<br />self = Screen, self.add_view = <bound method Screen.add_view of Screen>, view = {'arch': u'<tree string="\u6700\u540e\u4e00\u6b21\u8fde\u63a5">\n <fiel... <field name="date"/>\n </tree>', 'field_parent': False, 'fields': {'date': {'name': u'date', 'readonly': True, 'selectable': True, 'string': u'\u6700\u8fd1\u8fde\u63a5', 'type': u'datetime', 'views': {}}, 'name': {'help': u'\u65b0\u7528\u6237\u7684\u771f\u540d\uff0c\u7528\u4e8e\u641c\u7d22\u548c\u5927\u591a\u6570\u5217\u8868\u4e2d\u7684\u663e\u793a', 'name': u'name', 'required': True, 'select': True, 'selectable': True, 'size': 64, 'string': u'\u7528\u6237\u59d3\u540d', 'type': u'char', 'views': {}}}, 'model': u'res.users', 'name': u'user.connection.tree', 'type': u'tree', 'view_id': 194}, view_type = u'tree'<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/screen.py in add_view(self=Screen, view={'arch': u'<tree string="\u6700\u540e\u4e00\u6b21\u8fde\u63a5">\n <fiel... <field name="date"/>\n </tree>', 'field_parent': False, 'fields': {'date': {'name': u'date', 'readonly': True, 'selectable': True, 'string': u'\u6700\u8fd1\u8fde\u63a5', 'type': u'datetime', 'views': {}}, 'name': {'help': u'\u65b0\u7528\u6237\u7684\u771f\u540d\uff0c\u7528\u4e8e\u641c\u7d22\u548c\u5927\u591a\u6570\u5217\u8868\u4e2d\u7684\u663e\u793a', 'name': u'name', 'required': True, 'select': True, 'selectable': True, 'size': 64, 'string': u'\u7528\u6237\u59d3\u540d', 'type': u'char', 'views': {}}}, 'model': u'res.users', 'name': u'user.connection.tree', 'type': u'tree', 'view_id': 194}, view_type=u'tree')<br />  129        <br />  130        from _views import get_view_widget<br />  131        self.widget = get_view_widget(view_type, self)<br />  132 <br />  133        self.string = (self.widget or '') and self.widget.string<br />self = Screen, self.widget = None, get_view_widget = <function get_view_widget>, view_type = u'tree'<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/_views.py in get_view_widget(kind=u'tree', screen=Screen)<br />  138        raise Exception("view '%s' not supported." % kind)<br />  139 <br />  140    return view(screen)<br />  141 <br />  142 def get_registered_views():<br />view = <openerp.widgets._views.ListView object>, screen = Screen<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/_views.py in call(self=<openerp.widgets._views.ListView object>, screen=Screen)<br />  119                                    count=screen.count, nolinks=screen.link,<br />  120                                    m2m=screen.m2m, o2m=screen.o2m,<br />  121                                    default_data=screen.default_value)<br />  122 <br />  123        screen.ids = widget.ids<br />default_data undefined, screen = Screen, screen.default_value = []<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/listgrid.py in init(self=List, name=u'95/', model=u'res.users', view={'arch': u'<tree string="\u6700\u540e\u4e00\u6b21\u8fde\u63a5">\n <fiel... <field name="date"/>\n </tree>', 'field_parent': False, 'fields': {'date': {'name': u'date', 'readonly': True, 'selectable': True, 'string': u'\u6700\u8fd1\u8fde\u63a5', 'type': u'datetime', 'views': {}}, 'name': {'help': u'\u65b0\u7528\u6237\u7684\u771f\u540d\uff0c\u7528\u4e8e\u641c\u7d22\u548c\u5927\u591a\u6570\u5217\u8868\u4e2d\u7684\u663e\u793a', 'name': u'name', 'required': True, 'select': True, 'selectable': True, 'size': 64, 'string': u'\u7528\u6237\u59d3\u540d', 'type': u'char', 'views': {}}}, 'model': u'res.users', 'name': u'user.connection.tree', 'type': u'tree', 'view_id': 194}, ids=[1], domain=[], context={}, **kw={'count': None, 'default_data': [], 'editable': True, 'limit': 20, 'm2m': 0, 'nolinks': 1, 'o2m': 0, 'offset': 0, 'selectable': 3, 'view_mode': [u'tree', u'form']})<br />  201 <br />  202        self.values = copy.deepcopy(data)<br />  203        self.headers, self.hiddens, self.data, self.field_total, self.buttons = self.parse(root, fields, data)<br />  204 <br />  205        for k, v in self.field_total.items():<br />self = List, self.headers = None, self.hiddens = [], self.data = None, self.field_total = {}, self.buttons = [], self.parse = <bound method List.parse of List>, root = <DOM Element: tree>, fields = {'date': {'name': u'date', 'readonly': True, 'selectable': True, 'string': u'\u6700\u8fd1\u8fde\u63a5', 'type': u'datetime', 'views': {}}, 'name': {'help': u'\u65b0\u7528\u6237\u7684\u771f\u540d\uff0c\u7528\u4e8e\u641c\u7d22\u548c\u5927\u591a\u6570\u5217\u8868\u4e2d\u7684\u663e\u793a', 'name': u'name', 'required': True, 'select': True, 'selectable': True, 'size': 64, 'string': u'\u7528\u6237\u59d3\u540d', 'type': u'char', 'views': {}}}, data = [{'date': u'2011-12-12 21:31:54.651366', 'id': 1, 'name': Char}]<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/listgrid.py in parse(self=List, root=<DOM Element: tree>, fields={'date': {'name': u'date', 'readonly': True, 'selectable': True, 'string': u'\u6700\u8fd1\u8fde\u63a5', 'type': u'datetime', 'views': {}}, 'name': {'help': u'\u65b0\u7528\u6237\u7684\u771f\u540d\uff0c\u7528\u4e8e\u641c\u7d22\u548c\u5927\u591a\u6570\u5217\u8868\u4e2d\u7684\u663e\u793a', 'name': u'name', 'required': True, 'select': True, 'selectable': True, 'size': 64, 'string': u'\u7528\u6237\u59d3\u540d', 'type': u'char', 'views': {}}}, data=[{'date': u'2011-12-12 21:31:54.651366', 'id': 1, 'name': Char}])<br />  410                            cell.set_value(row_value.get(name, False))<br />  411                        else:<br />  412                            cell = CELLTYPES[kind](value=row_value.get(name, False), **fields[name])<br />  413 <br />  414                        for color, expr in self.colors.items():<br />cell = Char, global CELLTYPES = {'boolean': <class 'openerp.widgets.listgrid.Boolean'>, 'char': <class 'openerp.widgets.listgrid.Char'>, 'date': <class 'openerp.widgets.listgrid.DateTime'>, 'datetime': <class 'openerp.widgets.listgrid.DateTime'>, 'float': <class 'openerp.widgets.listgrid.Float'>, 'float_time': <class 'openerp.widgets.listgrid.FloatTime'>, 'integer': <class 'openerp.widgets.listgrid.Int'>, 'many2many': <class 'openerp.widgets.listgrid.M2M'>, 'many2one': <class 'openerp.widgets.listgrid.M2O'>, 'one2many': <class 'openerp.widgets.listgrid.O2M'>, ...}, kind = u'datetime', value undefined, row_value = {'date': u'2011-12-12 21:31:54.651366', 'id': 1, 'name': u'Administrator'}, row_value.get = <built-in method get of dict object>, name = u'date', builtin False = False, fields = {'date': {'name': u'date', 'readonly': True, 'selectable': True, 'string': u'\u6700\u8fd1\u8fde\u63a5', 'type': u'datetime', 'views': {}}, 'name': {'help': u'\u65b0\u7528\u6237\u7684\u771f\u540d\uff0c\u7528\u4e8e\u641c\u7d22\u548c\u5927\u591a\u6570\u5217\u8868\u4e2d\u7684\u663e\u793a', 'name': u'name', 'required': True, 'select': True, 'selectable': True, 'size': 64, 'string': u'\u7528\u6237\u59d3\u540d', 'type': u'char', 'views': {}}}<br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/listgrid.py in init(self=DateTime, **attrs={'name': u'date', 'readonly': True, 'selectable': True, 'string': u'\u6700\u8fd1\u8fde\u63a5', 'type': u'datetime', 'value': u'2011-12-12 21:31:54.651366', 'views': {}})<br />  441        self.attrs = attrs.copy()<br />  442 <br />  443        self.text = self.get_text()<br />  444        self.link = self.get_link()<br />  445 <br />self = DateTime, self.text = None, self.get_text = <bound method DateTime.get_text of DateTime><br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/addons/openerp/widgets/listgrid.py in get_text(self=DateTime)<br />  575 <br />  576    def get_text(self):<br />  577        return format.format_datetime(self.value, kind=self.attrs.get('type', 'datetime'))<br />  578 <br />  579    def get_sortable_text(self):<br />global format = <module 'openobject.i18n.format' from '/usr/loca..._web-6.0.3-py2.6.egg/openobject/i18n/format.pyc'>, format.format_datetime = <function format_datetime>, self = DateTime, self.value = u'2011-12-12 21:31:54.651366', kind undefined, self.attrs = {'name': u'date', 'readonly': True, 'selectable': True, 'string': u'\u6700\u8fd1\u8fde\u63a5', 'type': u'datetime', 'value': u'2011-12-12 21:31:54.651366', 'views': {}}, self.attrs.get = <built-in method get of dict object><br /> /usr/local/lib/python2.6/dist-packages/openerp_web-6.0.3-py2.6.egg/openobject/i18n/format.py in format_datetime(value=time.struct_time(tm_year=2011, tm_mon=12, tm_mda...1, tm_sec=54, tm_wday=0, tm_yday=346, tm_isdst=0), kind=u'datetime', as_timetuple=False)<br />  158        return value<br />  159 <br />  160    return time.strftime(local_format, value)<br />  161 <br />  162 def parse_datetime(value, kind="datetime", as_timetuple=False):<br />global time = <module 'time' (built-in)>, time.strftime = <built-in function strftime>, local_format = u'%Y\u5e74%m\u6708%d\u65e5 %H\u65f6%M\u5206%S\u79d2', value = time.struct_time(tm_year=2011, tm_mon=12, tm_mda...1, tm_sec=54, tm_wday=0, tm_yday=346, tm_isdst=0)<br /><br /><type 'exceptions.UnicodeEncodeError'>: 'ascii' codec can't encode character u'\u5e74' in position 2: ordinal not in range(128)<br />      args = ('ascii', u'%Y\u5e74%m\u6708%d\u65e5 %H\u65f6%M\u5206%S\u79d2', 2, 3, 'ordinal not in range(128)')<br />      encoding = 'ascii'<br />      end = 3<br />      message = ''<br />      object = u'%Y\u5e74%m\u6708%d\u65e5 %H\u65f6%M\u5206%S\u79d2'<br />      reason = 'ordinal not in range(128)'<br />      start = 2



  • 是日期和时间格式中包含中文造成的。<br />解决办法:admin登陆系统,点击右上角的齿轮图标进入个人设置内容,选择扩展界面即可,然后操作:系统管理–>翻译 –>语言,然后编辑“Chinese (CN) / 简体中文”,把日期格式“%Y年%m月%d日”改为“%Y-%m-%d”,时间格式“%H时%M分%S秒”改为“%H:%M:%S”,最后保存并退出 OpenERP,然后再登陆就OK了。<br />其他OpentERP6.0.3的Bug<br />1、一些通用翻译项为英文。<br />2、目录权限问题造成刚登录就出错。<br />解决办法,大家可参照:<br / http://blog.sina.com.cn/s/blog_7cb52fa80100x2wt.html br /><br />在Windows下时区问题造成不能登录<br />在windwos下运行OpenERP 6.0.3,在用户管理中,修改用户所属时区导致登陆后,面板空白或提示英文出错信息。<br />这是因为 misc.py 中检测到服务器的时区 是 '中国标准时间' 这个是在 pytz 中没有定义的.<br /> 强制将服务器注册表中的 '中国标准时间'改为 'Asia/Shanghai'就OK了。 <br />