Siirry sisältöön

Odoon Tuotemallin Ymmärtäminen: Tuotevarianttiarkkitehtuuri

Täydellinen opas Odoon tuotevarianttimalliin kehittäjille ja toiminnallisille konsultteille
10. maaliskuuta 2026 kirjoittanut
Odoon Tuotemallin Ymmärtäminen: Tuotevarianttiarkkitehtuuri
Dasolo
| Ei vielä kommentteja

Johdanto


Odoossa mallit määrittelevät, kuinka tiedot on jäsennelty ja tallennettu tietokantaan. Jokainen liiketoimintatieto, jonka kanssa työskentelet, myyntitilauksista varastoon ja tuotteisiin, 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.


Tässä artikkelissa keskitytään yhteen Odoon tärkeimmistä malleista: product.product. Olitpa sitten rakentamassa mukautettuja moduuleja, integroimassa ulkoisia järjestelmiä tai konfiguroimassa tuotekatalogeja, tulet työskentelemään tämän mallin kanssa.

Mikä on tuote.product-malli


Tuote.product-malli edustaa Odoo:ssa todellisia tuotevariantteja. Nämä ovat konkreettisia, myytäviä ja ostettavia tuotteita, jotka näkyvät myyntitilauksissa, ostotilauksissa ja varastosiirroissa.


Tämä malli Odoo:ssa poikkeaa product.template:sta. Malli sisältää jaettuja attribuutteja tuoteperheelle. Tuote.product-tiedot ovat erityisiä varianteista. Yksinkertaiselle tuotteelle, jolla ei ole varianteja, on yksi product.product per product.template. Konfiguroitaville tuotteille (esim. T-paita koossa ja värissä) jokainen yhdistelmä on erillinen product.product.


Malli on määritelty tuotemoduulissa (tuote). Myynti, osto, varasto ja verkkokauppa viittaavat kaikki product.product:iin. Kun lisäät rivin tarjouspyyntöön tai vastaanotat varastoa, työskentelet product.product-tietueiden kanssa.


product.product käyttää delegointiperintöä product.template:sta. Monet Odoo-kentät on määritelty mallissa ja peritty variantilta. Tämä pitää jaetut tiedot yhdessä paikassa, samalla kun se mahdollistaa variantti-spesifiset ylitykset.

Mallin avokentät


Tässä ovat tärkeimmät Odoo-kentät product.product-mallissa. Näiden ymmärtäminen auttaa sinua työskentelemään tehokkaasti tuotevarianttien kanssa.


1. nimi

Tyyppi: Char. Tämä kenttä tallentaa tuotevariantin nimen. Se näkyy tyypillisesti listoissa, lomakkeissa ja asiakirjoissa. Yksinkertaisille tuotteille se vastaa mallin nimeä. Varianteille se voi sisältää attribuuttien arvoja (esim. "T-Paita - Sininen / M").


2. product_tmpl_id

Tyyppi: Many2one (product.template). Linkittää variantin sen vanhempaan malliin. Tämä on keskeinen suhde. Jokaisella product.product:lla on tarkalleen yksi product.template. Käytä tätä, kun sinun tarvitsee periä malli Odoo:ssa tai laajentaa tuotelogikkaa.


3. default_code

Tyyppi: Char. Sisäinen viite tai SKU. Käytetään tunnistamiseen, viivakoodin hakemiseen ja integraatioon ulkoisten järjestelmien kanssa. Jokaisella variantilla voi olla oma koodinsa.


4. viivakoodi

Tyyppi: Merkkijono. Viivakoodi (EAN, UPC jne.). Käytetään skannaamiseen myyntipisteessä, varastossa ja inventaariossa. Sen on oltava ainutlaatuinen tuotteiden kesken.


5. luontipäivämäärä

Tyyppi: Päivämäärä ja aika. Tallentaa päivämäärän ja ajan, jolloin tietue luotiin. Odoo hallitsee automaattisesti. Hyödyllinen raportointiin ja tarkastuksiin.


