Overslaan naar inhoud

Geheel Gids Voor Het Gehele Veld in Odoo

Alles wat je moet weten over het Integer-veld in het Odoo-datamodel, van zakelijk gebruik tot technische aanpassing
6 maart 2026 in
Geheel Gids Voor Het Gehele Veld in Odoo
Dasolo
| Nog geen reacties

Inleiding


Als je ooit een hoeveelheid op een verkooporder hebt ingesteld, hebt bijgehouden hoeveel dagen een taak openstaat, of een prioriteitsscore op een lead hebt geconfigureerd, heb je een Gehele Getalveld in Odoo gebruikt. Het is een van de meest voorkomende veldtypes in het Odoo-datamodel, en toch wordt het vaak onderschat.


Begrijpen hoe het Gehele Getalveld werkt, is belangrijk voor zakelijke gebruikers die formulieren configureren, voor ontwikkelaars die aangepaste modules schrijven, en voor consultants die datamodellen ontwerpen voor hun klanten.


Deze gids behandelt wat het Gehele Getalveld opslaat, hoe het zich gedraagt in het Odoo-framework en de interface, hoe je het kunt maken of aanpassen met Odoo Studio of Python, samen met praktische gebruikscases en aandachtspunten.

Wat is het Gehele Getalveld in Odoo


In de Odoo ORM is het Integer-veld ontworpen om gehele getallen op te slaan. Geen decimalen, geen fracties. Het komt rechtstreeks overeen met een INTEGER kolom in PostgreSQL, wat een 4-byte signed integer is die waarden ondersteunt van ongeveer -2 miljard tot +2 miljard.


Vanuit het perspectief van de gebruiker verschijnt een Integer-veld als een eenvoudige numerieke invoer in formulieren en als een getalkolom in lijstweergaven. Het is de juiste keuze voor alles wat in hele eenheden moet worden geteld: hoeveelheden, scores, duur in dagen, volgnummer of enige metriek waarbij een halve eenheid geen zin heeft.


Hier is een typische definitie in een Python-module:

from odoo import fields, models

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

    estimated_hours = fields.Integer(
        string='Geschatte Uren',
        default=0,
    )

De string parameter controleert het label dat in de interface wordt weergegeven. De default parameter stelt de waarde automatisch in wanneer een nieuw record wordt aangemaakt.


In Odoo Studio wordt dit veldtype eenvoudig weergegeven als Integer. Wanneer het via Studio wordt aangemaakt, krijgt het een x_studio_ prefix. Wanneer het via Python of de XML-RPC API wordt aangemaakt, kies je zelf de technische naam.

Hoe het Veld Werkt


Wanneer je een Integer-veld in Odoo definieert, maakt het framework automatisch de bijbehorende databasekolom aan tijdens de installatie of upgrade van de module. Je hoeft geen SQL-migraties handmatig te schrijven.


Op database-niveau is de kolom getypeerd als INTEGER in PostgreSQL. De Odoo ORM zorgt voor type coercion, dus als de gebruiker niets invoert, retourneert het veld 0 in plaats van None of False. Dit is een belangrijk onderscheid in vergelijking met andere veldtypes zoals Float of Char, die False kunnen retourneren wanneer ze leeg zijn.


Belangrijke Veldattributen

Hier zijn de belangrijkste eigenschappen die je kunt configureren op een Integer-veld:

  • string: Het label dat aan gebruikers in de interface wordt getoond.
  • default: De waarde die automatisch wordt toegewezen aan nieuwe records. Standaard op 0 als niet gespecificeerd.
  • vereist: Maakt het veld verplicht. Aangezien de standaardwaarde al 0 is, is dit het nuttigst wanneer je het opslaan met een waarde van nul wilt blokkeren.
  • alleen-lezen: Voorkomt dat gebruikers de waarde rechtstreeks in de interface bewerken.
  • index: Creëert een PostgreSQL-index op de kolom, waardoor filters en zoekopdrachten op dat veld sneller verlopen.
  • berekenen: Koppelt een Python-methode die de veldwaarde dynamisch berekent op basis van andere velden.
  • opslaan: In combinatie met berekenen, bepaalt of de berekende waarde in de database wordt opgeslagen of on-the-fly wordt herberekend.
  • kopiëren: Bepaalt of de waarde wordt overgenomen bij het dupliceren van een record.
  • groepen: Beperkt de zichtbaarheid van het veld tot specifieke gebruikersgroepen.

