Элемент ODOO не может быть расположен в родительском представлении - PullRequest
0 голосов
/ 22 марта 2019

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

Element '<group name="sale_condition">' cannot be located in parent view

Error context:
View `product.template.only.form.view.marge`
[view_id: 1240, xml_id: n/a, model: product.template, parent_id: 560]
None" while parsing /home/PycharmProjects/account_invoice_margin/views/product_view.xml:4, near
<record id="product_template_only_form_view_marge" model="ir.ui.view">
            <field name="name">product.template.only.form.view.marge</field>
            <field name="model">product.template</field>
            <field name="inherit_id" ref="stock.view_template_property_form"/>
            <field name="arch" type="xml">
                <group name="sale_condition" position="inside">
                    <label for="taux_marge" groups="account_invoice_margin.group_margin_security"/>
                    <div groups="account_invoice_margin.group_margin_security">
                        <field name="taux_marge" class="oe_inline"/>
                    </div>
                    <label for="marge_product" groups="account_invoice_margin.group_margin_security"/>
                    <div groups="account_invoice_margin.group_margin_security">
                        <field name="marge_product" class="oe_inline"/>
                    </div>
                </group>
            </field>
        </record>

Я понимаю, что ошибка связана с "sale_condition", которого нет в родительском представлении.Можете ли вы помочь мне, предложив альтернативу, где я могу добавить эту группу, чтобы она работала?Зная, что я не могу изменить в файле дополнений

Эта группа с атрибутом 'sale_condition' присутствует в odoo 10 mais pas dans odoo 12.

<group name="sale_condition" string="Sale Conditions">
                            <label for="warranty" groups="stock.group_production_lot"/>
                            <div groups="stock.group_production_lot">
                                <field name="warranty" class="oe_inline"/> months
                            </div>
                            <label for="sale_delay"/>
                            <div>
                                <field name="sale_delay" attrs="{'readonly':[('sale_ok','=',False)]}" class="oe_inline" style="vertical-align:baseline"/> days
                            </div>

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Я думаю, что вы пытаетесь найти группу sale_conине представления Odoo 10 в Odoo 12, но эта группа представлений не определена в этом представлении stock.view_template_property_form Odoo 12. Переносите ли вы модуль из Odoo 10 вOdoo 12?

Поскольку вам нужна эта группа, чтобы просто найти позицию в представлении, где вы будете включать поля taux_marge и marge_product, я бы просто забыл о sale_condition и использовал режим разработчика в Odoo 12, чтобы найти новую позицию относительнок группам / полям / и т. д., которые действительно существуют в представлении Odoo 12, например, после того, как прайс-лист пытается что-то вроде:

        <xpath expr="//group[@name='pricelists']" position="after">
            <group name="marge" string="Marge">
                <group>
                    <label for="taux_marge" groups="account_invoice_margin.group_margin_security"/>
                    <div groups="account_invoice_margin.group_margin_security">
                        <field name="taux_marge" class="oe_inline"/>
                    </div>
                    <label for="marge_product" groups="account_invoice_margin.group_margin_security"/>
                    <div groups="account_invoice_margin.group_margin_security">
                        <field name="marge_product" class="oe_inline"/>
                    </div>
                </group>
            </group>
        </xpath>
0 голосов
/ 22 марта 2019

Вы можете наследовать представление, в котором создается имя группы = "условие_продажи"

...