Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3 Trả lời
6716 Lượt xem

For example, I want to hide field "Number of Children" on the employee form.

So I see it's field: children, object: hr.employee.

I have tried:

extend hr.employee

<field name="children" position="replace"/>
//Result XML validation error

<field name="marital" position="after">
  <field name="children" position="replace"/>
</field
//Exact code from the view, result, two Children fields (this code replace the Marital field with another Children)

<field name="children" attrs="{'invisible':[('children','=',True)]}"/>
//Passes validation but returns error when trying to open an employee form

<field name="children" position="attributes">
  <attribute name='invisible'>1</attribute>
</field>
//Fails xml validation

I don't know any of this code and I'm trying to find examples and that's where I got these tests from. Is there no default way to hide fields like with <field name="field_name" invisible="true"/> and I'm extending the form it will hide that field?

image description

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

Try this

image description

Ảnh đại diện
Huỷ bỏ
Tác giả

ValidateError

Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

Tác giả

I get the above error when I try your method in the view. Maybe I have an incorrect setting somewhere?

This is correct. If this is going into a module, you may not have the dependencies listed correctly in the __openerp__.py file.

Tác giả

I'm only using this in an extended view. I haven't mastered the delicate art of creating a module that doesn't return the "No handler found" error. So for now this is only in a view. I think the problem I have found is the group this field is in. Since I'm hiding all the fields in group name="contract" I think it's not liking it. How do you hide a group? I've tried position="replace" and it results in xml validate error as well.

Tác giả

Thank you for your help so far. I have added what you say, but still getting an xml validation error. I truly don't understand what this problem is. I have added a screenshot to my question. Perhaps there is something else I am missing that is causing this.

Tác giả

I believe this does it. Thanks for your help.

Câu trả lời hay nhất

Hi,

Try the following:

<record id="hr_contract_form_inherited_view_new" model="ir.ui.view">
    <field name="name">hr.contract.form.inherited.new</field>
    <field name="model">hr.employee</field>
    <field name="priority">17</field>
    <field name="inherit_id" ref="hr_contract.hr_hr_employee_view_form2"/>
    <field name="arch" type="xml">
        <field name="children" position="replace">
                 <field name="children" invisible="1"/>
        </field>                   
    </field> </record>

also put "hr_contract" in _openerp_.py as depedent module.

Ảnh đại diện
Huỷ bỏ
Tác giả

ValidateError

Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

Tác giả

I get the above error when I try your method in the view. Maybe I have an incorrect setting somewhere?

I have edited my answer. Hope this will solve your issue.

Tác giả

I'm only using this in an extended view. I haven't mastered the delicate art of creating a module that doesn't return the "No handler found" error. So for now this is only in a view. I think the problem I have found is the group this field is in. Since I'm hiding all the fields in group name="contract" I think it's not liking it. How do you hide a group? I've tried position="replace" and it results in xml validate error as well.

Câu trả lời hay nhất

Hi Sean

<field name="name"  position="attributes">
    <attribute name="invisible">True</attribute>
</field>

Hope this helps !

Ảnh đại diện
Huỷ bỏ
Tác giả

ValidateError

Error occurred while validating the field(s) arch: Invalid XML for View Architecture!

Tác giả

I get the above error when I try your method in the view. Maybe I have an incorrect setting somewhere?

Tác giả

I'm only using this in an extended view. I haven't mastered the delicate art of creating a module that doesn't return the "No handler found" error. So for now this is only in a view. I think the problem I have found is the group this field is in. Since I'm hiding all the fields in group name="contract" I think it's not liking it. How do you hide a group? I've tried position="replace" and it results in xml validate error as well.

Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 2 21
13862
0
thg 3 15
3816
6
thg 9 17
8250
1
thg 3 15
6127
1
thg 3 15
7416