2014-10-21 2 views
0

Я использую OpenERP7, и я создал поле в форме. Это поле является следующим:Как избежать отображения полей в настраиваемой форме в OpenERP7?

'history': fields.function(_get_history, type='many2many', 
          obj="res.partner.link.category", 
          method=True, string='Categories'), 

Затем я показываю его в форме. Поскольку поле много, оно показано как дерево, которое я укажу ниже.

<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> 

Что я делаю неправильно? Есть ли способ исправить это?

+0

вы хотите, чтобы скрыть некоторые поля/столбцы 'many2many' зрения? По умолчанию в 'many2many' отображаются все столбцы, которые определяются в представлении« Список/Дерево ». –

+0

Так, например, я не могу показать 6 столбцов в дереве и 3 в форме, не так ли? – forvas

ответ

0

вы должны наследовать и заменить его истории он

Попробуйте это,

<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> 
Смежные вопросы