Siirry sisältöön

Kokonaisopas Odoon Kokonaiskenttään

Kaikki, mitä sinun tarvitsee tietää Odoo-tietomallin Integer-kentästä, liiketoiminnan käytöstä tekniseen mukauttamiseen
6. maaliskuuta 2026 kirjoittanut
Kokonaisopas Odoon Kokonaiskenttään
Dasolo
| Ei vielä kommentteja

Johdanto


Jos olet koskaan asettanut määrää myyntitilaukselle, seurannut kuinka monta päivää tehtävä on ollut auki tai määrittänyt prioriteettipisteitä liidille, olet käyttänyt kokonaisluku kenttää Odoossa. Se on yksi yleisimmistä kenttätyypeistä Odoo-tietomallissa, ja silti sitä aliarvioidaan usein.


Ymmärtäminen siitä, kuinka kokonaisluku kenttä toimii, on tärkeää liiketoimintakäyttäjille, jotka konfiguroivat lomakkeita, kehittäjille, jotka kirjoittavat mukautettuja moduuleja, ja konsultteille, jotka suunnittelevat tietomalleja asiakkailleen.


Tämä opas kattaa, mitä kokonaisluku kenttä tallentaa, kuinka se käyttäytyy Odoo-kehyksessä ja -käyttöliittymässä, kuinka se luodaan tai mukautetaan Odoo Studiolla tai Pythonilla, sekä käytännön käyttötapaukset ja asiat, joihin kannattaa kiinnittää huomiota.

Mikä on kokonaisluku kenttä Odoossa


Odoo ORM:ssa Integer-kenttä on suunniteltu tallentamaan kokonaislukuja. Ei desimaaleja, ei murtolukuja. Se vastaa suoraan INTEGER-saraketta PostgreSQL:ssä, joka on 4-bittinen allekirjoitettu kokonaisluku, joka tukee arvoja noin -2 miljardia - +2 miljardia.


Käyttäjän näkökulmasta Integer-kenttä näkyy yksinkertaisena numeerisena syöttönä lomakkeissa ja numerokenttänä listanäkymissä. Se on oikea valinta kaikelle, mitä on laskettava kokonaisyksiköissä: määrät, pisteet, kesto päivinä, järjestysnumerot tai mikä tahansa mittari, jossa puolikas yksikkö ei ole järkevä.


Tässä on tyypillinen määrittely Python-moduulissa:

from odoo import fields, models

class ProjectTask(models.Model):
    _inherit = 'project.task'

    estimated_hours = fields.Integer(
        string='Estimated Hours',
        default=0,
    )

string-parametri ohjaa käyttöliittymässä näkyvää etikettiä. default-parametri asettaa arvon automaattisesti, kun uusi tietue luodaan.


Odoo Studiossa tämä kenttätyyppi on yksinkertaisesti lueteltu Integer -nimellä. Kun se luodaan Studion kautta, se saa x_studio_-etuliitteen. Kun se luodaan Pythonin tai XML-RPC API:n kautta, valitset teknisen nimen itse.

Kuinka kenttä toimii


Kun määrität Integer-kentän Odoo:ssa, kehys luo automaattisesti vastaavan tietokantasarakkeen moduulin asennuksen tai päivityksen aikana. Sinun ei tarvitse kirjoittaa SQL-migraatioita manuaalisesti.


Tietokantasovellustasolla sarake on tyypiltään INTEGER PostgreSQL:ssä. Odoo ORM huolehtii tyyppimuunnoksista, joten jos käyttäjä ei syötä mitään, kenttä palauttaa 0 sen sijaan, että palauttaisi None tai False. Tämä on tärkeä ero muihin kenttätyyppeihin, kuten Float tai Char, verrattuna, jotka voivat palauttaa False tyhjänä.


Avainkenttäattribuutit

