Как установить default_order_line при открытии формы заказа на продажу? - PullRequest
0 голосов
/ 08 июня 2018

Я пытаюсь установить строку заказа по умолчанию для заявки на продажу, когда она открывается из возможности (конвейера) с помощью кнопки «Новая заявка».Что у меня пока (не получилось):

<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 голосов
/ 08 июня 2018

Я не уверен, что это правильная кнопка, которую вы расширяете в представлении.Разве это не должна быть кнопка в мастере открытия, куда помещать значения по умолчанию в контекст.

Другое дело:

Ошибка: QWeb2 - шаблон ['ListView.rows']: Ошибка во время выполнения: ошибка: QWeb2 - шаблон ['ListView.row']: ошибка во время выполнения: ошибка: NameError: имя 'invoice_status' не определено

Что-то не так с определением представления здесь

...