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

I have a form A with a tree inside. When I click on "Add an item" I got a form B, where I can enter some information. Some of the fields in B are function and are calculated. 

When I create new item, everything is OK, functional fields are correctly updated.

But when I edit and change some values, when I save, the form B closes and the functional fields aren't updated on the tree in A form. 

If I click on the tree item to edit it, the fields in form B, also have the old values like the tree.

 

<record id="quotation_form" model="ir.ui.view">
            <field name="name">bdt.quotation.form</field>
            <field name="model">bdt.quotation</field>
            <field name="arch" type="xml">
                <form string="Quotation" version="7.0">
                    <header>
                        <div>
                            <button name="action_button_quot_to_customer" states="0" string="Send to Customer" class="oe_highlight" type="object"/>
                            <button name="action_button_quot_to_draft" states="1" string="Review" type="object"/> 
                            <button name="action_button_quot_won" states="1" string="Accepted" class="oe_highlight" type="object"/>
                            <button name="action_button_quot_lost" states="1" string="Rejected" class="oe_highlight" type="object"/> 
                            <field name="state" widget="statusbar"/>
                        </div>  
                    </header>
                    <sheet>
                        <!-- h1>
                            <label string="Customer "/>
                            <field name="cus_id"/>
                        </h1>
                        <h2>
                            <label string="Project "/>
                            <field name="pr_id" class="oe_inline"/>
                        </h2-->
                        <h2>
                            <label string="Quotation Name "/>
                            <field name="name" class="oe_inline"/>
                        </h2>
                        <group>
                            <group>
                                <field name="status_cust_reason"/>
                            </group>
                            <group>
                                <!-- field name="create_date"/-->
                            </group>
                        </group>
                        <notebook>
                            <page string="Forms">
                                <field name="q_form">
                                    <form string="Quotation Forms" version="7.0">
                                        <header>
                                            <div>
                                                <button name="action_button_form_to_review" states="0" string="Send for Revision" class="oe_highlight" type="object"/>
                                                <button name="action_button_form_approve" states="1" string="Approve" class="oe_highlight" type="object"/> 
                                                <button name="action_button_form_reject" states="1" string="Reject" class="oe_highlight" type="object"/>
                                                <button name="action_button_form_to_review" states="3" string="Send for Revision again" class="oe_highlight" type="object"/> 
                                                <button name="action_button_form_cancel" states="3" string="Cancel" class="oe_highlight" type="object"/> 
                                                <field name="state" widget="statusbar" statusbar_colors='{"4":"red","3":"orange","2":"green"}'/>
                                            </div> 
                                        </header>
                                        <h2>
                                            <label string="Quotation Form Name "/>
                                            <field name="name" class="oe_inline"/>
                                        </h2>
                                        <group>
                                            <group>
                                                <field name="amount" on_change="on_change_quot_field_data(amount,speed,hard,setup_price,price_min,profit_rate,sales_com)" />
                                                <field name="speed" on_change="on_change_quot_field_data(amount,speed,hard,setup_price,price_min,profit_rate,sales_com)" />
                                                <field name="hard" on_change="on_change_quot_field_data(amount,speed,hard,setup_price,price_min,profit_rate,sales_com)" />
                                                <field name="setup_price" on_change="on_change_quot_field_data(amount,speed,hard,setup_price,price_min,profit_rate,sales_com)" />
                                                <field name="price_min" on_change="on_change_quot_field_data(amount,speed,hard,setup_price,price_min,profit_rate,sales_com)" />
                                                <field name="profit_rate" on_change="on_change_quot_field_data(amount,speed,hard,setup_price,price_min,profit_rate,sales_com)" />
                                                <field name="sales_com" on_change="on_change_quot_field_data(amount,speed,hard,setup_price,price_min,profit_rate,sales_com)" />                                        
                                            </group>
                                            <group>
                                                <field name="calc_speed"/>
                                                <field name="calc_cost"/>
                                                <field name="calc_profit"/>
                                                <field name="calc_salescom"/>
                                                <field name="calc_price"/>
                                                <field name="calc_revenue"/>
                                            </group>
                                        </group>
                                    </form>
                                    <tree string="Sales Order Lines">
                                        <field name="amount" style="align:left"/>
                                        <field name="calc_speed" style="align:left"/>
                                        <field name="calc_cost"/>
                                        <field name="calc_profit"/>
                                        <field name="calc_salescom"/>
                                        <field name="calc_price"/>
                                        <field name="calc_revenue"/>
                                        <field name="state"/>
                                    </tree>
                                </field>
                            </page>
                        </notebook>
                    </sheet>
                </form>
            </field>
        </record>

Avatar
Vazgeç
En İyi Yanıt

Might be very obvious, but did you also save form A? 

And if so: how did you make the tree view in form A? Perhaps you can post some code?

Avatar
Vazgeç
Üretici

I have copied the view. Sorry, but I don't know how to copy code here in a better way to make it easier to read.

That was my first thought too: You have to save the most outer object (in your case Form A)!

Üretici

Thanks. Yes, I saved. Still same error.

I can't see anything particularly wrong with that at first glance. Perhaps you can take a working example from an existing object that actually works (invoices come into mind) and base your view on that? Have you checked to see if the data on the database DOES change? What happens when you trigger an on_change on form B?

Üretici

For me, invoices has the same error. When I update quantity or price, amount and total aren't recalculated until I save.

Üretici

When I use an on_change function on form B, the information is updated in the form, but when I save, the functional fields aren't updated in the tree of form A. I need to save A, and then I can see the changes, but not before.

What you describe is the normal behaviour, Pau Ubach.

Üretici

Yes, I know, as it is how it happens in invoices, but being the normal behavior doesn't mean it is right behavior. In order of usability and machine-people interaction, the normal behavior should be as I describe.

Üretici

Yes, I know, as it is how it happens in invoices, but being the normal behavior doesn't mean it is right behavior. In order of usability and machine-people interaction, the normal behavior should be as I describe.

I'm afraid there is nothing more we can do. If you want to change this you will need to dig pretty deep into the OpenERP core. Good luck with that.

Üretici

Yes. It will be hard and I don't have time now for it, so we will have to live with it. Thanks very much for your support.

İlgili Gönderiler Cevaplar Görünümler Aktivite
3
May 20
7301
3
Nis 24
1601
2
Kas 18
13010
2
Mar 16
7346
1
Nis 15
4701