Tässä ovat tärkeimmät ominaisuudet, joita voit määrittää Integer-kentälle:

  • string: Käyttäjille käyttöliittymässä näkyvä etiketti.
  • default: Uusille tietueille automaattisesti määritetty arvo. Oletusarvo on 0, ellei toisin määritetä.
  • vaaditaan: Tekee kentästä pakollisen. Koska oletusarvo on jo 0, tämä on erityisen hyödyllistä, kun haluat estää tallentamisen nollalla arvolla.
  • vain_luku: Estää käyttäjiä muokkaamasta arvoa suoraan käyttöliittymässä.
  • indeksi: Luo PostgreSQL-indeksin sarakkeelle, mikä nopeuttaa suodattimia ja hakuja kyseisellä kentällä.
  • laske: Liittää Python-menetelmän, joka laskee kentän arvon dynaamisesti muista kentistä.
  • tallenna: Yhdistettynä laske:en, ohjaa, tallennetaanko laskettu arvo tietokantaan vai lasketaan se lennossa.
  • kopioi: Ohjaa, siirretäänkö arvo, kun tallennetaan kopio tietueesta.
  • ryhmät: Rajoittaa kentän näkyvyyttä tietyille käyttäjäryhmille.

Miten se näkyy näkymissä

Lomakenäkymissä kokonaisluku kenttä renderöidään numeeriseksi syöttöruuduksi. Odoo lisää automaattisesti tuhaterottimia luettavuuden parantamiseksi suurempia lukuja näytettäessä.


Luettelonäkymissä kokonaisluku kentät näkyvät tavallisina numeroina, oikealle kohdistettuina perinteisesti. Hakunäkymissä ne tukevat yhtä suuri kuin, suurempi kuin ja pienempi kuin suodattimia.


Voit yhdistää kokonaisluku kentän tiettyihin widgetteihin näkymissä muuttaaksesi sen ulkoasua. prioriteetti widget, esimerkiksi, muuttaa kokonaisluku kentän klikkautuviksi tähdiksi. edistyminen widget voi näyttää kokonaisluku arvon edistymispalkkina, kun se yhdistetään maksimiarvon kanssa.


Vuorovaikutus Odoo ORM:n kanssa

Kehittäjän näkökulmasta kokonaislukukenttien lukeminen ja kirjoittaminen on suoraviivaista. Arvo on aina Pythonin int. Tyhjät kokonaislukukentät palauttavat 0, mikä tarkoittaa, että sinun tulisi olla varovainen kirjoittaessasi ehtoja, jotka tarkistavat arvon puuttumista. Nolla ja tyhjät kentät näyttävät samalta, ellei suunnittele sen ympärille.


Kokonaislukukentät toimivat myös luonnollisesti laskennallisissa kentissä ja näkymissä, palvelinoperaatioissa ja automatisoiduissa toiminnoissa, joita käytetään koko Odoo-kehyksessä.

Liiketoimintakäyttötapaukset


Kokonaislukukenttä esiintyy lähes jokaisessa Odoo-moduulissa. Tässä on viisi käytännön skenaariota, joissa sillä on keskeinen rooli.


1. CRM: Liidien pisteytys

Myyntitiimit haluavat usein priorisoida liidejä pisteiden perusteella. Voit lisätä mukautetun kokonaislukukentän nimeltä Liidipisteet CRM-mahdollisuusmalliin. Myyntiedustajat päivittävät pistemäärän manuaalisesti tai automatisoitu toiminto laskee sen kriteerien, kuten yrityksen koon, budjetin tai sitoutumisen tason, perusteella.

Tämä helpottaa putkesi lajittelua pisteiden mukaan ja keskittymistä lupaavimpiin mahdollisuuksiin.


2. Myynti: Minimitoimitusmäärät

Myynti- ja varastomoduuleissa kokonaislukukentät hallitsevat tuotteiden tai hintalistojen minimitoimitusmääriä. Asettamalla minimiksi 10 yksikköä tuotteelle varmistat, että järjestelmä estää tilaukset, jotka ovat alle tämän rajan, mikä säästää asiakkaille myöhemmin tapahtuvaa edestakaisin viestintää.


3. Varasto: Uudelleentilaussäännöt

