İçereği Atla
Menü
Bu soru işaretlendi
1 Cevapla
791 Görünümler

<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
Vazgeç
En İyi Yanıt

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
Vazgeç
İlgili Gönderiler Cevaplar Görünümler Aktivite
0
Mar 15
3516
2
Ara 24
1397
0
Mar 17
3106
4
Mar 17
11148
0
Kas 24
1205