Ir al contenido
Menú
Se marcó esta pregunta
1 Responder
785 Vistas

<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?

Avatar
Descartar
Mejor respuesta

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.

Avatar
Descartar
Publicaciones relacionadas Respuestas Vistas Actividad
0
mar 15
3490
2
dic 24
1373
0
mar 17
3095
4
mar 17
11120
0
nov 24
1189