Odoossa uudelleentilaussäännöt perustuvat täysin kokonaislukukenttiin minimimäärän ja enimmäismäärän rajoilla. Kun varasto laskee alle minimimäärän, Odoo laukaisee automaattisesti täydennystilauksen määritellyn enimmäismäärän mukaan. Näiden arvojen saaminen oikein on kriittistä sekä varastopuutteiden että ylivarastointitilanteiden välttämiseksi.


4. Projektinhallinta: Tarinapisteet ja työmääräarviot

Odoo Projectia ketterissä työnkuluissa käyttävät tiimit lisäävät usein mukautetun kokonaislukukentän tarinapisteille tai arvioiduille tunneille. Tämä kenttä näkyy tehtävissä kanban- tai listanäkymässä ja auttaa tiimiä seuraamaan kapasiteettia ja nopeutta sprinttien aikana.


5. Kirjanpito: Maksuehdot Päivät

Maksuehdot Odoo Kirjanpidossa käyttävät kokonaisluku kenttiä määrittämään sallitut maksupäivät. Net 30, Net 60 tai mukautetut ehdot määritellään kaikki kokonaislukuarvojen kautta. Nämä arvot syötetään suoraan laskun eräpäivän laskentaan, mikä tekee tarkkuudesta tärkeää kassavirran hallinnassa.

Kokonaisluku kentän luominen tai mukauttaminen


Odoo-malliin voidaan lisätä kokonaisluku kenttä kahdella pääasiallisella tavalla: käyttämällä Odoo Studioa ilman koodin kirjoittamista tai määrittelemällä se suoraan Pythonissa enemmän hallintaa varten.


Käyttäen Odoo Studioa

Odoo Studio on Odoohon integroitu koodittomien ja vähäisten koodimuokkausten työkalu kenttien ja näkymien mukauttamiseen. Lisätäksesi kokonaisluku kentän Studion kautta:

  1. Avaa lomake, johon haluat lisätä kentän.
  2. Aktivoi Studio oikean yläkulman valikosta.
  3. Kenttäluettelossa vasemmalla, vedä Integer kenttätyyppi lomakkeeseesi.
  4. Aseta kentän etiketti, valitse onko se pakollinen ja määritä oletusarvo.
  5. Tallenna ja poistu Studiosta.

Studio luo kentän automaattisesti x_studio_-etuliitteellä ja tallentaa määritelmän ir.model.fields-tauluun. Kenttä on heti käytettävissä lomakkeissa ja luettelo-näkymissä.


Käyttäen Pythonia (Tekninen Mukautus)

Kehittäjille, jotka rakentavat mukautettuja moduuleja tai suorittavat Odoo-kehitystä enemmän hallinnalla, Integer-kenttä määritellään suoraan Python-malliluokassa:


from odoo import fields, models

class CrmLead(models.Model):
    _inherit = 'crm.lead'

    x_lead_score = fields.Integer(
        string='Lead Score',
        default=0,
        index=True,
        help='Pisteet 0-100, joita käytetään mahdollisuuksien priorisoimiseen',
    )

Kun kenttä on määritelty koodissa, suorita odoo-bin -u your_module soveltaaksesi muutokset tietokantaan. Sarake luodaan automaattisesti.


XML-RPC API:n käyttäminen

Voit myös luoda Integer-kentän etäisesti käyttämällä Odoo XML-RPC API:a. Tämä on hyödyllistä automatisoiduissa käyttöönottoissa tai työskennellessäsi ilman suoraa palvelin pääsyä:


field_id = models.execute_kw(
    ODOO_DB, uid, ODOO_API_KEY,
    'ir.model.fields', 'create',
    [{
        'name': 'x_lead_score',
        'field_description': 'Lead Score',
        'model_id': crm_lead_model_id,
        'ttype': 'integer',
        'state': 'manual',
    }]
)

Integer-kentille ttype-arvo on yksinkertaisesti 'integer'. state on oltava 'manual' osoittamaan mukautettua kenttää, ei moduulimääritystä.


Lasketun Integer-kentän lisääminen

Lasketut Integer-kentät ovat tehokkaita arvojen automaattisessa johdannassa. Esimerkiksi, laskettaessa projektin liitettyjen tehtävien määrää:


class Project(models.Model):
    _inherit = 'project.project'

    open_task_count = fields.Integer(
        string='Avoimet tehtävät',
        compute='_compute_open_task_count',
        store=True,
    )

    def _compute_open_task_count(self):
        for project in self:
            project.open_task_count = self.env['project.task'].search_count([
                ('project_id', '=', project.id),
                ('stage_id.fold', '=', False),
            ])

Asettamalla store=True tallennetaan arvo tietokantaan, jolloin se on saatavilla suodattamiseen ja lajitteluun luettelo näkymissä ilman, että sitä lasketaan uudelleen joka kerta.

Parhaat käytännöt


Tässä on käytännön vinkkejä Integer-kenttien hyödyntämiseen Odoo-tietomallissasi.


Käytä kokonaislukuja laskentaan ja kokonaisyksikkömäärille

Valitse kokonaisluku, kun arvon on aina oltava kokonaisluku, eikä desimaalit olisi järkeviä. Kaikessa, mikä liittyy rahaan, mittauksiin tai määriin, jotka voivat olla osittaisia, käytä sen sijaan Float- tai Monetary-kenttätyyppiä.


Aseta järkevä oletusarvo

Kokonaislukukenttien oletusarvo Odoossa on 0. Monissa tapauksissa se on hyvä, mutta mieti, onko nolla merkityksellinen arvo käyttötapauksessasi. Jos nolla tarkoittaa jotain erityistä (kuten että pistettä ei ole vielä annettu), saatat haluta käsitellä sen erikseen liiketoimintalogiikassasi tai lisätä apu Boolean-kentän seuraamaan, onko arvo asetettu.


Lisää indeksi, kun suodatat kentän mukaan

Jos aiot suodattaa, lajitella tai ryhmitellä usein kokonaislukukentän mukaan, lisää index=True kentän määrittelyyn. Tämä luo tietokannan indeksin ja voi merkittävästi nopeuttaa kyselyitä suurilla tietojoukoilla. Kauppana on pieni lisääntyminen tallennuksessa ja kirjoitusaikassa, mikä on lähes aina sen arvoista kentille, joita käytetään hakuehdoissa.


Käytä store=True lasketuissa kokonaislukukentissä

Jos määrität lasketun kokonaislukukentän, jota käyttäjien on tarpeen suodattaa tai lajitella listanäkymissä, aseta aina store=True. Ilman sitä Odoo ei voi käyttää kenttää domain-suodattimissa, eikä ryhmittely sen mukaan toimi odotetusti.


Dokumentoi arvoväliisi

Kun kokonaislukukentällä on merkityksellinen arvoväli, kuten pistemäärä 0–100, dokumentoi se help-parametrissa. Tämä teksti näkyy työkaluvihjeenä käyttöliittymässä ja säästää käyttäjiä arvaamasta, mitkä arvot ovat voimassa.


Ajattele kahdesti ennen kuin käytät kokonaislukuja ID:ille tai viittauksille

Jos sinun on viitattava toiseen tietueeseen, käytä Many2one-kenttää sen sijaan, että tallennat ID:n käsin kokonaislukukenttään. Many2one-kentät tarjoavat sisäänrakennetun navigoinnin, ketjureaktiot ja oikean ORM-integraation. Kokonaisluku, joka pitää raakatunnuksen, on herkkä ja ohittaa Odoo-kehyksen.

Yleiset sudenkuopat


Nämä ovat virheitä, jotka esiintyvät useimmiten työskennellessä Integer-kenttien kanssa Odoossa.


Sekoitus Integer ja Float

Yksi yleinen virhe on käyttää Integer-kenttää, kun Float-kenttä olisi sopivampi. Jos käyttäjät tarvitsevat koskaan syöttää 1.5, 0.25 tai mitä tahansa murtoarvoa, Integer on väärä valinta. Odoo katkaisee hiljaa desimaalitiedot, mikä johtaa tietojen menetykseen ja käyttäjien hämmennykseen. Käytä Floatia määrille, jotka voivat olla murto-osia, ja Monetary-arvoille valuuttatietoja varten.


Oletus nolla tarkoittaa tyhjää

