Как создать новое представление дерева для res.partner без наследования дерева по умолчанию?

Мне нужно сделать альтернативное древовидное представление для res.partner.

это мой код

<record id="custom_res_partner_tree_view" model="ir.ui.view">
    <field name="name">CUSTOM</field>
    <field name="model">res.partner</field>
    <field eval="1" name="priority"/>
    <field name="arch" type="xml">
        <tree string="Contacts">
            <field string="1" name="custom_field1"/>
            <field string="2" name="custom_field2"/>
            <field string="3" name="name"/>
            <field string="4" name="street"/>
            <field string="5" name="phone"/>
            <field string="6" name="email"/>
        </tree>
    </field>
</record>

.......

<record model="ir.actions.act_window.view" id="custom_res_partner_tree_view_action">
    <field eval="2" name="sequence"/>
    <field name="view_mode">tree</field>
    <field name="view_id" ref="custom_res_partner_tree_view"/>
    <field name="act_window_id" ref="custom_res_partner_action"/>
</record>

Приведенный выше код работает, но ведет себя так, как будто наследует исходное древовидное представление. Он показывает столбцы, которые я не указываю. Как сделать совершенно новое дерево?


Дополнительные детали:

custom_res_partner.py

from osv import osv,fields

class custom_res_partner(osv.osv):

    def _account_default(self, cr ,uid, context=None):
    obj= self.pool.get('account.account')
    ids = obj.search(cr, uid, [])

    if(len(ids)>0):
        return ids[0]
    else:
        return None

    _name           = "res.partner"
    _inherit        = "res.partner"
    _columns        = {
    }

    _defaults = {
        'property_account_receivable'       : _account_default,
        'property_account_payable'          : _account_default,
    }

    _sql_constraints = [
    ]

    def init(self, cr):
    pass   

custom_res_partner()

custom_res_partner_view.xml

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
    <data>
        <record id="custom_res_partner_tree_view" model="ir.ui.view">
            <field name="name">Customer</field>
            <field name="model">res.partner</field>
            <field eval="10" name="priority"/>
            <field name="arch" type="xml">
                <tree string="Contacts">
                    <field string="KTP" name="ktp"/>
                    <field string="NPWP" name="npwp"/>
                    <field string="Name" name="name"/>
                    <field string="Address" name="street"/>
                    <field string="Telephone" name="phone"/>
                    <field string="Email" name="email"/>
                </tree>
            </field>
        </record>

        <record id="custom_res_partner_kanban_view" model="ir.ui.view">
            <field name="name">res.partner.kanban.custom</field>
            <field name="model">res.partner</field>
            <field name="inherit_id" ref="base.res_partner_kanban_view" />
            <field name="arch" type="xml">
                <xpath expr="/kanban/field[@name='color']" position="after">
                    <field name="npwp" />
                </xpath>
            </field>
        </record>

        <record id="custom_res_partner_form_view" model="ir.ui.view">
            <field name="name">res.partner.form</field>
            <field name="model">res.partner</field>
            <field eval="1" name="priority" />
            <field name="arch" type="xml">
                <form string="Customer" version="7.0">
                    <header></header>
                    <sheet>
                        <field name="image" widget='image' class="oe_left oe_avatar" options='{"preview_image": "image_medium", "size": [90, 90]}'/>
                        <div class="oe_title">
                            <div class="oe_edit_only">
                            <label for="name" string="Name"/>
                            </div>
                            <h1>
                            <field name="name" default_focus="1" placeholder="Nama" />
                            </h1>
                            <div class="oe_edit_only">
                            <label for="ktp" string="KTP"/>
                            </div>
                            <h1>
                            <field name="ktp" placeholder="KTP" />
                            </h1>
                            <div class="oe_edit_only">
                            <label for="npwp" string="NPWP"/>
                            </div>
                            <h1>
                            <field name="npwp" placeholder="NPWP" />
                            </h1>
                        </div>
                        <group>
                            <group>             
                                <label for="street" string="Address"/>
                                <div>
                                    <field name="street" placeholder="Address 1"/>
                                    <field name="street2" placeholder="Address 2"/>
                                    <div class="address_format">
                                        <field name="city" placeholder="City" style="width: 40%%"/>
                                        <field name="state_id" class="oe_no_button" placeholder="State" style="width: 37%%" options='{"no_open": True}' on_change="onchange_state(state_id)"/>
                                        <field name="zip" placeholder="Zip" style="width: 20%%"/>
                                    </div>
                                    <field name="country_id" placeholder="Country" class="oe_no_button" options='{"no_open": True}'/>
                                </div>
                            </group>
                            <group>
                                <field name="phone" placeholder="misal +62224281110"/>
                                <field name="mobile"/>
                                <field name="fax"/>
                                <field name="email" widget="email"/>
                            </group>
                        </group>
                    </sheet>
                    <div class="oe_chatter"></div>
                </form>
            </field>
        </record>

        <record id="custom_res_partner_action" model="ir.actions.act_window">
            <field name="name">Customer</field>
            <field name="type">ir.actions.act_window</field>
            <field name="res_model">res.partner</field>
            <field name="view_type">form</field>
            <field name="view_mode">kanban,tree,form</field>
            <field name="context">{"search_default_customer":1}</field>
            <field name="help" type="html">
            <p class="oe_view_nocontent_create">
              bla bla bla
            </p>
            </field>
        </record>

        <record model="ir.actions.act_window.view" id="custom_res_partner_kanban_view_action">
            <field eval="1" name="sequence"/>
            <field name="view_mode">kanban</field>
            <field name="view_id" ref="custom_res_partner_kanban_view"/>
            <field name="act_window_id" ref="custom_res_partner_action"/>
        </record>

        <record model="ir.actions.act_window.view" id="custom_res_partner_tree_view_action">
            <field eval="2" name="sequence"/>
            <field name="view_mode">tree</field>
            <field name="view_id" ref="custom_res_partner_tree_view"/>
            <field name="act_window_id" ref="custom_res_partner_action"/>
        </record>

        <record model="ir.actions.act_window.view" id="custom_res_partner_form_view_action">
            <field eval="3" name="sequence"/>
            <field name="view_mode">form</field>
            <field name="view_id" ref="custom_res_partner_form_view"/>
            <field name="act_window_id" ref="custom_res_partner_action"/>
        </record>

        <menuitem id="menu_partner_form" parent="base.menu_sales" action="custom_res_partner_action" sequence="1"/>
    </data>
