Javascript Odoo表单中的表单小部件按钮

Javascript Odoo表单中的表单小部件按钮,javascript,xml,odoo,odoo-10,Javascript,Xml,Odoo,Odoo 10,我试图在发票表单中添加一个按钮,我需要在js中启动一个调用 因此,我用Js和XML编写了代码,请参见下文 在JS中 在XML中,我继承了帐户发票表单视图 <odoo> <data> <record model="ir.ui.view" id="invoice_form_test"> <field name="name">invoice.form.test</field>

我试图在发票表单中添加一个按钮,我需要在js中启动一个调用

因此,我用Js和XML编写了代码,请参见下文

在JS中

在XML中,我继承了帐户发票表单视图

<odoo>
    <data>
        <record model="ir.ui.view" id="invoice_form_test">
            <field name="name">invoice.form.test</field>
            <field name="model">account.invoice</field>
            <field name="inherit_id" ref="account.invoice_form"/>
            <field name="arch" type="xml">

                <header position="inside">

                    <button type="action" string="Print Test"  icon="fa-print" custom="print" />


                </header>

            </field>
        </record>

    </data>
</odoo>

发票、表格、测试
帐户、发票
这将不起作用,但单击它会显示

TypeError:exec_workflow()正好接受4个参数(给定3个)

我需要添加更多的东西来工作吗。请评论

另外,请建议从表单视图将按钮单击传递到js的任何方法。 谢谢

  • 您错误地导入了表单小部件

    var form_widget=require('web.form_widgets');//正确的


  • 关闭,这是小部件的问题
    <odoo>
        <data>
            <record model="ir.ui.view" id="invoice_form_test">
                <field name="name">invoice.form.test</field>
                <field name="model">account.invoice</field>
                <field name="inherit_id" ref="account.invoice_form"/>
                <field name="arch" type="xml">
    
                    <header position="inside">
    
                        <button type="action" string="Print Test"  icon="fa-print" custom="print" />
    
    
                    </header>
    
                </field>
            </record>
    
        </data>
    </odoo>