Hoe het verschijnt in weergaven

In formulierweergaven wordt een geheel getal weergegeven als een numeriek invoerveld. Odoo voegt automatisch duizendtallen toe voor de leesbaarheid bij het weergeven van grotere getallen.


In lijstweergaven verschijnen geheel getallen als gewone getallen, rechts uitgelijnd volgens de conventie. In zoekweergaven ondersteunen ze gelijk, groter dan en kleiner dan filters.


Je kunt een geheel getal combineren met specifieke widgets in weergaven om de uitstraling te veranderen. De prioriteit widget bijvoorbeeld, verandert een geheel getal in klikbare sterren. De voortgangsbalk widget kan een geheel getal weergeven als een voortgangsbalk wanneer deze wordt gecombineerd met een maximale waarde.


Interactie met de Odoo ORM

Vanuit een ontwikkelaarsperspectief is het lezen en schrijven van Integer-velden eenvoudig. De waarde is altijd een Python int. Lege Integer-velden geven 0 terug, wat betekent dat je voorzichtig moet zijn bij het schrijven van voorwaarden die controleren op afwezigheid van een waarde. Een nul en een leeg veld lijken hetzelfde, tenzij je eromheen ontwerpt.


Integer-velden werken ook natuurlijk in berekende velden en in domeinfilters die worden gebruikt door weergaven, serveracties en geautomatiseerde acties doorheen het Odoo-framework.

Zakelijke Gebruikscases


Het Integer-veld komt in bijna elk module in Odoo voor. Hier zijn vijf praktische scenario's waarin het een centrale rol speelt.


1. CRM: Lead Score

Verkoopteams willen vaak leads prioriteren op basis van een score. Je kunt een aangepast Integer-veld genaamd Lead Score toevoegen aan het CRM-kansmodel. Verkoopvertegenwoordigers werken de score handmatig bij, of een geautomatiseerde actie berekent deze op basis van criteria zoals bedrijfsomvang, budget of betrokkenheidsniveau.

Dit maakt het gemakkelijk om je pijplijn te sorteren op score en je te concentreren op de meest veelbelovende kansen.


2. Verkoop: Minimale Bestelhoeveelheden

In de Verkoop- en Voorraadmodules regelen Integer-velden de minimale bestelhoeveelheden voor producten of prijslijsten. Door een minimum van 10 eenheden op een product in te stellen, zorg je ervoor dat het systeem bestellingen onder die drempel blokkeert, wat later heen en weer communiceren met klanten bespaart.


3. Voorraad: Herbevoorradingsregels

Herbevoorradingsregels in Odoo zijn volledig afhankelijk van Integer-velden voor minimale en maximale hoeveelheiddrempels. Wanneer de voorraad onder het minimum daalt, activeert Odoo automatisch een aanvulorder tot de gedefinieerde maximum. Het is cruciaal om deze waarden goed te krijgen om zowel voorraadtekorten als overstock-situaties te vermijden.


4. Projectmanagement: Story Points en Inspanning Schattingen

Teams die Odoo Project gebruiken voor agile workflows voegen vaak een aangepast Integer-veld toe voor story points of geschatte uren. Dit veld verschijnt op taken in kanban- of lijstweergave en helpt het team om capaciteit en snelheid over sprints te volgen.


5. Boekhouding: Betalingsvoorwaarden Dagen

Betalingsvoorwaarden in Odoo Boekhouding gebruiken gehele getallen om het aantal dagen dat voor betaling is toegestaan te definiëren. Net 30, Net 60 of aangepaste voorwaarden worden allemaal geconfigureerd via gehele getallen. Deze waarden worden direct gebruikt in de berekeningen van de vervaldatum van facturen, wat de nauwkeurigheid hier belangrijk maakt voor het beheer van de cashflow.

Een Gehele Getalveld Maken of Aanpassen


Er zijn twee hoofdmethoden om een geheel getalveld aan een Odoo-model toe te voegen: met Odoo Studio zonder code te schrijven, of het rechtstreeks in Python te definiëren voor meer controle.


Odoo Studio gebruiken

