Skip to Content
Odoo Menu
  • Prihlásiť sa
  • Vyskúšajte zadarmo
  • Aplikácie
    Financie
    • Účtovníctvo
    • Fakturácia
    • Výdavky
    • Tabuľka (BI)
    • Dokumenty
    • Podpis
    Predaj
    • CRM
    • Predaj
    • POS Shop
    • POS Restaurant
    • Manažment odberu
    • Požičovňa
    Webstránky
    • Tvorca webstránok
    • eShop
    • Blog
    • Fórum
    • Živý chat
    • eLearning
    Supply Chain
    • Sklad
    • Výroba
    • Správa životného cyklu produktu
    • Nákup
    • Údržba
    • Manažment kvality
    Ľudské zdroje
    • Zamestnanci
    • Nábor zamestnancov
    • Voľné dni
    • Hodnotenia
    • Odporúčania
    • Vozový park
    Marketing
    • Marketing sociálnych sietí
    • Email marketing
    • SMS marketing
    • Eventy
    • Marketingová automatizácia
    • Prieskumy
    Služby
    • Projektové riadenie
    • Pracovné výkazy
    • Práca v teréne
    • Helpdesk
    • Plánovanie
    • Schôdzky
    Produktivita
    • Tímová komunikácia
    • Schvalovania
    • IoT
    • VoIP
    • Znalosti
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Priemyselné odvetvia
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Reštaurácia
    • Fast Food
    • Guest House
    • Beverage distributor
    • Hotel
    Reality
    • Real Estate Agency
    • Architecture Firm
    • Konštrukcia
    • Estate Managament
    • Gardening
    • Property Owner Association
    Poradenstvo
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Výroba
    • Textile
    • Metal
    • Furnitures
    • Jedlo
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware and Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Iní
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Komunita
    Vzdelávanie
    • Tutoriály
    • Dokumentácia
    • Certifikácie
    • Školenie
    • Blog
    • Podcast
    Empower Education
    • Vzdelávací program
    • Scale Up! Business Game
    • Visit Odoo
    Softvér
    • Stiahnuť
    • Porovnanie Community a Enterprise vierzie
    • Releases
    Spolupráca
    • Github
    • Fórum
    • Eventy
    • Preklady
    • Staň sa partnerom
    • Services for Partners
    • Register your Accounting Firm
    Služby
    • Nájdite partnera
    • Nájdite účtovníka
    • Meet an advisor
    • Implementation Services
    • Zákaznícke referencie
    • Podpora
    • Upgrades
    ​Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +1 (650) 691-3277
    Získajte demo
  • Cenník
  • Pomoc

Odoo is the world's easiest all-in-one management software.
It includes hundreds of business apps:

  • CRM
  • e-Commerce
  • Účtovníctvo
  • Sklady
  • PoS
  • Projektové riadenie
  • MRP
All apps
You need to be registered to interact with the community.
All Posts People Badges
Tagy (View all)
odoo accounting v14 pos v15
About this forum
You need to be registered to interact with the community.
All Posts People Badges
Tagy (View all)
odoo accounting v14 pos v15
About this forum
Pomoc

How to create an auto increment ID Number field in HR Employee?

Odoberať

Get notified when there's activity on this post

This question has been flagged
hremployee
7 Replies
26230 Zobrazenia
Avatar
Ken Kasai

How to create an auto increment ID Number field in HR Employee? So that everytime I create an employee, the id number of an employee will automatically increment + 1 in a custom field (readonly). anyone can help? thank you in advance.

0
Avatar
Zrušiť
Sehrish

hope this will helps: https://learnopenerp.blogspot.com/2020/08/generate-create-sequence-number-odoo.html

Avatar
ABU K
Best Answer

Hi create a custom module like below code .any issue

hr_custom.py file
==========================================================================================
class hr_employee(osv.osv):
    
 
    _inherit='hr.employee'