6. muokkauspäivämäärä

Tyyppi: Päivämäärä ja aika. Tallentaa viimeisen muokkauksen päivämäärän ja ajan. Myös hallitaan automaattisesti. Auttaa seuraamaan, milloin tietoja viimeksi päivitettiin.


7. aktiivinen

Tyyppi: Boolean. Pehmeä poistolippu. Kun arvo on False, tietue arkistoidaan ja se piilotetaan oletusnäkymistä. Tuotteita ei poisteta fyysisesti historian säilyttämiseksi.


8. tyyppi

Tyyppi: Valinta. Tuotetyyppi: Kulutustavara, Palvelu tai Varastoitava tuote. Kulutustavaroita ei seurata varastossa. Palveluilla ei ole varastoa. Varastoitavat tuotteet seurataan varastossa. Tämä vaikuttaa siihen, mitkä moduulit ja työnkulut soveltuvat.


9. kategorian_id

Tyyppi: Moni-yhteen (tuote.kategoria). Tuotekategoria. Käytetään raportointiin, hinnoittelusääntöihin ja luettelon organisointiin. Kategorioilla voi olla vanhempi-lapsi-hierarkia.


10. listahinta

Tyyppi: Liukuluku. Myyntihinta. Näytetään tarjouksissa ja käytetään oletuksena rivin lisäämisessä. Voidaan ylittää asiakaskohtaisesti tai hinnastoilla.


11. standard_price

Tyyppi: Liukuluku. Kustannushinta. Käytetään varaston arvostuksessa ja katelaskelmissa. Tyypillisesti päivitetään ostotilausten tai manuaalisen syötteen avulla.


12. uom_id

Tyyppi: Many2one (uom.uom). Myynnin ja varaston mittayksikkö. Määrittelee, miten määrät ilmaistaan (yksiköt, kg, litraa jne.).


13. uom_po_id

Tyyppi: Many2one (uom.uom). Ostojen mittayksikkö. Voi poiketa uom_id:stä (esim. ostetaan laatikoissa, myydään yksiköissä). Muunnos käsitellään automaattisesti.


14. description_sale

Tyyppi: Html. Myyntikuvastus. Näytetään tarjouksissa, tilauksissa ja laskuissa. Voi sisältää muotoilua ja tuotedetaleja.


15. description_purchase

Tyyppi: Html. Ostokuvastus. Näytetään ostotilauksissa ja toimittajalaskuissa. Käytetään sisäiseen ja toimittajaviestintään.


16. sale_ok

Tyyppi: Boolean. Voidaan myydä. Kun arvo on False, tuote on piilotettu myynnistä ja verkkokaupasta. Hyödyllinen sisäisille tai vain ostettaville tuotteille.


17. purchase_ok

Tyyppi: Boolean. Voidaan ostaa. Kun arvo on False, tuote on piilotettu ostamisesta. Hyödyllinen valmistetuille tai vain myynnissä oleville tuotteille.


18. image_1920

Tyyppi: Binary. Tuotekuva täydessä resoluutiossa. Odoo tallentaa useita kokoja (image_512, image_256 jne.) näyttöä varten. Käytetään lomakkeissa, verkkokaupassa ja raporteissa.


19. weight

Tyyppi: Float. Tuotteen paino. Käytetään toimituslaskelmissa ja logistiikassa. Yksikkö riippuu yrityksen asetuksista.


20. volume

Tyyppi: Float. Tuotteen tilavuus. Käytetään toimituksessa ja varastokapasiteetissa. Tärkeä yrityksille, joilla on tilavuusrajoituksia.


21. company_id

Tyyppi: Many2one (res.company). Moniyritysympäristöissä tämä osoittaa, mikä yritys omistaa tuotteen. Vaikuttaa tietueiden näkyvyyteen ja varastoon.


22. currency_id

Tyyppi: Many2one (res.currency). Valuutta list_price- ja standard_price-arvoille. Yleensä yrityksen valuutta. Hintalistat voivat muuntaa muihin valuuttoihin.


