This question has been flagged
6 Replies
10278 Views

Hello everyone , i created a module to inherit from the Sale module , the field i changed appers just fine on the interface here is my module :

ventes.py

from osv import fields,osv
import time
from datetime import datetime
from tools.translate import _


class ventes(osv.osv):


    _inherit='sale.order'
    _columns = {
      'prenom': fields.many2one('patient','Patient', required=True),


    }
ventes()

ventes_view.xml

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
    <record model="ir.ui.view" id="view_sales_inherit">
        <field name="name">sale.order.form.inherit</field>
        <field name="model">sale.order</field>
        <field name="type">form</field>
        <field name="inherit_id" ref="sale.view_order_form">form</field>
        <field name="arch" type="xml">

            <field name="name" position="after">
                    <label for="prenom" class="oe_edit_only"/>
                       <h1>
                        <field name="prenom"/>
                       </h1>
            </field>

            <field name="partner_id" position="replace"/>


        </field>
    </record>   
 </data>
</openerp>

the problem is when i create a sale order , in the place of the client names i get the patients name ( witch is what i was looking for ) but the problem is when i want to add a product to that sale order i get the following error:

Error: Could not get field with name 'parent.partner_id' for onchange 'product_uom_change(parent.pricelist_id,product_id,product_uom_qty,product_uom,product_uos_qty,product_uos,name,parent.partner_id, False, False, parent.date_order, context)'

Plz help me, i dont know how to make it work with my patient's id and not the partner_id ??!!

Avatar
Discard
Best Answer

Hi ,

The Error you got said that the view cannot find the parent.partner_id , and i saw in your view xml that there is a

  <field name="partner_id" position="replace"/>

which may be the cause of the partner_id been replaced , you can remove this line if you do not need it.

Avatar
Discard
Best Answer

Agree with kalmenchia.

Error is because you are <field name="partner_id" position="replace"/> replacing partner_id and this field is used in onchange.

If you don't want to show this field then you can hide it rather than replacing.

Like this:

<field name="partner_id" position="attributes">
    <attribute name="invisible">True</attribute>
    <attribute name="required">False</attribute>
</field>
Avatar
Discard
Author

Hello , i just made those changes and now when i want to attribute a product to my sale order i get the following error : No customer defined!

Before choosing an article, select a client in the form of sale.

Yes, It is must that you need to define Customer.

Author

actually i dont need the costumer field at all , i've got another module where i manage my patients (in my case they are the costumers ) , do have any idea how i can make this thing work ??

Best Answer

I want inherit customer fracture view from accounting model to another custom module!but it doesn't work!!can anybody help me please!this is my code:

from openerp.osv import fields, osv

class dimo_dimo(osv.osv):

_name = 'dimo.dimo'

_inherit = 'account.invoice.line'

dimo_dimo()

_____________________________

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

<field name="name">account.invoice.tree.inherit</field>

<field name="model">account.invoice</field>

<field name="type">tree</field>

<field name="inherit_id" ref="account.invoice_tree"/>

</record>

Avatar
Discard