_columns={
    'emp_id':fields.char('Employee ID',readonly=True)
}

 

def create(self, cr, uid, vals, context=None):
           vals['emp_id'] = self.pool.get('ir.sequence').get(cr, uid, 'hr.employee')
           return super(hr_employee, self).create(cr, uid, vals, context=context)


_defaults={
                'emp_id': lambda obj, cr, uid, context: '/',
               
                
              }


====================================================================================
create xml view file

 

<record id="hr_form_inherited" model="ir.ui.view">
                <field name="name">hr new1</field>
                <field name="model">hr.employee</field>
                <field name="type">form</field>
                <field name="inherit_id" ref="hr.view_employee_form"/>
                <field name="arch" type="xml">
                    <xpath expr="/form/sheet/div/field[@name='category_ids']" position="after">
                        
                        <field name="emp_id" string="Employee ID" />
                    </xpath>


</record>
===========================================================================================


==========================================================================================

create a xml file like below and add this file name in openerp.py

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">
 
        <!-- Sequences for employee code -->
        <record id="seq__hr_code_inh1" model="ir.sequence.type">
            <field name="name">Employee ID</field>
            <field name="code">hr.employee</field>
        </record>
 
        <record id="seq_hr_code_inh2" model="ir.sequence">
            <field name="name">Employee ID </field>
            <field name="code">hr.employee</field>
            <field name="prefix">CU</field>
            <field name="padding">2</field>
             
        </record>
         
        
 
 
    </data>
</openerp>

=================================================================================================

0
Avatar
Zrušiť
klacus

We are working parallel :-) Nice job!

ABU K

Hi We can override the super class method once create a new record in hr.employee using super() .Same way we can access all the super class method when we use inherit or...

Avatar
Anil Kesariya
Best Answer

@Ken Kasai

This question is already asked some one.

Click Here   For more better solution.

Regards,

Anil.

2
Avatar
Zrušiť
Avatar
Marcus Baw
Best Answer

I looked all over and the only tutorial or explanation that was in any way helpful is this excellent YouTube video from Odoo Mates, which completely solved the problem of adding auto-incrementing behaviour to a field

https://www.youtube.com/watch?v=Cz5eM5FDmTE

0
Avatar
Zrušiť
Avatar
Umashankar Subramani
Best Answer

Hi LIBU Plz tell me what is the use of the super keyword, i am new to odoo....thanks in advance

0
Avatar
Zrušiť
Avatar
Mahesh P M
Best Answer


Just other flavor with out messing up with the code.

I used pgSQL Trigger For that..

I created 1 table(<table name> with only one column<column name> as of integer type and inserted 0 (count down start) to it as first row

on the sql window

i typed and executed

CREATE OR REPLACE FUNCTION process_emp_generate() RETURNS TRIGGER AS $emp_key$

DECLARE

ind_key integer;

BEGIN

SELECT <column name>

into ind_key

FROM <table name>;

IF (TG_OP = 'INSERT') THEN

UPDATE hr_employee SET <column name by which odoo stores employee id> = ind_key , identification_id = ind_key WHERE id = new.id;

update <table name> set <column name> = (select <column name>+1 from <table name>);

END IF;

RETURN NULL; -- result is ignored since this is an AFTER trigger

END;

$emp_key$ LANGUAGE plpgsql;

then

created a trigger event

CREATE TRIGGER emp_insert

AFTER INSERT ON hr_employee

FOR EACH ROW EXECUTE PROCEDURE process_emp_generate();


hope you solved the problem if other things are not working

0
Avatar
Zrušiť
Avatar
klacus
Best Answer

You have to inherit the hr.employee object. create the new modul put the folder a new file>> hr_employee.py

class hr_employee(osv.osv):

    _name = 'hr.employee'
    _inherit = 'hr.employee'

    _columns = {
                'name_id':fields.char('HR code',size=8,required=True),

}

    _defaults = {
                 'name_id': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'hr_id.code'),
                 }

