Odoo 10:在可编辑的树视图中打开表单视图

时间:2017-07-26 02:55:39

标签: openerp odoo-10

我正在Odoo 10中创建一个新模型。 可以通过启动树视图的菜单项访问此模型。

树视图是可编辑的,但我希望能够启动用户想要编辑的特定记录用户的表单视图。

是否有任何选项可以在树视图中放置一个按钮来启动表单视图或其他内容?有人可以突出显示所需的步骤或指向类似的代码示例吗?

谢谢,

3 个答案:

答案 0 :(得分:5)

使用按钮:  在树视图中:

 <tree editable="top">
        ...
        ...
      <button name="open_record" type="object" class="oe_highlight"/>
  </tree>

在您的模型中:

  @api.multi
  def open_record(self):
    # first you need to get the id of your record
    # you didn't specify what you want to edit exactly
    rec_id = self.someMany2oneField.id
    # then if you have more than one form view then specify the form id
    form_id = self.env.ref('module_name.form_xml_id')

    # then open the form
    return {
            'type': 'ir.actions.act_window',
            'name': 'title',
            'res_model': 'your.model',
            'res_id': rec_id.id,
            'view_type': 'form',
            'view_mode': 'form',
            'view_id': form_id.id,
            'context': {},  
            # if you want to open the form in edit mode direclty            
            'flags': {'initial_mode': 'edit'},
            'target': 'current',
        }

答案 1 :(得分:1)

您不需要特殊功能或按钮或其他任何要求。只需在菜单操作form中添加view_mode视图:

<record id="my_menu_action" model="ir.actions.act_window">
    <field name="name">Action</field>
    <field name="res_model">my.model</field>
    <field name="view_mode">tree,form</field>
    <field name="view_id" ref="my_tree_view" />
</record>

在可编辑列表视图中编辑条目时,您可以通过客户端右上角的视图切换器切换到表单视图。

答案 2 :(得分:0)

转到树状视图,然后移除属性editable="bottom"

 <tree editable="bottom" string="Journal Items">
      <field name="account_id" domain="[('company_id', '=', parent.company_id), ('deprecated', '=', False)]"/>
  </tree>

删除该属性后,将打开表单视图