打开销售订单表时如何设置default_order_line?

时间:2018-06-08 06:39:22

标签: odoo odoo-10

我正在尝试使用按钮"新报价"从机会(管道)打开时将默认订单行设置为销售订单。 我到目前为止(它没有工作):

<record id="crm_case_form_view_oppor_inherited" model="ir.ui.view">
    <field name="name">crm.lead.oppor.inherited.crm2</field>
    <field name="model">crm.lead</field>
    <field name="inherit_id" ref="sale_crm.crm_case_form_view_oppor"/>
    <field name="arch" type="xml">
        <button name="%(sale_crm.sale_action_quotations_new)d" position="attributes">
            <attribute name="context">{
                'search_default_partner_id': partner_id,
                'default_partner_id': partner_id,
                'default_team_id': team_id,
                'default_order_line': [(0, 0, {
                    'product_id': product_id,
                    'product_uom': 1,
                    'price_unit': 1,
                    'product_qty': 1,
                }
                )]
            }
            </attribute>
        </button>

    </field>
</record>

此解决方案看起来很简单,也很有意义。但是,无论我将哪个领域传递到订单行,它都无法运作。我记得在采购订单行中这样做并且工作正常,但是在销售订单行中它是不同的。错误(没有给出太多信息):

TypeError: Cannot read property 'fields' of undefined

http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:2908
Traceback:
 Error: QWeb2 - template['ListView.rows']: Runtime Error: Error: QWeb2 - template['ListView.row']: Runtime Error: Error: NameError: name 'invoice_status' is not defined
at Object.exception (http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:2908:7)
at Engine.eval (eval at _render (http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:2950:73), <anonymous>:24:29)
at Engine._render (http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:2949:296)
at Engine.render (http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:2949:151)
at Engine._render (http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:2953:57)
at Engine.render (http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:2949:151)
at Class.render (http://0.0.0.0:8069/web/content/411-539d35f/web.assets_backend.js:2085:149)
at http://0.0.0.0:8069/web/content/411-539d35f/web.assets_backend.js:2102:46
at http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:547:681
at fire (http://0.0.0.0:8069/web/content/410-984e26b/web.assets_common.js:541:299)

如果您对此问题有任何疑问,请分享您的意见,也许我不应该浪费我的时间并为我的客户提供不同的东西?谢谢。

1 个答案:

答案 0 :(得分:0)

我不确定,如果这是您在视图中展开的正确按钮。不应该是打开向导上的按钮,将默认值放在上下文中。

另一件事:

  

错误:QWeb2 - 模板[&#39; ListView.rows&#39;]:运行时错误:错误:QWeb2 - 模板[&#39; ListView.row&#39;]:运行时错误:错误:NameError:name &#39; invoice_status&#39;未定义

这里的视图定义有问题