hr_employee()

You have to create an xml file what is define the sequence:

<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data noupdate="1">

        <record id="seq_type_hr_code" model="ir.sequence.type">
            <field name="name">HR Seq</field>
            <field name="code">hr_id.code</field>
        </record>

        <record id="seq_hr_code" model="ir.sequence">
            <field name="name">HR Seq</field>
            <field name="code">hr_id.code</field>
            <field name="prefix">HRE_</field>
            <field name="padding">4</field>
            <field name="company_id" eval="False"/>
        </record>

    </data>
</openerp>

After that you have to inherit hr_employe.xml, in form. like:

 <record id="view_employee_form" model="ir.ui.view">
            <field name="name">hr.employee.form.csysc.inherit</field>
            <field name="model">hr.employee</field>
            <field name="type">form</field>
              <field name="inherit_id" ref="hr.view_employee_form"/>              
            <field name="arch" type="xml">           
                    <field name="birthday" position="after">
                        <field name="name_id" readonly='1'/>   

                        </field>

            </field>
 </record>

put the py in the import section for ___init___.py file, and put the xml (inherit and sequence into the __openerp__.py according the rule of the inheriting

https://doc.odoo.com/v6.0/developer/2_5_Objects_Fields_Methods/object_inherit.html/

)

Hope this helps.

0
Avatar
Zrušiť
Avatar
Ken Kasai
Autor Best Answer

thank you!

0
Avatar
Zrušiť
Enjoying the discussion? Don't just read, join in!

Create an account today to enjoy exclusive features and engage with our awesome community!

Registrácia
Related Posts Replies Zobrazenia Aktivita
I want create menu that show list of employee birthday in current month. Solved
hr employee
Avatar
Avatar
Avatar
Avatar
Avatar
11
jan 19
10874
Employee Resume - Department Changes (V17)
hr employee department
Avatar
Avatar
1
jún 24
2429
[Odoo 16] How to end collaboration with / separate / offboard an employee Solved
hr employee quickstart
Avatar
1
dec 22
5134
How can I create Employee Code in a sequence field Solved
v6.1 hr employee
Avatar
Avatar
Avatar
Avatar
14
aug 20
33072
How to manage employee training ?
hr employee training
Avatar
Avatar
Avatar
3
feb 19
10956
Komunita
  • Tutoriály
  • Dokumentácia
  • Fórum
Open Source
  • Stiahnuť
  • Github
  • Runbot
  • Preklady
Služby
  • Odoo.sh hosting
  • Podpora
  • Vyššia verzia
  • Custom Developments
  • Vzdelávanie
  • Nájdite účtovníka
  • Nájdite partnera
  • Staň sa partnerom
O nás
  • Naša spoločnosť
  • Majetok značky
  • Kontaktujte nás
  • Pracovné ponuky
  • Eventy
  • Podcast
  • Blog
  • Zákazníci
  • Právne dokumenty • Súkromie
  • Bezpečnosť
الْعَرَبيّة Català 简体中文 繁體中文 (台灣) Čeština Dansk Nederlands English Suomi Français Deutsch हिंदी Bahasa Indonesia Italiano 日本語 한국어 (KR) Lietuvių kalba Język polski Português (BR) română русский язык Slovenský jazyk slovenščina Español (América Latina) Español ภาษาไทย Türkçe українська Tiếng Việt

Odoo je sada podnikových aplikácií s otvoreným zdrojovým kódom, ktoré pokrývajú všetky potreby vašej spoločnosti: CRM, e-shop, účtovníctvo, skladové hospodárstvo, miesto predaja, projektový manažment atď.

Odoo prináša vysokú pridanú hodnotu v jednoduchom použití a súčasne plne integrovanými biznis aplikáciami.

Website made with

Odoo Experience on YouTube

1. Use the live chat to ask your questions.
2. The operator answers within a few minutes.

Live support on Youtube
Watch now