*已解决*【求助】ODOO8 的非编程自定义用法
-
事情是这样的开始的,我准备在ODOO里面实现一个简单的车间隐患发觉及排查的列表(目前是用Excel在管理,不方便),本来是想自己写模块的,但是一方面是自己的水平不足,再来是因为其实Blog里面已经几乎可以满足我的要求了,只是还缺了一些栏位,我研读了老肖的大作“OpenERP应用和开发基础”第6章,发现到应该可以透过自定义的方式来达成,首先我是按照老肖的范例写一个请假单,但是不知道是不是因为版本的问题,死活都不成功(存档的死活会出现看不懂的Python第XX行错误……),后来我想我的需求很简单,我就自己写一个,但是也是死活不能成功,在建view的时候就不成功了,请前辈们帮忙看看到底是哪里出了问题
没人回答,这个论坛好像有点冷清,只好自己乱试。结果是……
太坑爹了,原来是建立了字段之后,必须重启服务器(或是登出,我是重启)这样view就看得到我们建立的字段了
不过老肖的例子我还没有成功,目前还卡在建立菜单里面,建立菜单老是不成功,范例跟8.0差别太大了,没有专家指导,我只能继续乱试试 -
浏览论坛,发现到有一个人曾经提过这个问题,感觉好像有点像<br / [检测到链接无效,已移除] br />
不过没有人回答 -
[quote author=kenny_huang link=topic=16999.msg29984#msg29984 date=1422690332]
事情是这样的开始的,我准备在ODOO里面实现一个简单的车间隐患发觉及排查的列表(目前是用Excel在管理,不方便),本来是想自己写模块的,但是一方面是自己的水平不足,再来是因为其实Blog里面已经几乎可以满足我的要求了,只是还缺了一些栏位,我研读了老肖的大作“OpenERP应用和开发基础”第6章,发现到应该可以透过自定义的方式来达成,首先我是按照老肖的范例写一个请假单,但是不知道是不是因为版本的问题,死活都不成功(存档的死活会出现看不懂的Python第XX行错误……),后来我想我的需求很简单,我就自己写一个,但是也是死活不能成功,在建view的时候就不成功了,请前辈们帮忙看看到底是哪里出了问题
[/quote]
我不厌其烦的重新按照老肖的例子(第6章请简单的例子),错误是一模一样的,如下:
ValidateError
Field(s)arch
failed against a constraint: Invalid view definition
Error details:
Fieldx_kaisrq
does not exist
Error context:
View请假单
[view_id: 821, xml_id: n/a, model: x_qingjd, parent_id: n/a]
可是这代表不是我使用有什么问题,而是老肖的例子(应该是针对7.0版的)完全不适用于8.0。我发现到新建的view总是找不到先前所建立的字段,在view里面的XML去掉自己的建的字段就可以存档了(但是去掉自己建的字段还显示个啥?)不管是在老肖的例子跟我自己建的都一样。
没有要高手能够协助到底要怎样才能成功建立老肖的例子呢? -
解决了吗?
我自己试了一下没有任何问题。你可以到 http://demo.openerp.cn/web/login?db=demo
用户名/密码: admin/admin
在生产-生产管理菜单下,我创建了一个“生产安全”菜单项,内容按你的贴图设置。 -
感谢啊!您正式大好人,我进去看了
[color=red]我在您的测试服务器上按照老肖的范例建立了请假申请,怎么看起来都是和您建立的范例一样,但是请假单就是点击无效,怎么回事啊![/color]
[color=red]在我自己的服务器中,[/color]我自己按照范例,在view是成功了,但是到了建立菜单。过程也没有问题,但是发现点击无效(跟在您的测试环境中一样)。我想进去看看action有什么不对,结果一点击“技术\动作\动作”结果出现了如下的错误(在您的测试服务器没有这个问题):
[quote]Odoo Server Error
Traceback (most recent call last):
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\http.py", line 530, in _handle_exception
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\http.py", line 567, in dispatch
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\http.py", line 303, in _call_function
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\service\model.py", line 113, in wrapper
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\http.py", line 300, in checked_call
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\http.py", line 796, in call
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\http.py", line 396, in response_wrap
File "C:\Program Files (x86)\Odoo 8.0-20150130\server\openerp\addons\web\controllers\main.py", line 949, in call_kw
File "C:\Program Files (x86)\Odoo 8.0-20150130\server\openerp\addons\web\controllers\main.py", line 941, in _call_kw
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\api.py", line 241, in wrapper
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\models.py", line 1540, in fields_view_get
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\api.py", line 241, in wrapper
File "C:\Program Files (x86)\Odoo 8.0-20150130\server\openerp\addons\base\ir\ir_ui_view.py", line 843, in postprocess_and_fields
File "C:\Program Files (x86)\Odoo 8.0-20150130\server.\openerp\api.py", line 241, in wrapper
File "C:\Program Files (x86)\Odoo 8.0-20150130\server\openerp\addons\base\ir\ir_ui_view.py", line 367, in raise_view_error
AttributeError: Fieldx_kaisrq
does not exist
Error context:
View\u8bf7\u5047\u5355
[view_id: 821, xml_id: n/a, model: x_qingjd, parent_id: n/a][/quote]
怎么老是有这种不存在的问题,之前建立view的时候也是不存在字段的错误,后来我是重启服务器解决的,不过这次连重启服务器也没有用了。有没有大侠知道怎么回事啊? -
[quote author=digitalsatori link=topic=16999.msg30012#msg30012 date=1422867391]
解决了吗?
我自己试了一下没有任何问题。你可以到 [检测到链接无效,已移除]
用户名/密码: admin/admin
在生产-生产管理菜单下,我创建了一个“生产安全”菜单项,内容按你的贴图设置。
[/quote]
大侠啊!我真的是无能为力了,我按照老肖的例子建立在你的demo服务器里面,都建好了,但是菜单“请假申请”能点击,可是菜单“请假申请/请假单”点击无反应(鼠标移动过去不会变色无法点击,感觉像是一个label而不是一个icon),我看了action、菜单、模型都没有什么问题啊!后来发现老肖的例子view的xml写法跟你的稍微有点不一样,我也改成跟你一模一样的了,但还是不行,这到底怎么回事啊! :-[ -
已经解决问题了,我已经建立好了菜单。只是道理我还是不太明白
我原来的菜单阶层是 “ 请假申请\请假单”(这个请假单无效点击无效),但是我发现很奇怪的是虽然我只有设定2个菜单自定义但是我的菜单自定义里面却有3个菜单设置,亦即:
[quote]1-请假申请
2-请假申请\请假单
3-请假申请\请假单\请假申请[/quote]
其中2跟3的 序列都是10,(预设值就是10),我把2的序列改成20,就解决问题了,虽然问题是解决了,但是还是不明白,求大侠解释
另外,我自己的服务器(windows 版 odoo 8.0)出现那个AttributeError: Fieldx_kaisrq
does not exist错误信息的情况还是一样,自己无解,难道是因为windows版比较不稳定? -
这个跟序列没有关系。OE中的二级菜单是无法点击的。你将菜单设置到三级就可以了。
其实每个菜单都需要对应一个action, 界面操作时从Model创建对应菜单,系统自动为该菜单创建了action -
感谢了,我发现到我自己的服务器跟你测试服务器不同的地方了,不知道这是不是问题的所在(但我不知道为什么),参考附件用框框框起来的地方,这个在你的服务器是没有的,但是在我的服务器有,而且我还不能选空白,只能选“Base view”或是“Extension View”
另外还附带一个问题,自从加上了web功能以后,不知道哪里可以去操作数据库(我想把目前用的数据库删掉),以前没有web功能的时候,在登入之前有个按钮可以选择数据库操作,但是现在点选以后都自动到网页去,然后找不到数据库操作这个按钮了 -
谢啦!