如何使用按钮调用特定记录的视图?

-1 投票
1 回答
1439 浏览
提问于 2025-04-18 07:34

我需要帮助,想用一个按钮来显示特定的记录在列表视图里。

现在我用的是下面这段代码:

<button name="%(action_menu_activitydata)d" type='action'/>


<record id="action_menu_activitydata" model="ir.actions.act_window">
        <field name="name">ActivityData</field>
        <field name="type">ir.actions.act_window</field>
        <field name="res_model">budget.activitydata</field>            
        <field name="view_type">form</field>
        <field name="view_mode">tree,form</field>
        <field name="view_id" ref="activitydata"/>
    </record>

当我点击这个按钮的时候,我可以看到列表视图里的所有记录。那我该怎么做才能打开一个表单视图,显示特定的记录呢?

1 个回答

0

为了这个目的,使用对象而不是动作。

看看这个例子,可能会对你有帮助。

使用你的模块树视图,表单视图,然后查看你需要的资源ID(这一步是可选的)。

def redirect_phonecall_view(self, cr, uid, phonecall_id, context=None):
    model_data = self.pool.get('ir.model.data')
    # Select the view
    tree_view = model_data.get_object_reference(cr, uid, 'crm', 'crm_case_phone_tree_view')
    form_view = model_data.get_object_reference(cr, uid, 'crm', 'crm_case_phone_form_view')
    search_view = model_data.get_object_reference(cr, uid, 'crm', 'view_crm_case_phonecalls_filter')
    value = {
            'name': _('Phone Call'),
            'view_type': 'form',
            'view_mode': 'tree,form',
            'res_model': 'crm.phonecall',
            'res_id' : int(phonecall_id),
            'views': [(form_view and form_view[1] or False, 'form'), (tree_view and tree_view[1] or False, 'tree'), (False, 'calendar')],
            'type': 'ir.actions.act_window',
            'search_view_id': search_view and search_view[1] or False,
    }
    return value

撰写回答