Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.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
Javascript 如何在Odoo 11中通过do_action()java脚本方法显示操作\u id_Javascript_Action_Odoo_Odoo 11 - Fatal编程技术网

Javascript 如何在Odoo 11中通过do_action()java脚本方法显示操作\u id

Javascript 如何在Odoo 11中通过do_action()java脚本方法显示操作\u id,javascript,action,odoo,odoo-11,Javascript,Action,Odoo,Odoo 11,当我从java脚本代码调用do_action方法时,我没有获取操作id。因此,当我刷新或重新加载页面时,我的表单为空。我用的是奥多11 action_timesheet_user: function(event) { var self = this; event.stopPropagation(); event.preventDefault(); alert(self.employee_data.timesheet_action); if (self.em

当我从java脚本代码调用do_action方法时,我没有获取操作id。因此,当我刷新或重新加载页面时,我的表单为空。我用的是奥多11

action_timesheet_user: function(event) {
    var self = this;
    event.stopPropagation();
    event.preventDefault();
    alert(self.employee_data.timesheet_action);
    if (self.employee_data.uid == 1){
        this.do_action({
        name: _t("Timesheets"),
        type: 'ir.actions.act_window',
        res_model: 'account.analytic.line',
        view_mode: 'tree,form',
        view_type: 'form',
        views: [[false, 'list'],[false, 'form']],
        context: {
                //'search_default_employee_id': [self.employee_data.id],
                'search_default_month': true,
                },
        target: 'current'
        })}
    else {
        this.do_action({
        name: _t("Timesheets"),
        type: 'ir.actions.act_window',
        res_model: 'account.analytic.line',
        view_mode: 'tree,form',
        view_type: 'form',
        views: [[false, 'list'],[false, 'form']],
        context: {
                //'search_default_employee_id': [self.employee_data.uid],
                'search_default_month': true,
                },
        domain: ['|','|',['user_id', '=', self.employee_data.uid],
        ['employee_id.department_id.manager_id.user_id', '=', self.employee_data.uid],
        ['project_id.user_id','in',[self.employee_data.uid]]],
        target: 'current'
        },{on_reverse_breadcrumb: function(){ return self.reload();}})}
    },

events: _.extend({}, Widget.prototype.events, {'click .custom_helpdesk_tickets': 'action_custom_helpdesk_tickets'}),
Xml模板:

<div><a class="btn btn-primary btn-block custom_helpdesk_tickets" role="button"><strong>Helpdesk</strong></a></div>
要求:

        http://localhost:8069/web?debug#view_type=list&model=account.analytic.line&menu_id=458&action=487

提前感谢。

如果上面的代码不起作用,那么您将尝试下面的第二种方法,这是您将使用此代码的示例代码

XML代码:

<record id="hr_timesheets_attendance_action_kanban" model="ir.actions.act_window">
    <field name="name">Timesheets</field>
    <field name="res_model">account.analytic.line</field>
    <field name="view_mode">tree,form</field>
    <field name="help" type="html">
        <p>
            To create employees timesheet.
        </p>
    </field>
</record>

谢谢

如果上面的代码不起作用,那么您将尝试下面的第二种方法,这是您将使用此代码的示例代码

XML代码:

<record id="hr_timesheets_attendance_action_kanban" model="ir.actions.act_window">
    <field name="name">Timesheets</field>
    <field name="res_model">account.analytic.line</field>
    <field name="view_mode">tree,form</field>
    <field name="help" type="html">
        <p>
            To create employees timesheet.
        </p>
    </field>
</record>

感谢来自
执行操作
方法如果您无法创建新操作,您将执行任何已创建的操作。因此,您必须给出必须执行的操作的id。

执行操作
方法如果无法创建新操作,则执行任何已创建的操作。因此,您必须给出必须执行的操作的id。

在哪个参数中我给出id?例如(res_id或其他东西)。意思是我需要语法,我有action id=643。如果你有action id,即数据库记录id,那么这里你需要该数据库id的注册表id(名称)。如果action id=643,那么注册表id应该是:
my\u action\u test
。语法应该是这样的:
do\u action('module\u name.action\u name)
在我们的例子中,我们可以说:
do\u action('module\u name.my\u action\u test)
在哪个参数中我给出了id?例如(res_id或其他东西)。意思是我需要语法,我有action id=643。如果你有action id,即数据库记录id,那么这里你需要该数据库id的注册表id(名称)。如果action id=643,那么注册表id应该是:
my\u action\u test
。语法应该类似于:
do\u action('module\u name.action\u name)
在本例中,我们可以说:
do\u action('module\u name.my\u action\u test)
this.do_action('module_name.hr_timesheets_attendance_action_kanban');