Odoo Studio is de no-code en low-code tool die in Odoo is ingebouwd voor het aanpassen van velden en weergaven. Om een geheel getalveld via Studio toe te voegen:

  1. Open het formulier waar je het veld wilt toevoegen.
  2. Activeer Studio vanuit het menu rechtsboven.
  3. Sleep het Geheel Getal veldtype vanuit de lijst aan de linkerkant naar je formulier.
  4. Stel het veldlabel in, kies of het verplicht is, en configureer de standaardwaarde.
  5. Sla op en verlaat Studio.

Studio maakt automatisch het veld met een x_studio_ voorvoegsel aan en slaat de definitie op in ir.model.fields. Het veld is onmiddellijk beschikbaar in formulieren en lijstweergaven.


Python gebruiken (Technische Aanpassing)

Voor ontwikkelaars die aangepaste modules bouwen of Odoo-ontwikkeling met meer controle uitvoeren, wordt het Integer-veld rechtstreeks gedefinieerd in een Python-modelklasse:


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='Score van 0 tot 100 die wordt gebruikt om kansen te prioriteren',
    )

Na het definiëren van het veld in de code, voer je odoo-bin -u your_module uit om de wijzigingen op de database toe te passen. De kolom wordt automatisch aangemaakt.


Gebruik van de XML-RPC API

Je kunt ook een Integer-veld op afstand aanmaken met de Odoo XML-RPC API. Dit is nuttig voor geautomatiseerde implementaties of wanneer je zonder directe servertoegang werkt:


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',
    }]
)

De ttype waarde voor Integer-velden is eenvoudig 'integer'. De state moet 'manual' zijn om aan te geven dat het om een aangepast veld gaat in plaats van een door de module gedefinieerd veld.


Een Berekend Integer Veld Toevoegen

Berekende Integer-velden zijn krachtig voor het automatisch afleiden van waarden. Bijvoorbeeld, het tellen van het aantal taken dat aan een project is gekoppeld:


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

    open_task_count = fields.Integer(
        string='Open Taken',
        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),
            ])

Het instellen van store=True slaat de waarde op in de database, waardoor deze beschikbaar is voor filtering en sorteren in lijstweergaven zonder deze elke keer opnieuw te berekenen.

Beste Praktijken


Hier zijn praktische tips om het meeste uit Integer-velden in je Odoo-datamodel te halen.


Gebruik Integer voor Tellingen en Hele Eenheden

Kies Integer wanneer de waarde altijd een geheel getal moet zijn en decimalen geen zin zouden hebben. Voor alles wat met geld, metingen of hoeveelheden te maken heeft die fractioneel kunnen zijn, gebruik je in plaats daarvan het Float- of Monetair veldtype.


Stel een Zinnige Standaard In

Integer-velden hebben standaard de waarde 0 in Odoo. In veel gevallen is dat prima, maar denk na of nul een betekenisvolle waarde is voor jouw gebruiksgeval. Als nul iets specifieks betekent (zoals geen score toegewezen), wil je dat misschien expliciet in je bedrijfslogica afhandelen of een hulpb Boolean-veld toevoegen om bij te houden of de waarde is ingesteld.


Voeg een Index Toe Wanneer Je Filtert op het Veld

Als je van plan bent om vaak te filteren, sorteren of groeperen op een Integer-veld, voeg dan index=True toe in de velddefinitie. Dit creëert een database-index en kan de queries op grote datasets aanzienlijk versnellen. De trade-off is een kleine toename in opslag en schrijftijd, wat bijna altijd de moeite waard is voor velden die in zoekvoorwaarden worden gebruikt.


Gebruik store=True voor Gecalculeerde Integer Velden

Als je een gecalculeerd Integer-veld definieert waarop gebruikers moeten kunnen filteren of sorteren in lijstweergaven, stel dan altijd store=True in. Zonder deze instelling kan Odoo het veld niet gebruiken in domeinfilters, en zal groeperen op dit veld niet werken zoals verwacht.


Documenteer Je Bereiken

Wanneer een Integer-veld een betekenisvol bereik heeft, zoals een score van 0 tot 100, documenteer dat dan in de help parameter. Deze tekst verschijnt als een tooltip in de interface en voorkomt dat gebruikers moeten raden welke waarden geldig zijn.


Denk Twee Keer Na Voordat Je Integer Gebruikt voor ID's of Referenties

Als je een ander record moet verwijzen, gebruik dan een Many2one-veld in plaats van handmatig een ID in een Integer-veld op te slaan. Many2one-velden bieden ingebouwde navigatie, cascaderende regels en een goede ORM-integratie. Een Integer die een ruwe ID vasthoudt is kwetsbaar en omzeilt het Odoo-framework.

