Odoo header 按钮丢失

Odoo header buttons missing

树视图中出现的创建按钮有问题。下一个或上一个按钮也不会出现在窗体视图中。但是,正在从数据库中检索数据。

Tree form with missing buttons

我想做的模块是人力资源模块的扩展模块,比如自带的HR考勤模块。扩展模块不继承任何东西,也没有添加安全性。主模块中只添加了一个菜单项。

我之前通过继承主 HR 模块创建的模块按预期创建了按钮。

Expected outcome(different module)

training.py:

from openerp import fields, models, api

class ew_training(models.Model):
  _name           = 'hr.training'

  var             = fields.Char(      string='variable')

training_view.xml:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
  <data>
    <!-- Main Submenu -->
    <menuitem id="menu_training_tree" action="action_view_training"
                  parent="hr.menu_hr_main" sequence="6"/>

    <record id="action_view_training" model="ir.actions.act_window">
      <field name="name">Training</field>
      <field name="res_model">hr.training</field>
      <field name="view_type">tree</field>
      <field name="view_mode">tree,form</field>
    </record>

    <record id="view_training_tree" model="ir.ui.view">
      <field name="name">hr.training.tree</field>
      <field name="model">hr.training</field>
      <field name="arch" type="xml">
        <tree>
          <field name="var"/>
        </tree>
      </field>
    </record>

    <record id="view_training_form" model="ir.ui.view">
      ...
    </record>      
  </data>
</openerp>

请尽量避免使用旧的API

编辑

如果您尝试在不同的操作中调用不同的视图,这应该可行。

问题不在于创建按钮,问题在于您没有在操作中调用树视图 action_view_training,请尝试在 view_mode 之后添加此行:

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

编辑

要解决您的问题,您只需更改 view_type,您应该使用 form:

<record id="action_view_training" model="ir.actions.act_window">
  <field name="name">Training</field>
  <field name="res_model">hr.training</field>
  <field name="view_type">form</field>
  <field name="view_mode">tree,form</field>
</record>

应该可以完美运行!!!希望对您有所帮助。

仅供参考。

实际操作 view_type tree 可用于创建 分层 视图,它不会让您能够创建或更新记录。 Odoo中的公司结构视图是视图类型树的示例。

view_typeform 的实际操作将允许您创建普通树、具有创建、更新、复制、删除功能的表单视图。

希望对您有所帮助。