【问题标题】:Multiple form views for the same res.model openerp同一个 res.model openerp 的多个表单视图
【发布时间】:2014-03-15 05:13:15
【问题描述】:

我正在开发一个 openerp 模块,我想为同一个数据库对象 (res_model) 创建多个表单视图,每个表单都显示具有特定布局的特定字段。

我需要在单击菜单项时显示其中一个,而当我使用 return 语句单击表单上的按钮时将显示另一个:

return {
        'name': 'convert',
        'view_type': 'form',
        'view_mode': 'tree,form',
        'res_model': 'orders',
        'views': [(True, 'form')],
        'view_id': 'convert_req_to_order',
        'type': 'ir.actions.act_window',
        'domain': "[('order_type','=','0')]",
        }

但它总是显示一种形式。

是否可以为同一个数据库对象创建多个表单视图或多个树视图?

【问题讨论】:

    标签: openerp


    【解决方案1】:

    是的,当然这是可能的。尝试通过以下方式退货:

    mod_obj = self.pool.get('ir.model.data')
    form_view_ref = mod_obj.get_object_reference(cr, uid, '_your_module_name_', 'convert_req_to_order')
    
    return {
            'name': 'convert',
            'view_type': 'form',
            'view_mode': 'form',
            'view_id': [form_view_ref and form_view_ref[1] or False],
            'res_model': 'orders',
            'context': context, # optional
            'type': 'ir.actions.act_window',
            'nodestroy': True,
            'target': 'current', # for current window, 'new' for popup
            #'res_id': actual_instance.id, # id for record, else new record
            }
    

    别忘了替换 '_your_module_name_' ;-)

    【讨论】:

    • 感谢 CZoellner,但我尝试了这个并给了我之前同样的故障。当我为一个对象创建视图时,我可以创建一个表单视图、一个树视图、一个搜索视图等...但是当我创建多个表单视图时,系统会随机选择其中一个来显示可能不是我需要展示的。当我使用您的解决方案时,当我单击按钮和单击菜单项时显示一个表单,而另一个表单被完全取消。
    • 你能用你的 xml 内容编辑你的问题吗?如果需要你的模型代码,也许?
    • @user3259659:每个视图都有一个priority字段,默认为16;较低的数字具有较高的优先级,因此将您的默认视图设置为具有10 的优先级,然后OpenERP 将在未指定视图时选择它。
    猜你喜欢
    • 1970-01-01
    • 2014-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    • 1970-01-01
    • 2018-12-04
    • 1970-01-01
    相关资源
    最近更新 更多