真是令人钦佩的神人大侠啊!
roc
-
OSCG淘宝OpenERP7.0免费开源发布 -
新手常见开发问题总结分享(更新中)另外,假如我想在自己的测试模块中参考销售订单的视图,可以按下面这样基于系统视图进行继承和修改:
<record id="[color=orange]view_order_form1[/color]" model="ir.ui.view">
<field name="name">sale.order.form1</field>
<field name="model">sale.order</field>
<field name="type">form</field>
<field name="inherit_id" ref="[color=orange]sale.view_order_form[/color]"/>
<field name="arch" type="xml">
<data>
<button name="order_confirm" position="after">
<button name="order_test" string="测试" icon="gtk-apply"/>
</button>
</data>
</field>
</record>
但结果发现系统原来的销售订单界面也被修改了,而我期望的效果是我继承添加的这个视图只需要给我自己模块用就可以了。 -
新手常见开发问题总结分享(更新中)谢谢总监的详尽解答。
我们常用的有tree和form两种视图,tree即是列表视图,form会包含可编辑的表单视图和只读的页面视图,这三种视图可通过页面右上角的工具栏进行切换。
我自己反复测试了,如果只设置为tree,则只会显示列表视图,工具栏不会显示。如果只设置为form,则仍然可显示表单视图和页面视图,可通过工具栏进行切换。
请问我的操作是不是有什么遗漏的地方吗? -
新手常见开发问题总结分享(更新中)context是保存上下文环境信息的,你这行代码的意思应该是保存订单明细关联的价格表到context中。
-
新手常见开发问题总结分享(更新中)最近开始学习OE,期间碰到不少问题和困难,经过高人指点或者自己研究已经解决,随着对产品的了解越来越深入,感觉OE确实是一个很好的开源ERP产品。
现将学习中遇到的一些问题(仅针对OE6.1),不管已经解决的还是没解决的,总结归纳如下:
一、上传附件后,中文文件名下载报错的问题
[b][color=green]解决办法[/color][/b]:在addons/web/controllers/main.py的Binary类的saveas和saveas_ajax方法中添加代码(返回response前):
if isinstance(filename, unicode): filename=filename.encode('utf8')
二、自定义模块中act_window中引用外部模块model报错的问题
[b][color=green]解决办法[/color][/b]:openerp__.py中要加入依赖的模块名称
三、如何改写系统原有对象关联的列表视图和表单视图?
比如添加我们自己的新模块,针对销售订单分别创建1个新的列表视图listview2和1个新的表单视图formview2。
现在针对销售订单至少有4个视图可以显示(系统销售模块原来定义了2个视图formview1,listview1),为了不影响原有视图显示,我们自己定义的两个视图的优先级设得比较低。
现在的基础上,自由地选择我们自己定义的2个视图呢?比如我们自己定义的act_window2要能显示自己定义的listview2和formview2,通过view_id属性可以优选一个listview2,但从列表视图跳到表单视图时就会回到之前的formview1,该如何指定formview2?
[b][color=green]解决办法[/color][/b]:同时添加ir.actions.act_window.view的定义,在ir.actions.act_window.view中指定view_id为listview2,而在加ir.actions.act_window中指定view_id为formview2。
四、表单视图(可编辑)和页面视图(只读)总是成对出现,如何控制只出现一个表单视图或一个页面视图呢?
补充说明:
我们常用的有tree和form两种视图,tree即是列表视图,form会包含可编辑的表单视图和只读的页面视图,这三种视图可通过页面右上角的工具栏进行切换。
我自己反复测试了,如果只设置为tree,则只会显示列表视图,工具栏不会显示。如果只设置为form,则仍然可显示表单视图和页面视图,可通过工具栏进行切换。
[b][color=red]该问题未解决[/color][/b]。
五、在ir.ui.view类型对象中使用inherit_id元素对视图进行继承时,发现没有生成新的视图,而只是修改了原来的系统视图。有时候系统视图内容多且复杂,在不想重新定义视图的前提下,有什么办法继承一个新的视图但不改变原来的系统视图吗?
补充说明:
假如我想在自己的测试模块中参考销售订单的视图,可以按下面这样基于系统视图进行继承和修改:
<record id="view_order_form1" model="ir.ui.view">
<field name="name">sale.order.form1</field>
<field name="model">sale.order</field>
<field name="type">form</field>
<field name="inherit_id" ref="sale.view_order_form"/>
<field name="arch" type="xml">
<data>
<button name="order_confirm" position="after">
<button name="order_test" string="测试" icon="gtk-apply"/>
</button>
</data>
</field>
</record>
但结果发现系统原来的销售订单界面也被修改了,而我期望的效果是我继承添加的这个视图只需要给我自己模块用就可以了。
[b][color=red]该问题未解决[/color][/b]。
六、发现界面上某些信息仍是中文,虽然po文件已经给出了中文翻译,但这些翻译始终不生效。
[b][color=green]解决办法[/color][/b]:经检查发现有两种原因。第一种情况是action的help信息未翻译,原因是自己模块中定义了相同name的action,修改name即可;第二种情况是代码中的字符串常量未翻译,原因是_()处理函数中的lang变量取不到正确的语言,具体原因没有细查,考虑到不需要显示其它语言,我加了一句if not lang: lang = u'zh_CN'即可。