23. qty_available

Tyyppi: Float. Varastossa oleva määrä. Lasketaan varastokvanttien perusteella. Vain lukuoikeus. Käytetään saatavuuden tarkistamiseen ja raportointiin. Vain varastoitaville tuotteille.


24. virtual_available

Tyyppi: Float. Ennustettu määrä (varastossa plus saapuvat miinus lähtevät). Käytetään saatavuuden ja täydennyksen tarkistamiseen. Vain lukuoikeus, laskettu kenttä.


25. product_template_attribute_value_ids

Tyyppi: Many2many. Linkittää varianttia määrittäviin attribuuttiväriarvoihin (esim. Väri=Sininen, Koko=M). Käytetään varianttien konfiguroimiseen ja suodattamiseen.


26. sequence

Tyyppi: Integer. Näyttöjärjestys. Käytetään tuotteiden lajitteluun listoissa ja konfiguraattoreissa. Pienemmät arvot näkyvät ensin.


27. display_name

Tyyppi: Char. Laskettu näyttönimi. Yhdistää nimen varianttiattribuuttien kanssa. Käytetään many2one-pudotusvalikoissa ja hakutuloksissa. Vain lukuoikeus.


28. responsible_id

Tyyppi: Many2one (res.users). Vastuutaho tuotteelle. Käytetään uudelleenjärjestelysääntöihin ja sisäisiin osoituksiin. Valinnainen.

Kuinka tätä mallia käytetään liiketoimintaprosesseissa


1. Myynti ja tarjouksia

Kun myyjä luo tarjouksen, hän valitsee tuotteen tuoteluettelosta. list_price, description_sale ja uom_id siirtyvät tilausriviin. Hintalistat voivat ohittaa hinnan. Vain tuotteet, joiden sale_ok=True, näkyvät.


2. Ostot ja toimittajat

Ostotilaukset ja toimittajalaskut viittaavat product.product:iin. standard_price päivitetään ostopaketeista. Tuotteet, joiden purchase_ok=True, ovat saatavilla. uom_po_id määrittää, miten määriä tilataan (esim. laatikoittain).


3. Varasto ja varastointi

Varastosiirrot, keräilyt ja kvantit käyttävät product.product:ia. qty_available ja virtual_available kentät ohjaavat saatavuutta. Vain varastoitavat tuotteet ovat seurannassa. Viivakoodin skannaus käyttää viivakoodikenttää nopeaa hakua varten.


4. Verkkokauppa ja verkkosivusto

Verkkosivuston kauppa näyttää product.product-tietueet. Eri ominaisuuksilla (koko, väri) varustetut variantit näkyvät vaihtoehtoina. Tuotekuvat, kuvaukset ja hinnat tulevat mallista. sale_ok-lippu ohjaa näkyvyyttä.


5. Valmistus ja MRP

Materiaaliluettelot viittaavat product.product:iin sekä komponenteissa että valmiissa tuotteissa. tyyppi-kenttä määrittää, onko tuote valmistettu (varastoitava) vai kulutettu. Varastotasot ohjaavat tuotannon suunnittelua.

Kuinka kehittäjät laajentavat tätä mallia


Kehittäjät laajentavat product.product:ia useilla malleilla. Odoo-mallin perintö on päämekanismi.


Malliperintä

Käytä _inherit = 'product.product' laajentaaksesi mallia. Lisää uusia Odoo-kenttiä, ylikirjoita metodeja tai lisää rajoituksia. Odoo:ssa perintömalli pitää muutoksesi erillisessä moduulissa helppoa päivitystä varten. Valitse product.product, kun kenttä on variantti-spesifinen; käytä product.template, kun se koskee koko tuoteperhettä.


Kenttien lisääminen