</openerp>

person William Wino    schedule 14.04.2014    source источник
comment
не должно быть проблем с полностью новым древовидным представлением. но представления формы могут быть особенными, потому что унаследованная модель может иметь множество обязательных полей, которые вы должны включить в свое представление. Я не вижу никаких проблем с вашим кодом, но там так много не хватает. код python и меню xml и так далее. Вы можете предоставить нам эту информацию?   -  person CZoellner    schedule 14.04.2014
comment
Что вы имеете в виду, что представления формы могут быть особенными? Я уже сделал специальный вид формы. И это прекрасно работает, но не в этом древовидном представлении. Я даже использую тот же метод.   -  person William Wino    schedule 15.04.2014
comment
я имел в виду, что обычные древовидные представления (не редактируемые) доступны только для чтения, потому что, если вы щелкнете по записи, откроется представление формы... поэтому нет проблем, если вы создадите древовидное представление без обязательных полей. представление формы без них было бы плохо, потому что вы, вероятно, ничего не сможете с ним сохранить.   -  person CZoellner    schedule 15.04.2014
comment
. . . Извините, я не понимаю, что вы имеете в виду... Что мне делать? Так у меня получилась рабочая совсем другая форма от той же модели. Как мне получить работающее совершенно другое дерево из той же модели?   -  person William Wino    schedule 15.04.2014
comment
не так важно... моя точка зрения: мне нужно больше информации от вас. код python (ваша модель) и весь код xml (ir.ui.view, ir.actions.act_window и menuitem), потому что я не вижу ошибок в вашем коде выше, за исключением того, что вы использовали ir.actions.act_window.view , то, что я никогда не использовал раньше   -  person CZoellner    schedule 15.04.2014
comment
Там я добавил весь исходный код. Канбан тоже работает нормально, проблема только с деревом.   -  person William Wino    schedule 15.04.2014
comment
ir.actions.act_window.view предназначен для предотвращения использования системой представления с наивысшим приоритетом. Потому что я хочу указать свой собственный вид для этой конкретной модели, не переопределяя оригинал.   -  person William Wino    schedule 15.04.2014
comment
спасибо за код, но я не вижу никакой ошибки :( я никогда не использовал ir.actions.act_window.view, потому что он мне никогда не был нужен, но если он работает с канбаном и представлением формы, последовательность/приоритет полей не может быть проблема. извините, я не знаю, что не так, должно работать :-(   -  person CZoellner    schedule 15.04.2014
comment
Можете ли вы попробовать это на своем компьютере?   -  person William Wino    schedule 15.04.2014
comment
я бы очень хотела, но я на работе, извините   -  person CZoellner    schedule 15.04.2014
comment
Все хорошо, спасибо. Пожалуйста, попробуйте, когда у вас будет время.   -  person William Wino    schedule 15.04.2014


Ответы (1)


Оказывается, причина была в этом <field name="name">CUSTOM</field>. По совпадению я изменил здесь содержимое на CUSTOM, в то время как в моем исходном коде оно все еще было Customer. Это как-то указывает на то, что я унаследовал первоначальный вид. Тогда я не знаю, какова цель inherit_id. Но после того, как я изменил name, все работает нормально.

person William Wino    schedule 16.04.2014