Skip to Content
Meniu
Trebuie să fiți înregistrat pentru a interacționa cu comunitatea.
Această întrebare a fost marcată
1 Răspunde
814 Vizualizări

<record id="view_sales_so_tree" model="ir.ui.view">        <field name="name">sales.so.tree</field>        <field name="model">sale.order</field>        <field name="arch" type="xml">            <tree string="Sales SO" create="false" >                <field name="name" string="Number"/>                <field name="date_order" widget="date"/>                <field name="product_type" string="Product Type"/>                <field name="customer_display_name" string="Customer"/>                <field name="user_id" widget="many2one_avatar_user"/>                <field name="amount_total" sum="Total"/>                <field name="state" decoration-success="state == 'sale' or state == 'done'" decoration-info="state == 'draft' or state == 'sent'" widget="badge"/>            </tree>        </field>    </record>


    <record id="action_sales_so" model="ir.actions.act_window">        <field name="name">Sales SO</field>        <field name="res_model">sale.order</field>        <field name="view_mode">tree,form</field>        <field name="view_id" ref="view_sales_so_tree"/>        <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'view_mode': 'tree', 'view_id': ref('view_sales_so_tree')}),  (0, 0, {'view_mode': 'form', 'view_id': ref('view_sales_so_form')})]"/>        <field name="domain">[('is_sales_so', '=', True)]</field>        <field name="context">{'default_is_sales_so': True}</field>    </record>



I want to display view_sales_so_tree in the action menu action_sales_so. and the data entered does not appear in the tree. can anyone help me?

Imagine profil
Abandonează
Cel mai bun răspuns

Hi,

Almost your code is correct. Please make sure the field is_sales_so is properly defined in the Python model (sale.order) and also included in the form view (even if invisible). This ensures that the domain filter [('is_sales_so', '=', True)] works correctly, and records can be created with is_sales_so = True using the context.


Please refer to the code below:

Python


from odoo import models, fields


class SaleOrder(models.Model):

    _inherit = 'sale.order'


    is_sales_so = fields.Boolean(string="Is Sales SO", default=False)


XML:


<!--    Inherit sale order and add field is_sales_so-->

    <record id="sale_order_form_inherit_is_sales_so" model="ir.ui.view">

        <field name="name">sale.order.form.is.sales.so</field>

        <field name="model">sale.order</field>

        <field name="inherit_id" ref="sale.view_order_form"/>

        <field name="arch" type="xml">

            <xpath expr="//sheet/group" position="inside">

                <field name="is_sales_so" invisible="1"/>

            </xpath>

        </field>

    </record>

<!--    Tree view-->

    <record id="view_sales_so_tree" model="ir.ui.view">

        <field name="name">sales.so.tree</field>

        <field name="model">sale.order</field>

        <field name="arch" type="xml">

            <tree string="Sales SO" create="false">

                <field name="name" string="Number"/>

                <field name="date_order"/>

                <field name="partner_id" string="Customer"/>

                <field name="user_id" widget="many2one_avatar_user"/>

                <field name="amount_total" sum="Total"/>

                <field name="state" widget="badge"

                       decoration-success="state == 'sale' or state == 'done'"

                       decoration-info="state == 'draft' or state == 'sent'"/>

            </tree>

        </field>

    </record>

<!--    Action-->

    <record id="action_sales_so" model="ir.actions.act_window">

        <field name="name">Sales SO</field>

        <field name="res_model">sale.order</field>

        <field name="view_mode">tree,form</field>

        <field name="view_id" ref="view_sales_so_tree"/>

        <field name="view_ids" eval="[(5, 0, 0),

            (0, 0, {'view_mode': 'tree', 'view_id': ref('view_sales_so_tree')}),

            (0, 0, {'view_mode': 'form', 'view_id': ref('sale.view_order_form')})]"/>

        <field name="domain">[('is_sales_so', '=', True)]</field>

        <field name="context">{'default_is_sales_so': True}</field>

    </record>


Hope it helps.

Imagine profil
Abandonează
Related Posts Răspunsuri Vizualizări Activitate
0
mar. 15
3543
2
dec. 24
1428
0
mar. 17
3144
4
mar. 17
11195
0
nov. 24
1257