Määritä uusia Odoo-kenttiä perityssä mallissasi. Käytä oikeaa kenttätyyppiä: Char, Many2one, Boolean, Integer, Text, Selection. Mieti, kuuluuko kenttä malliin (jaettu) vai varianttiin (spesifinen). Variantti-spesifisten tietojen, kuten SKU tai viivakoodin ylikirjoitusten, osalta käytä product.product.


Python-laajennukset

Ylikirjoita create, write tai unlink lisätäksesi logiikkaa. Käytä super() kutsuaksesi alkuperäistä. Ole varovainen lasketuissa kentissä ja niiden riippuvuuksissa. product.product-mallissa on monia laskettuja kenttiä varasto- ja myyntimoduuleista.


Odoo Studio

Odoo Studio antaa sinun lisätä kenttiä ilman koodia. Hyvä nopeisiin mukautuksiin. Monimutkaiselle logiikalle tai päivityksille mukautetut moduulit ovat ylläpidettävämpiä. Odoo:n API-malli (product.product) on täysin avoinna XML-RPC:n ja JSON-RPC:n kautta integraatioita varten.

Parhaat käytännöt


  • Käytä default_code tai viivakoodia ulkoisen järjestelmän kartoitukseen. Pidä ne ainutlaatuisina ja johdonmukaisina.
  • Aseta tyyppi oikein jokaiselle tuotteelle. Kulutettava vs Varastoitava vs Palvelu vaikuttaa siihen, mitkä moduulit ja työnkulut soveltuvat.
  • API-integraatioita rakennettaessa käytä product.productia tilausriveille ja tapahtumille. Käytä product.templatea katalogitason operaatioille.
  • Mukautetuille kentille käytä x_ etuliitettä tai moduulietuliitettä välttääksesi ristiriidat tulevien Odoo-versioiden kanssa.
  • Harkitse product.templatea lisätessäsi kenttiä, jotka koskevat kaikkia variantteja (esim. brändi, kategoria). Käytä product.productia variantti-spesifiseen dataan (esim. variantti-spesifinen viivakoodi).

Yleisimmät virheet


  • Peri product.templatea, kun tarvitset variantti-spesifistä logiikkaa. Käytä product.productia per-variantti käyttäytymiseen.
  • Luo product.product -rekisterit manuaalisesti sen sijaan, että käyttäisit mallia. Varianttituotteille, luo ne tuotteen konfiguraattorin kautta.
  • Unohda asettaa sale_ok tai purchase_ok. Tuotteet ovat oletuksena piilotettu myynniltä/ostolta joissakin konfiguraatioissa.
  • Ylikirjoita ydinmenetelmiä ilman super(). Tämä voi rikkoa muita moduuleja tai tulevia päivityksiä.
  • Käytä product.productia alueilla, kun product.template olisi sopivampi (esim. suodatus kategorian mukaan mallissa).

Yhteenveto


Product.product-malli on keskeinen Odoon tuotearkkitehtuurissa. Se edustaa todellisia myytäviä ja ostettavia tuotteita. Ymmärtäminen sen kentistä ja siitä, miten se liittyy product.templateen, auttaa sinua konfiguroimaan, mukauttamaan ja integroimaan Odoota tehokkaasti.


Olitpa sitten toiminnallinen konsultti, joka kartoittaa tuotekatalogeja, tai kehittäjä, joka rakentaa mukautettuja moduuleja, vankka ymmärrys product.productista säästää aikaa ja estää virheitä.

Tarvitsetko apua Odoo-toteutuksesi kanssa?


Dasolo auttaa yrityksiä toteuttamaan, mukauttamaan ja optimoimaan Odoota. Erikoisalaamme ovat API-integraatiot ja Odoo-kehitys. Tiimillämme on syvällistä kokemusta Odoon tietorakenteesta ja malleista, kuten product.product.


Jos tarvitset apua Odoo-toteutuksessasi, mukautetuissa moduuleissa tai integraatioissa, olemme täällä auttamassa. Varaa esittely keskustellaksesi projektistasi.

Odoon Tuotemallin Ymmärtäminen: Tuotevarianttiarkkitehtuuri
Dasolo 10. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin