Johdanto
Odoossa mallit määrittelevät, kuinka tiedot on jäsennelty ja tallennettu tietokantaan. Jokainen liiketoimintatieto, jonka kanssa työskentelet, myyntitilauksista laskuihin ja työntekijöihin, elää mallissa.
Odoo-mallien ymmärtäminen on välttämätöntä sekä kehittäjille että toiminnallisille konsultteille. Mallit ovat Odoo-tietorakenteen perusta. Ne määrittelevät kentät, suhteet ja liiketoimintalogiikan.
Tässä artikkelissa keskitytään yhteen HR-moduulin ydinalle: hr.employee. Olitpa sitten rakentamassa mukautettuja HR-työnkulkuja, integroimassa palkkajärjestelmiä tai konfiguroimassa läsnäoloa ja lomaa, tulet työskentelemään tämän mallin kanssa.
Mikä on hr.employee-malli
hr.employee-malli edustaa työntekijöitä Odoossa. Se on keskeinen paikka, johon kaikki henkilöstötiedot tallennetaan.
Tämä Odoo-malli on osa HR (Henkilöstöhallinta) -sovellusta. Sitä käytetään läsnäolossa, lomissa, sopimuksissa, palkoissa ja työtunneissa.
Se asennetaan, kun otat käyttöön Työntekijät-sovelluksen. Muut moduulit laajentavat sitä Odoo-malliperinnön kautta. hr_contract lisää sopimuskenttiä. hr_attendance lisää sisään- ja uloskirjautumisen. hr_leave lisää vapaat. Jokainen moduuli lisää tarvitsemansa ilman, että ydinarvoja kopioidaan.
Odoo tarjoaa myös hr.employee.publicin, rajoitetun näkymän samoista tiedoista käyttäjille, jotka tarvitsevat rajallista näkyvyyttä työntekijöihin. Tämä on esimerkki siitä, kuinka Odoo käyttää abstrakteja mallimalleja ja malliperintöä pääsyn hallitsemiseksi.
Mallin avainkentät
Tässä ovat tärkeimmät Odoo-kentät hr.employee-mallissa. Näiden ymmärtäminen auttaa sinua työskentelemään tehokkaasti työntekijätietojen kanssa.
1. nimi
Tyyppi: Char. Tämä kenttä tallentaa työntekijän nimen. Sitä näytetään tyypillisesti monissa Odoo-näkymissä ja se on työntekijätietueen ensisijainen tunniste.
2. luontipäivämäärä
Tyyppi: Datetime. Tallentaa päivämäärän ja ajan, jolloin tietue luotiin. Odoo hallitsee automaattisesti. Hyödyllinen raportointia ja tarkastuksia varten.
3. muokkauspäivämäärä
Tyyppi: Datetime. Tallentaa viimeisen muokkauksen päivämäärän ja ajan. Myös automaattisesti hallittu. Auttaa seuraamaan, milloin tietoja on viimeksi päivitetty.
4. aktiivinen
Tyyppi: Boolean. Pehmeä poistoflagi. Kun arvo on False, tietue arkistoidaan ja se piilotetaan oletusnäkymistä. Käytä tätä, kun työntekijä lähtee. Tietueita ei poisteta fyysisesti.
5. company_id
Tyyppi: Many2one (res.company). Moniyritysympäristöissä tämä osoittaa, mihin Odoo-yritykseen työntekijä kuuluu. Vaaditaan useimmille työntekijätietueille.
6. user_id
Tyyppi: Many2one (res.users). Linkittää työntekijän Odoo-käyttäjään. Kun se on asetettu, työntekijä voi kirjautua sisään ja käyttää Odoo:ta. Käytetään portaaliin pääsyyn, työaikakirjauksiin ja hyväksyntöihin.
7. work_email
Tyyppi: Char. Työn sähköpostiosoite. Käytetään sisäiseen viestintään ja ilmoituksiin.
8. work_phone
Tyyppi: Char. Työn puhelinnumero. Näytetään työntekijälomakkeissa ja käytetään yhteydenottotyönkulkuissa.
9. mobile_phone
Tyyppi: Char. Työn mobiilinumero. Käytetään usein tekstiviesteihin tai kiireellisiin ilmoituksiin.
10. department_id
Tyyppi: Many2one (hr.department). Osasto, johon työntekijä kuuluu. Käytetään organisaatiokaavioissa, raportoinnissa ja hyväksymisprosesseissa.
11. job_id
Tyyppi: Many2one (hr.job). Työtehtävä. Linkittää hr.job-malliin, joka määrittelee työtehtävät ja avoimet paikat.
12. job_title
Tyyppi: Char. Vapaa tekstimuotoinen työotsikko. Voidaan käyttää, kun job_id ei ole asetettu tai mukautettujen otsikoiden yhteydessä.
13. parent_id
Tyyppi: Many2one (hr.employee). Esimies. Mahdollistaa työntekijöiden hierarkian. Käytetään hyväksymisketjuissa ja organisaatiorakenteessa.
14. coach_id
Tyyppi: Many2one (hr.employee). Tämän työntekijän valmentaja. Käytetään suorituskyvyn ja kehityksen tukemiseen. Valmentajalla ei oletusarvoisesti ole erityisiä oikeuksia.
15. resource_id
Tyyppi: Many2one (resource.resource). Linkittää resurssimalliin. Käytetään aikataulutuksessa, kapasiteettisuunnittelussa ja kalenterintekijöissä.
16. work_contact_id
Tyyppi: Many2one (res.partner). Työyhteyshenkilö. Linkittää työssä käytettävän kumppanirekisterin viestintään ja asiakirjoihin.
17. address_id
Tyyppi: Many2one (res.partner). Työosoite. Linkittää res.partner-rekisterin toimistolle tai työpaikalle.
18. address_home_id
Tyyppi: Many2one (res.partner). Yksityinen osoite. Työntekijän kotiosoite, ei toimisto. Käytetään palkanlaskennassa ja hätäyhteyksissä.
19. resource_calendar_id
Tyyppi: Many2one (resource.calendar). Työaikataulu. Määrittelee työajat ja -päivät. Käytetään läsnäolossa, lomissa ja suunnittelussa.
20. employee_type
Tyyppi: Valinta. Työntekijätyyppi: Työntekijä, Freelancer tai Harjoittelija. Pakollinen. Vaikuttaa työsopimushistoriaan: vain Työntekijätyypin oletetaan olevan sopimuksessa.
21. barcode
Tyyppi: Char. Tunniste-ID. Käytetään työntekijän tunnistamiseen läsnäolokioskissa ja muissa viivakoodin skannauksissa.
22. pin
Tyyppi: Char. PIN, jota käytetään sisään- ja uloskirjautumiseen Attendance-sovelluksen Kiosk-tilassa. Käytetään myös kassanhoitajan vaihtamiseen myyntipisteessä.
23. syntymäpäivä
Tyyppi: Päivämäärä. Syntymäaika. Käytetään HR-tiedoissa ja valinnaisissa syntymäpäivämuistutuksissa.
24. henkilötunnus
Tyyppi: Char. Kansallinen henkilötunnus. Käytetään HR- ja palkkahallinnan vaatimusten täyttämiseen.
25. passin numero
Tyyppi: Char. Passinumero. Käytetään matkustamisen ja työlupien seurannassa.
26. pankkitili_id
Tyyppi: Many2one (res.partner.bank). Työntekijän pankkitili palkkojen maksamista varten.
27. henkilökohtainen_sähköposti
Tyyppi: Char. Työntekijän henkilökohtainen sähköposti. Käytetään, kun työ sähköposti ei ole saatavilla.
28. puhelin
Tyyppi: Char. Yksityinen puhelinnumero. Eri kuin työyhteystiedot.
29. contract_id
Tyyppi: Many2one (hr.contract). Nykyinen sopimus. Viittaus aktiiviseen sopimukseen.
30. contract_ids
Tyyppi: One2many (hr.contract). Kaikki sopimukset, jotka liittyvät tähän työntekijään. Sopimushistoria.
31. image_1920
Tyyppi: Binary. Työntekijän valokuva tai avatar. Odoo tallentaa useita kokoja. Käytetään lomakkeissa, raporteissa ja hakemistossa.
32. related_partner_id
Tyyppi: Many2one (res.partner). Yhteystieto, joka liittyy tähän työntekijään. Yhdistää työntekijätiedot kumppanimalliin CRM:ssä ja muissa moduuleissa.
33. leave_manager_id
Tyyppi: Many2one (res.users). Käyttäjä, joka on vastuussa vapaan hyväksymisestä. Jos tyhjää, hyväksyntä menee järjestelmänvalvojalle tai hyväksyjälle.
34. expense_manager_id
Tyyppi: Many2one (res.users). Käyttäjä, joka on vastuussa kulujen hyväksymisestä. Jos tyhjää, hyväksyntä menee ylläpitäjälle tai hyväksyjälle.
35. timesheet_manager_id
Tyyppi: Many2one (res.users). Käyttäjä, joka on vastuussa työtuntien hyväksymisestä. Jos tyhjää, hyväksyntä menee työtuntien ylläpitäjälle tai käyttäjälle.
Kuinka tätä mallia käytetään liiketoimintaprosesseissa
1. Työntekijäluettelo ja perehdytys
Kun HR luo uuden työntekijän, he täyttävät hr.employee-tietueen. Nimi, osasto, työtehtävä, esimies ja yhteystiedot. user_id-linkki asetetaan, kun työntekijä saa Odoo-pääsyn.
2. Läsnäolo ja ajanseuranta
Työntekijät kirjautuvat sisään ja ulos Läsnäolo-sovelluksen kautta. Kirjautumis- ja uloskirjautumisaika tallennetaan hr.attendance-tietueeseen, joka on linkitetty hr.employee:hen. Viivakoodi- ja PIN-kentät mahdollistavat kioskimuodon.
3. Vapaa ja loma
Lomapyyntöihin viitataan työntekijään. leave_manager_id ja resource_calendar_id määrittävät, kuka hyväksyy ja kuinka monta päivää myönnetään.
4. Palkka ja sopimukset
Palkka käyttää hr.employee-tietuetta palkkarakenteeseen, pankkitiliin ja sopimustietoihin. contract_id linkittää nykyiseen sopimukseen. contract_ids sisältää koko historian.
5. Työtunnit ja projektijako
Kun työntekijät kirjaavat aikaa projekteihin, aikataululinkki viittaa hr.employee:hen. Aikataulunhallintatunnus ohjaa hyväksyntää. Resource_id linkittää suunnittelu- ja aikataulutustyökaluihin.
Kuinka kehittäjät laajentavat tätä mallia
Kehittäjät laajentavat hr.employee-mallia useilla malleilla. Odoo-malliperintä on päämekanismi.
Malliperintä
Käytä _inherit = 'hr.employee' laajentaaksesi mallia. Lisää uusia kenttiä, ylikirjoita metodeja tai lisää rajoituksia. Odoon perintömalli pitää muutoksesi erillisessä moduulissa helppoja päivityksiä varten.
Kenttien lisääminen
Määritä uusia Odoo-kenttiä perityssä mallissasi. Käytä oikeaa kenttätyyppiä: Char, Many2one, Boolean, Integer, Text, Selection. Ota huomioon yritysriippuvaiset kentät moniyrityksille.
Python-laajennukset
Ylikirjoita create, write tai unlink lisätäksesi logiikkaa. Käytä super() kutsuaksesi alkuperäistä. Ole varovainen lasketuissa kentissä ja niiden riippuvuuksissa.
Odoo Studio
Odoo Studio antaa sinun lisätä kenttiä ilman koodia. Hyvä nopeisiin mukautuksiin. Monimutkaisille logiikoille tai päivityksille mukautetut moduulit ovat helpommin ylläpidettäviä.
Parhaat käytännöt
- Aseta user_id vain silloin, kun työntekijä tarvitsee Odoo-käyttöoikeuden. Kaikkien työntekijöiden ei tarvitse olla käyttäjätiliä.
- Käytä parent_id-hierarkiaa oikein. Rakenna organisaatiorakenne ylhäältä alas.
- Aseta resource_calendar_id johdonmukaisia työaikoja ja lomaprosentteja varten.
- API-integraatioita rakennettaessa käytä XML-RPC- tai JSON-RPC-APIa. hr.employee-malli Odoossa on täysin avattu API-mallina. Kartoittele ulkoiset ID:t huolellisesti.
- Mukautetuissa kentissä käytä
x_-etuliitettä tai moduulin etuliitettä välttääksesi ristiriidat tulevien Odoo-versioiden kanssa. - Kenttiä, jotka on rajoitettu hr.group_hr_user -ryhmälle, ei tulisi esiladata käyttäjille, joilla ei ole HR-pääsyä. Käytä ryhmiä kenttämäärityksissä.
Yleiset virheet
- Luodaan kaksoistyöntekijätietueita sen sijaan, että etsitään olemassa olevia. Käytä work_email- tai identification_id-tietoja deduplikointiin.
- Sekoitus user_id:n ja related_partner_id:n välillä. user_id on Odoo-kirjautumista varten. related_partner_id on kontaktitietue.
- Unohtaminen asettaa employee_type. Se on pakollinen ja vaikuttaa sopimuskäyttäytymiseen.
- Ylikirjoitetaan ydinmenetelmiä kutsumatta super(). Tämä voi rikkoa muita moduuleja tai tulevia päivityksiä.
- Lisätään pakollisia mukautettuja kenttiä ilman oletusarvoja. Olemassa olevat tietueet epäonnistuvat vahvistuksessa päivityksen yhteydessä.
- Altistetaan herkkiä HR-kenttiä käyttäjille, joilla ei ole hr.group_hr_user -ryhmää. Käytä ryhmiä kentissä, jotka sisältävät yksityisiä tietoja.
Yhteenveto
hr.employee-malli on keskeinen Odoo HR:ssä. Se tallentaa työntekijätietoja, linkittää sopimuksiin, läsnäoloon ja lomaan. Ymmärtäminen sen kentistä ja siitä, miten moduulit laajentavat sitä, auttaa sinua konfiguroimaan, mukauttamaan ja integroimaan Odoo tehokkaasti.
Olitpa sitten toiminnallinen konsultti, joka kartoittaa HR-prosesseja, tai kehittäjä, joka rakentaa mukautettuja moduuleja, vahva ymmärrys hr.employee:sta säästää aikaa ja estää virheitä.
Tarvitsetko apua Odoo-toteutuksessasi?
Dasolo auttaa yrityksiä toteuttamaan, mukauttamaan ja optimoimaan Odoo:ta. Erikoisalaamme ovat API-integraatiot ja Odoo-kehitys. Tiimillämme on syvällistä kokemusta Odoo:n tietorakenteesta ja malleista, kuten hr.employee.
Jos tarvitset apua Odoo-toteutuksessasi, räätälöidyissä HR-moduuleissa tai integraatioissa, olemme täällä auttamassa. Varaa esittely keskustellaksesi projektistasi.