为何通过position="attributes"来定位修改字符串为中文时报错
- 
有时为了绕过翻译,直接通过模块中的string来固定术语,例如 
 <field name="price_subtotal" string="小计"/>
 这样写入中文没问题
 而通过position="attributes"来定位修改字符串为中文时则报错
 <xpath expr="//field[@name='price_subtotal']" position="attributes">
 <attribute name="string">小计</attribute>
 </xpath>验证字段 arch 时发生错误:Invalid XML for View Architecture!<br />Traceback (most recent call last):<br />  File "/opt/oe7/openerp/netsvc.py", line 292, in dispatch_rpc<br />    result = ExportService.getService(service_name).dispatch(method, params)<br />  File "/opt/oe7/openerp/service/web_services.py", line 626, in dispatch<br />    res = fn(db, uid, *params)<br />  File "/opt/oe7/openerp/osv/osv.py", line 188, in execute_kw<br />    return self.execute(db, uid, obj, method, *args, **kw or {})<br />  File "/opt/oe7/openerp/osv/osv.py", line 144, in wrapper<br />    raise except_osv(inst.name, inst.value)<br />except_osv: ('ValidateError', u'\u9a8c\u8bc1\u5b57\u6bb5 arch \u65f6\u53d1\u751f\u9519\u8bef\uff1aInvalid XML for View Architecture!')<br /><br />
- 
[quote author=youring link=topic=14561.msg25164#msg25164 date=1384008672] 
 用replace我担心的是:
 A 原视图
 B 视图继承了A中的a字段
 C 视图replace了A中的a字段(用同名a字段替换,仅增加了string) ----------1
 C 视图replace了A中的a字段(不再声明字段,即删除) ---------------------2
 1 和 2 两种情况会不会对B造成影响?
 也就是说 replace对其它相关视图破坏性如何?
 [/quote]
 用replace可以这样做:<br /><field name="price" position="replace><br />  <field name="price" invisible="1"/><br />  <field name="new_price"/><br /></field><br />
 如果字段重名,如你的情况,直接replace即可。
 你说的第二种情况会对B造成影响,所以一般replace的字段,都会再写一次,并设置invisible=1

 没有影响
 没有影响