Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过odoo中的点击事件弹出现有视图窗口_Python_Odoo_Openerp 7_Odoo 8_Openerp 8 - Fatal编程技术网

Python 通过odoo中的点击事件弹出现有视图窗口

Python 通过odoo中的点击事件弹出现有视图窗口,python,odoo,openerp-7,odoo-8,openerp-8,Python,Odoo,Openerp 7,Odoo 8,Openerp 8,我已经通过在(hr.Recruptionform view)中使用继承在jobs中创建了一个按钮,如何在按钮单击事件完成期间打开另一个模块(“简历和信函-人力资源中的子菜单”)form_view。我的目标是,我只想在单击事件完成时打开该表单 有可能解决吗?需要帮助请您可以用这种方式返回表单 在按钮方法中,返回此词典。它将在弹出窗口中打开目标表单, def button_method(...........): return { 'name': _(some n

我已经通过在(
hr.Recruption
form view)中使用继承在jobs中创建了一个
按钮
,如何在按钮单击事件完成期间打开另一个模块(“简历和信函-人力资源中的子菜单”)form_view。我的目标是,我只想在单击事件完成时打开该表单


有可能解决吗?需要帮助请

您可以用这种方式返回表单
在按钮方法中,返回此词典。它将在弹出窗口中打开目标表单,

def button_method(...........):
    return {
              'name': _(some name),
              'view_type': 'form',
              "view_mode": 'form',
              'res_model': model-name,
              'type': 'ir.actions.act_window',
              'target': 'new',
              }

您可以在上述词典中传递

以打开特定记录是的,可以打开另一个窗口。你必须这样做

@api.multi
def button_method(self):
    return {
        'type': 'ir.actions.act_window',
        'name': 'form name',
        'res_model': 'object name',
        'res_id': id ,
        'view_type': 'form',
        'view_mode': 'form',
        'target' : 'new',
        }
但当记录保存时,这是可能的。若你们想在保存记录之前打开向导,你们必须像这样用js编码

@api.multi
def button_method(self):
    return {
        'type': 'ir.actions.act_window',
        'name': 'form name',
        'res_model': 'object name',
        'res_id': id ,
        'view_type': 'form',
        'view_mode': 'form',
        'target' : 'new',
        }
在js文件中: openerp.module_name=函数(实例){

//打开表单的方法

    on_preview_view_button: function(e){
        e.preventDefault();
            this.do_action({
                name: _t("View name"),
                type: "ir.actions.act_window",
                res_model: "object",
                domain : [],
                views: [[false, "list"],[false, "tree"]],
                target: 'new',
                context: {},
                view_type : 'list',
                view_mode : 'list'
            });
        }
    },
});
};

xml
文件添加按钮中,给出
id=“oe\u链接”
无论你在
js
code中给出什么。

在odoo中有很多屏幕,你点击一个按钮,就会显示向导/弹出窗口,试着浏览这些屏幕,并试着找出它是如何工作的。例如:客户发票屏幕,你找到一个付款按钮,它会打开一个弹出窗口。在这里,你只需要付出一点努力要搜索odoo核心代码,您将找到您的答案。很抱歉在这里询问。我如何在js上动态获取
查看\u id
,以便稍后我可以将其用作
do\u action
上的字典参数。我知道如何在python中执行,但不知道如何在js中执行。