Создать другую форму и дерево в Odoo 9 - PullRequest
0 голосов
/ 02 мая 2018

я строю модуль odoo. В моем модуле нужны две формы и дерево с разными полями из одного класса. Я был судим, но не работает. Это мой код

<record id="open_view_client_form_view_2_list_my" model="ir.actions.act_window">
        <field name="name">Trial</field>
        <field name="res_model">new.trial</field>
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="domain">[]</field>
        <field name="view_id" ref="client_form_view_2,client_form_view_2_tree"/>
        <field name="context">{ 'form_view_ref' : 'client_form_view_2', 'tree_view_ref':'client_form_view_2_tree'}</field>    
        <field name="search_view_id" ref="client_form_view_2_filter"/>
        <field name="help" type="html">
          <p class="oe_view_nocontent_create">
            Click to add a new project.
          </p>
        </field>
    </record>

и подобные ошибки <field name="view_id" ref="client_form_view_2,client_form_view_2_tree"/>. Как я могу решить это?

1 Ответ

0 голосов
/ 02 мая 2018

Основная проблема заключается в том, что view_id является полем Many2one, что означает, что в аргументе ref можно указать только одно представление. Вы должны указать ссылку для любого вида, который будет основным (отображается первым). В вашем случае view_mode указывает, что представление tree будет основным.

<field name="view_id" ref="client_form_view_2_tree"/>

Рекомендуется также указывать ссылку по "module_name.view_name", хотя технически в этом нет ничего плохого.

Похоже, ваш context правильно настроен на отображение правильного вида формы. Итак, я думаю, что ваш код должен быть хорошим, как только вы обновите view_id.


Если это все еще не работает, то вам может понадобиться использовать аргумент views для действия. См. Действия Документация для получения более подробной информации, но идея заключается в следующем:

<field name="views">[(id, name), (id, name)]</field>
<!-- This is just an example. You may have to tweak this to work properly -->
<field name="views">[('your_module.tree_view', 'tree'), ('your_module.form_view', 'form')]</field>

Список пар (view_id, view_type). Второй элемент каждой пары это категория вида (дерево, форма, график, ...) и первый необязательный идентификатор базы данных (или False). Если идентификатор не указан, клиент должен получить представление по умолчанию указанного типа для запрошенного модель (это автоматически выполняется fields_view_get ()). Первый Тип списка является типом представления по умолчанию и будет открыт по умолчанию когда действие выполнено. Каждый тип представления должен присутствовать не более один раз в списке

...