Johdanto
Odoossa mallit määrittelevät, kuinka tiedot on jäsennelty ja tallennettu tietokantaan. Jokainen liiketoimintatieto, jonka kanssa työskentelet, myyntitilauksista projekteihin ja tehtäviin, elää mallissa.
Odoo-mallien ymmärtäminen on olennaista sekä kehittäjille että toiminnallisille konsultteille. Mallit ovat Odoo-tietorakenteen perusta. Ne määrittelevät Odoo-kentät, suhteet ja liiketoimintalogiikan. Jokainen Odoo-malli seuraa samoja kaavoja.
Tässä artikkelissa keskitytään yhteen Odoon tärkeimmistä malleista: project.project. Olitpa sitten rakentamassa mukautettuja moduuleja, integroimassa ulkoisia järjestelmiä tai konfiguroimassa projektityönkulkuja, tulet työskentelemään tämän mallin kanssa.
Mikä on project.project-malli
project.project-malli edustaa projektia Odoossa. Se on säiliö tehtäville, virstanpylväille ja tiimiyhteistyölle. Jokainen projekti on tietue tässä mallissa.
Tätä mallia Odoossa käyttää Project-sovellus. Kun luot projektin Odoossa, luot project.project-tietueen. Tehtävät linkitetään kyseiseen projektiin task_ids-kentän kautta. Projekti määrittelee työnkulun vaiheet, tiimin jäsenet ja näkyvyys säännöt.
Malli on määritelty projektimoduulissa. Muut moduulit laajentavat sitä Odoo-mallin perinnön kautta. Myynti lisää projektipohjaisen laskutuksen. Työaikakirjanpito lisää aikaseurannan. Projektisuunnittelu lisää Gantt-aikataulutuksen. Jokainen moduuli lisää mitä tarvitsee ilman, että ydinarkkitehtävää toistetaan.
Ymmärtäminen project.projectin ja project.taskin välisestä suhteesta on avainasemassa. Projekti pitää sisällään yhteiset asetukset. Tehtävä pitää sisällään yksittäiset työtehtävät. Molemmat ovat keskeisiä Odoo-projektinhallintatyönkulussa.
Mallin avainkentät
Tässä ovat tärkeimmät Odoo-kentät project.project-mallissa. Näiden ymmärtäminen auttaa sinua työskentelemään tehokkaasti projektien parissa.
1. nimi
Tyyppi: Char. Tämä kenttä tallentaa projektin nimen. Se näkyy monissa Odoo-näkymissä ja on projektitietueen ensisijainen tunniste.
2. luontipäivämäärä
Tyyppi: Datetime. Tallentaa päivämäärän ja ajan, jolloin tietue luotiin. Odoo hallinnoi automaattisesti. Hyödyllinen raportointia ja tarkastamista varten.
3. muokkauspäivämäärä
Tyyppi: Datetime. Tallentaa viimeisen muokkauksen päivämäärän ja ajan. Myös hallinnoitu automaattisesti. Auttaa seuraamaan, milloin tietoja viimeksi päivitettiin.
4. aktiivinen
Tyyppi: Boolean. Pehmeä poistoflagi. Kun arvo on False, projekti arkistoidaan ja se piilotetaan oletusnäkymistä. Tietueita ei poisteta fyysisesti.
5. järjestysnumero
Tyyppi: Integer. Näyttöjärjestys lajittelua varten. Käytetään projektiluetteloissa ja avattavissa valikoissa. Pienemmät arvot näkyvät ensin.
6. väri
Tyyppi: Integer. Väriindeksi projektille. Käytetään näkymissä ja kanban-tauluissa projektien visuaaliseksi erottamiseksi.
7. käyttäjä_id
Tyyppi: Many2one (res.users). Projektipäällikkö. Tämä käyttäjä on vastuussa projektista ja hänet näytetään usein oletusmääräyksenä.
8. yritys_id
Tyyppi: Many2one (res.company). Moniyritysympäristöissä tämä osoittaa, mihin Odoo-yritykseen projekti kuuluu.
9. kumppani_id
Tyyppi: Many2one (res.partner). Asiakas tai asiakas, joka on linkitetty projektiin. Käytetään laskutuksessa ja raportoinnissa.
10. kuvaus
Tyyppi: Html. Projektin kuvaus. Voidaan sisältää HTML-muotoilua. Käytetään projektin tiivistelmiin ja muistiinpanoihin.
11. aloituspäivämäärä
Tyyppi: Päivämäärä. Projektin aloituspäivämäärä. Käytetään suunnittelussa ja raportoinnissa.
12. päivämäärä
Tyyppi: Päivämäärä. Projektin määräaika tai päättymispäivämäärä. Käytetään seurannassa ja raportoinnissa.
13. tehtävä_ids
Tyyppi: One2many (project.task). Luettelo projektin tehtävistä. Tämä on pääsuhde projektien ja tehtävien välillä.
14. tehtävä_lukumäärä
Tyyppi: Kokonaisluku. Tehtävien määrä. Lasketaan tehtävä_ids:stä. Käytetään näyttämiseen ja suodattamiseen.
15. tyyppi_ids
Tyyppi: Many2many (project.task.type). Projektin tehtävävaiheet tai -tyypit. Määrittelee työnkulun (esim. Tehtävä, Käynnissä, Valmis).
16. tag_ids
Tyyppi: Many2many (project.tags). Projektin tunnisteet luokittelua varten. Käytetään projektien suodattamiseen ja järjestämiseen.
17. yksityisyys_näkyvyys
Tyyppi: Valinta. Hallitsee, kuka voi käyttää projektia. Vaihtoehdot: Kutsutut sisäiset käyttäjät (yksityinen), Kaikki sisäiset käyttäjät tai Kutsutut portaali käyttäjät ja kaikki sisäiset käyttäjät (julkinen).
18. yhteistyökumppani_ids
Tyyppi: One2many (project.collaborator). Tiimin jäsenet, jotka on määrätty projektiin. Määrittelee, kuka voi työskennellä projektin parissa.
19. suosikki_käyttäjä_ids
Tyyppi: Many2many (res.users). Käyttäjät, jotka ovat merkinneet projektin suosikiksi. Käytetään nopeaa pääsyä varten hallintapaneelissa.
20. salli_tehtäväriippuvuudet
Tyyppi: Boolean. Kun tosi, tehtävät voidaan liittää toisiin tehtäviin edeltäjinä tai seuraajina. Käytetään projektin suunnittelussa.
21. salli_virstanpylväät
Tyyppi: Boolean. Kun tosi, virstanpylväitä voidaan luoda projektiin. Virstanpylväät merkitsevät keskeisiä toimituksia.
22. virstanpylväs_ids
Tyyppi: One2many (project.milestone). Virstanpylväät projektissa. Käytetään keskeisten toimitusten seuraamiseen.
23. arviointi_aktiivinen
Tyyppi: Boolean. Kun tosi, asiakkaat voivat arvioida projektin. Käytetään asiakaspalautteeseen.
24. tehtäväominaisuudet_määrittely
Tyyppi: Teksti (JSON). Mukautetut tehtäväominaisuudet projektille. Määrittelee lisäkentät, jotka voidaan lisätä tehtäviin.
25. pääsy_url
Tyyppi: Char. URL-osoite, jonka kautta asiakkaat voivat käyttää projektia portaalin kautta. Käytetään asiakasyhteistyöhön.
26. pääsy_token
Tyyppi: Char. Turvatunnus portaalin käyttöön. Varmistaa, että vain valtuutetut käyttäjät voivat nähdä projektin.
27. alias_id
Tyyppi: Many2one (mail.alias). Sähköpostialias projektille. Saapuvat sähköpostit luovat tehtäviä automaattisesti.
28. aktiviteetti_ids
Tyyppi: One2many (mail.activity). Suunnitellut aktiviteetit projektiin. Käytetään seurantaan ja muistutuksiin.
29. activity_state
Tyyppi: Valinta. Aktiviteetin tilan yhteenveto: Tänään, Myöhässä tai Suunniteltu. Lasketaan activity_ids:stä.
30. activity_date_deadline
Tyyppi: Päivämäärä. Seuraavan suunnitellun aktiviteetin päivämäärä. Käytetään aktiviteettien suunnittelussa.
31. message_ids
Tyyppi: One2many (mail.message). Chatter-viestit projektiin. Käytetään sisäiseen viestintään.
32. message_follower_ids
Tyyppi: One2many (mail.followers). Käyttäjät, jotka seuraavat projektia. He saavat ilmoituksia.
33. create_uid
Tyyppi: Many2one (res.users). Käyttäjä, joka loi tietueen. Asetetaan automaattisesti Odoon toimesta.
34. write_uid
Tyyppi: Many2one (res.users). Käyttäjä, joka viimeksi muokkasi tietuetta. Asetetaan automaattisesti Odoon toimesta.
Kuinka tätä mallia käytetään liiketoimintaprosesseissa
1. Projektin luominen ja hallinta
Kun myyntihenkilö tai projektipäällikkö luo projektin, he määrittävät nimen, johtajan, päivämäärät ja näkyvyyden. project.project-malli tallentaa kaiken tämän. Tehtävät lisätään ja linkitetään projektiin.
2. Tehtävätyönkulku
Tehtävät liikkuvat vaiheiden läpi, jotka on määritelty type_ids:llä. Projektipäällikkö määrittää tehtävät yhteistyökumppaneille. Projekti sisältää työnkulun konfiguraation ja tiimirakenteen.
3. Asiakasportaalin
Kun privacy_visibility sallii portaaliin pääsyn, asiakkaat voivat tarkastella tehtäviä ja virstanpylväitä access_url:n kautta. access_token turvataan linkki. Tämä on hyödyllistä asiakasprojekteissa.
4. Työaikakirjanpito ja laskutus
Työaikakirjanpito-moduulin avulla project.project linkittää työaikakirjaukset. Myynnin kanssa projektit voidaan liittää myyntitilauksiin projektipohjaista laskutusta varten. partner_id-kenttä yhdistää projektin asiakkaaseen.
5. Sähköpostintegraatio
Saapuvat sähköpostit projektin aliasiin luovat tehtäviä automaattisesti. alias_id-kenttä yhdistää projektin sen sähköpostialiasiin. Tämä tehostaa tehtävien luomista sähköpostien kautta.
Kuinka kehittäjät laajentavat tätä mallia
Kehittäjät laajentavat project.project:ta useiden mallien avulla. Odoon malli-inheirtanssi on päämekanismi.
Malliperintä
Käytä _inherit = 'project.project' laajentaaksesi mallia. Tämä on Odoo-malliperinnän toimintaa. Lisää uusia Odoo-kenttiä, ylikirjoita metodeja tai lisää rajoitteita. Odoossa peritty malli pitää muutoksesi erillisessä moduulissa helppoa päivitystä varten. Kun perit mallin Odoossa, laajennat sitä ilman, että muokkaat alkuperäistä.
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 moniyritysympäristössä.
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. Monimutkaisempaa logiikkaa tai päivityksiä varten mukautetut moduulit ovat helpommin ylläpidettäviä.
Parhaat käytännöt
- Aseta user_id projektipäällikön määrittämiseksi. Selkeä omistajuus parantaa vastuullisuutta.
- Määritä type_ids jokaiselle projektille. Määritä vaiheet, jotka vastaavat työnkulkuasi.
- Käytä privacy_visibility oikein. Yksityiset projektit rajoittavat pääsyä seuraajille ja ylläpitäjille.
- Kun rakennat API-integraatioita, käytä XML-RPC- tai JSON-RPC-APIa. project.project-malli on täysin altistettu API-mallina Odoossa. Kartoitus ulkoisille ID:ille on tehtävä huolellisesti.
- Mukautettujen kenttien osalta käytä
x_-etuliitettä tai moduulin etuliitettä välttääksesi ristiriidat tulevien Odoo-versioiden kanssa.
Yleiset virheet
- Tehtävien luominen ilman, että ne on linkitetty projektiin. Jokaisella tehtävällä on oltava project_id.
- Tyypin type_ids asettamisen unohtaminen. Uusilla projekteilla ei välttämättä ole vaiheita, joten tehtävät eivät voi siirtyä työnkulun läpi.
- Asettaminen privacy_visibility julkiseksi, kun sen pitäisi olla yksityinen. Tämä voi altistaa arkaluonteisia tietoja.
- Ydinmenetelmien ylikirjoittaminen ilman super(). Tämä voi rikkoa muita moduuleja tai tulevia päivityksiä.
- Pakollisten mukautettujen kenttien lisääminen ilman oletusarvoja. Olemassa olevat tiedot epäonnistuvat validoinnissa päivityksen yhteydessä.
Yhteenveto
project.project-malli on keskeinen Odoo-projektinhallinnassa. Se tallentaa projektin määritelmät, työnkulun vaiheet ja tiimirakenteen. Sen kenttien ymmärtäminen ja se, miten moduulit laajentavat sitä, auttaa sinua konfiguroimaan, mukauttamaan ja integroimaan Odoo tehokkaasti.
Olitpa sitten toiminnallinen konsultti, joka asettaa projekteja, tai kehittäjä, joka rakentaa mukautettuja moduuleja, vankka ymmärrys project.projectista 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 project.project.
Jos tarvitset apua Odoo-toteutuksessasi, mukautetuissa moduuleissa tai integraatioissa, olemme täällä auttamassa. Varaa esittely keskustellaksesi projektistasi.