Koska Integer-kentät palauttavat aina 0, kun niitä ei ole asetettu, ei ole mahdollista erottaa rekisteriä, jossa kenttää ei ole koskaan täytetty, ja rekisteriä, jossa joku on tarkoituksella syöttänyt nollan. Jos tämä ero on tärkeä työnkulullesi, lisää Boolean-kenttä kuten has_score Integerin rinnalle tai käytä Float-kenttää, jossa on False oletusarvo.


Indeksin lisäämättä jättäminen usein suodatettuihin kenttiin

Jos lisäät Integer-kentän ja käytät sitä myöhemmin suodattimena näkymissä tai automatisoiduissa toiminnoissa, index=True lisäämättä jättäminen voi hidastaa listanäkymiä huomattavasti suuremmissa tietokannoissa. Indeksin lisääminen alusta alkaen on helpompaa kuin optimointi myöhemmin.


Integerin käyttäminen desimaalipohjaisten suhteiden tallentamiseen

Joskus kehittäjät tallentavat prosenttiosuuksia Integer-kenttinä, kirjoittaen 75 tarkoittamaan 75%. Tämä toimii, kunnes joku tarvitsee 72.5%, jolloin kenttä rikkoo vaatimuksen. Jos on olemassa mahdollisuus, että prosentti tai suhde tarvitsee desimaalitarkkuutta, käytä Floatia alusta alkaen.


Unohtaminen store=True lasketuissa kentissä, joita käytetään suodattimissa

Tämä on yksi yleisimmistä virheistä Odoo-kehityksessä. Laskettu Integer-kenttä ilman store=True ei voi olla käytössä domain-suodattimissa, automatisoiduissa toiminnoissa tai listanäkymän ryhmittelytoiminnoissa. Ajattele aina, missä kenttää käytetään ennen kuin päätät, tallennetaanko se.

Yhteenveto


Integer-kenttä on perustavanlaatuinen rakennuspalikka Odoo-tietomallissa. Se näyttää yksinkertaiselta, ja useimmissa tapauksissa se onkin. Mutta sen erityisten käyttäytymisten, kuten sen, että tyhjät kentät palauttavat 0 ja laskettujen kenttien tarvitsemat store=True suodattimissa, tunteminen auttaa sinua välttämään sellaisia bugeja ja suunnittelukysymyksiä, jotka on helppo tuoda esiin ja vaikea korjata myöhemmin.


Olitpa sitten konfiguroimassa Odoo'ta myyntitiimille, rakentamassa mukautettua moduulia tai suunnittelemassa uudelleentilaussääntöjä varastolle, kokonaisluvut tulevat esiin joka vaiheessa. Ymmärtäminen siitä, miten ne toimivat Odoo ORM:ssä, miten niitä luodaan Studiolla tai Pythonilla, ja milloin käyttää niitä verrattuna Liukulukuihin tai Rahamääriin, on osa sitä, mikä tekee Odoo-toteutuksesta vankan ja ylläpidettävän.


Jos työskentelet Odoo-mukautuksen parissa ja haluat varmistaa, että tietomallisi on rakennettu oikein alusta alkaen, tämäntyyppinen perustietämys maksaa itsensä takaisin koko projektin elinkaaren ajan.

Työskentele Odoo-asiantuntijan kanssa


Yrityksessä Dasolo autamme yrityksiä toteuttamaan, mukauttamaan ja optimoimaan Odoo'ta kaikilla moduuleilla ja toimialoilla. Olitpa sitten suunnittelemassa siistiä tietomallia, rakentamassa mukautettuja kenttiä ja työnkulkuja tai yhdistämässä Odoo'ta ulkoisiin järjestelmiin API:n kautta, meillä on kokemusta tehdä se oikein.


Jos sinulla on kysymyksiä Odoo-asetuksistasi tai haluat keskustella projektista, ota yhteyttä tiimiimme. Olemme iloisia voidessamme auttaa.

Kokonaisopas Odoon Kokonaiskenttään
Dasolo 6. maaliskuuta 2026
Jaa tämä kirjoitus
Kirjaudu sisään jättääksesi kommentin