Siirry sisältöön
Menu
Sinun on rekisteröidyttävä, jotta voit olla vuorovaikutuksessa yhteisön kanssa.
Tämä kysymys on merkitty
4 Vastaukset
8732 Näkymät

Hi

How can i add a custom field in account.invoice

N.B: there is no _columns in account.invoice

Avatar
Hylkää
Paras vastaus

Hi Mohammed Roshan,

        In the V8, account.invoce is migrated in new api.

So, here you can see _columns is not present but you can inherite it both way.

By new api or as per Vasanth discribe.

Hope this will help.....

Avatar
Hylkää

Well Done Jusab.... Ur 1st answer is great!!! Welcome to odoo help forum...

My pleasure :)

Paras vastaus

In V8, you don't need to provide _columns={}. Go through this for clear description.

Base:
class account_invoice(models.Model):
    _name = 'account.invoice'
    name = fields.Char(string='Reference/Description') #Base field

Your module:
class account_invoice(models.Model):
    _inherit = 'account.invoice'
    description = fields.Char(string='Your Description') #Inherited Field

Avatar
Hylkää
Paras vastaus

Hi Mohammed,

you can add the custom field by using inheritance.By inheritance you can add or remove or update any columns in the table.

for example:

 

In the .py file:

class account_invoice(orm.Model):
    _inherit="account.invoice"
    _columns={
            'your_field':fields.char('New Field')
}

 

in the xml view:

        <record id="account_invoice_form_inherit" model="ir.ui.view">
            <field name="name">account.invoice.form.example</field>
            <field name="model">account.invoice</field>
            <field name="inherit_id" ref="account.invoice_form"/>
                <field name="date_invoice" position="after">

                     <field name="your_field" />
                </field>
            </field>
        </record>

Avatar
Hylkää
Tekijä

Hi Vasanth i tried the above method, its not the way to accomplish it in account.invoice. if you go through the account_invoice, you will find there is no _columns present and "( _columns={ 'your_field':fields.char('New Field') }) " this method is not followed in it. its something else anyways thanks for your answer

In v8,we dont need _columns.we can inherit by using _inherit="account.invoice" and add new fields in the _columns

Tekijä Paras vastaus

Hi Vasanth

i tried the above method, its not the way to accomplish it in account.invoice.

if you go through the account_invoice, you will find there is no _columns present and

"( _columns={
            'your_field':fields.char('New Field')
}) "
  

this method is not followed in it.

its something else

anyways thanks for your answer

 

Avatar
Hylkää