Как избежать отображения полей в настраиваемой форме в OpenERP7?
Я использую OpenERP7, и я создал поле в форме. Это поле следующее:
'history': fields.function(_get_history, type='many2many',
obj="res.partner.link.category",
method=True, string='Categories'),
Затем я показываю это в форме. Поскольку это поле много2, оно отображается в виде дерева, которое я укажу ниже.
<group string="Activity Summary">
<field name="history" nolabel="1" attrs="{'readonly': 1}">
<tree string="Categories">
<field name="active_category" attrs="{'readonly': 1}"/>
<field name="link_category_id" attrs="{'readonly': 1}"/>
<field name="type" attrs="{'readonly': 1}"/>
<field name="date" attrs="{'readonly': 1}"/>
<field name="observations"/>
<button name="open_history" type="object" string="View history" icon="terp-calendar"/>
</tree>
</field>
</group>
Все в порядке, но, если я нажимаю на одну из записей, она открывается как всплывающая форма и показывает некоторые поля, которые мне не нужны. Например, объекты "res.partner.link.category" имеют атрибут partner_id, который я не хочу показывать. Поэтому я не написал его внутри дерева (что работает отлично), но я сделал то же самое для формы, и этот показывает все атрибуты "res.partner.link.category". Вот код после изменений, которые я сделал, чтобы показать форму, как я хочу:
<group string="Activity Summary">
<field name="history" nolabel="1" attrs="{'readonly': 1}">
<tree string="Categories">
<field name="active_category" attrs="{'readonly': 1}"/>
<field name="link_category_id" attrs="{'readonly': 1}"/>
<field name="type" attrs="{'readonly': 1}"/>
<field name="date" attrs="{'readonly': 1}"/>
<field name="observations"/>
<button name="open_history" type="object" string="View history" icon="terp-calendar"/>
</tree>
<form string="Categories" version="7.0">
<sheet>
<group col="4">
<field name="active_category"/>
<field name="link_category_id" options="{'no_open': True}"/>
<field name="type"/>
<field name="partner_id" attrs="{'invisible': True}"/>
</group>
<group col="4">
<field name="date"/>
<field name="observations"/>
</group>
</sheet>
</form>
</field>
</group>
Что я делаю неправильно? Есть ли способ это исправить?
1 ответ
Вы должны унаследовать и заменить его историей
Попробуй это,
<record id="form_id" model="ir.ui.view">
<field name="name">model.form</field>
<field name="model">model</field>
<field name="inherit_id" ref="module_to_inherit.view id"/>
<field name="arch" type="xml">
<field name="partner_id" position="replace">
<field name="history"/>
</field>
</field>
</record>