Veelvoorkomende Valkuilen


Dit zijn de fouten die het vaakst voorkomen bij het werken met Integer-velden in Odoo.


Verwarring tussen Integer en Float

Een veelvoorkomende fout is het gebruik van een Integer-veld waar een Float-veld geschikter zou zijn. Als uw gebruikers ooit 1,5, 0,25 of een andere fractionele waarde moeten invoeren, is Integer de verkeerde keuze. Odoo zal decimale invoer stilletjes afkappen, wat leidt tot gegevensverlies en verwarring bij de gebruiker. Gebruik Float voor hoeveelheden die fractioneel kunnen zijn, en Monetary voor valutawaarden.


Aannemen dat nul leeg betekent

Omdat Integer-velden altijd 0 retourneren wanneer ze niet zijn ingesteld, is er geen manier om te onderscheiden tussen een record waar het veld nooit is ingevuld en een record waar iemand opzettelijk nul heeft ingevoerd. Als deze onderscheiding belangrijk is voor uw workflow, voeg dan een Boolean-veld zoals has_score toe naast de Integer, of gebruik een Float-veld met een False standaard in plaats daarvan.


Geen index toevoegen op vaak gefilterde velden

Als u een Integer-veld toevoegt en het later gebruikt als filter in weergaven of geautomatiseerde acties, kan het vergeten om index=True toe te voegen de lijstweergaven merkbaar vertragen op grotere databases. Het is gemakkelijker om de index vanaf het begin toe te voegen dan om later te optimaliseren.


Integer gebruiken om op decimalen gebaseerde verhoudingen op te slaan

Soms slaan ontwikkelaars percentages op als Integer-velden, waarbij ze 75 schrijven om 75% te betekenen. Dit werkt totdat iemand 72,5% nodig heeft, op welk punt het veld de vereiste breekt. Als er enige kans is dat een percentage of verhouding decimale precisie nodig heeft, gebruik dan vanaf het begin Float.


Vergeten store=True op berekende velden die in filters worden gebruikt

Dit is een van de meest voorkomende fouten in Odoo-ontwikkeling. Een berekend Integer-veld zonder store=True kan niet worden gebruikt in domeinfilters, geautomatiseerde acties of groepsoperaties in lijstweergaven. Denk altijd na over waar het veld zal worden gebruikt voordat u beslist of u het wilt opslaan.

Conclusie


Het Integer-veld is een fundamenteel bouwblok in het Odoo-datamodel. Het lijkt eenvoudig, en in de meeste gevallen is het dat ook. Maar het kennen van de specifieke gedragingen, zoals het feit dat lege velden 0 retourneren en dat berekende velden store=True nodig hebben om in filters te werken, helpt u de soorten bugs en ontwerpproblemen te vermijden die gemakkelijk kunnen worden geïntroduceerd en moeilijker later te verhelpen zijn.


Of je nu Odoo configureert voor een verkoopteam, een aangepaste module bouwt of herbestelregels ontwerpt voor een magazijn, Integer-velden zullen bij elke stap opduiken. Begrijpen hoe ze werken in de Odoo ORM, hoe je ze kunt maken met Studio of Python, en wanneer je ze moet gebruiken in plaats van Float of Monetary, is een deel van wat een Odoo-implementatie solide en onderhoudbaar maakt.


Als je werkt aan een Odoo-aanpassing en ervoor wilt zorgen dat je datamodel vanaf het begin op de juiste manier is opgebouwd, betaalt deze soort fundamentele kennis zich uit gedurende de hele levensduur van het project.

Werk samen met een Odoo Expert


Bij Dasolo helpen we bedrijven Odoo te implementeren, aan te passen en te optimaliseren in alle modules en sectoren. Of je nu een schoon datamodel moet ontwerpen, aangepaste velden en workflows moet bouwen, of Odoo wilt verbinden met externe systemen via de API, wij hebben de ervaring om het goed te doen.


Als je vragen hebt over je Odoo-configuratie of een project wilt bespreken, neem contact op met ons team. We helpen je graag.

Geheel Gids Voor Het Gehele Veld in Odoo
Dasolo 6 maart 2026
Deel deze post
Aanmelden om een reactie achter te laten