Velden en widgets

Fields structure the models of a database. If you picture a model as a table or spreadsheet, fields are the columns where data is stored in the records (i.e., the rows). Fields also define the type of data that is stored within them. How the data is presented and formatted on the UI is defined by their widget.

From a technical point of view, there are 15 field types in Odoo. However, you can choose from 20 fields in Studio, as some field types are available more than once with a different default widget.

Tip

New Fields can only be added to the Formulier and Lijst views. On other views, you can only add Existing Fields (fields already on the model).

Eenvoudige velden

Simple fields contain basic values, such as text, numbers, files, etc.

Notitie

Non-default widgets, when available, are presented as bullet points or sub-headings below.

Tekst (char)

Het veld Tekst wordt gebruikt voor korte tekst met willekeurige tekens. Bij het invullen van het veld wordt één tekstregel weergegeven.

  • Badge: geeft de waarde weer in een afgeronde vorm, vergelijkbaar met een label. De waarde kan niet worden bewerkt in de gebruikersinterface, maar een standaardwaarde kan worden ingesteld.

  • Kopiëren naar klembord: gebruikers kunnen de waarde kopiëren door op een knop te klikken.

  • E-mail: de waarde wordt een aanklikbare mailto-link.

  • Afbeelding: toont een afbeelding via een URL. De waarde kan niet handmatig worden bewerkt, maar een standaardwaarde kan worden ingesteld.

    Notitie

    This works differently than selecting the Image field directly, as the image is not stored in Odoo when using a Text field with the Image widget. For example, it can be useful if you want to save disk space.

  • Telefoon: de waarde wordt een aanklikbare tel-link.

    Tip

    Vink Sms inschakelen aan om naast het veld een optie toe te voegen om direct vanuit Odoo een sms te verzenden.

  • URL: de waarde wordt een aanklikbare URL.

Example

Voorbeelden van tekstvelden met verschillende widgets

Tekst met meerdere regels (text)

Het veld Tekst met meerdere regels wordt gebruikt voor langere tekst met elk type teken. In de gebruikersinterface worden twee tekstregels weergegeven bij het invullen van het veld.

  • Kopiëren naar klembord: gebruikers kunnen de waarde kopiëren door op een knop te klikken.

Example

Voorbeelden van velden met tekst met meerdere regels met verschillende widgets

Geheel getal (integer)

Het veld Geheel getal wordt gebruikt voor alle gehele getallen (positief, negatief of nul, zonder decimaal).

  • Percentage taartdiagram: geeft de waarde weer in een percentagecirkel, meestal voor een berekende waarde. De waarde kan niet worden bewerkt in de gebruikersinterface, maar een standaardwaarde kan worden ingesteld.

  • Voortgangsbalk: geeft de waarde weer naast een percentagebalk, meestal voor een berekende waarde. Het veld kan niet handmatig worden bewerkt, maar een standaardwaarde kan worden ingesteld.

  • Handvat: toont een versleephandvat-icoon om records handmatig te ordenen in Lijstweergave.

Example

Voorbeelden van velden van het type geheel getal met verschillende widgets

Decimaal getal (float)

Het veld Decimaal getal wordt gebruikt voor alle decimale getallen (positief, negatief of nul, met een decimaalteken).

Notitie

Decimale getallen worden op de gebruikersinterface weergegeven met twee decimalen na de komma, maar ze worden in de database opgeslagen met meer precisie.

  • Monetair: vergelijkbaar met het gebruik van het veld Monetair. Het wordt aanbevolen om het laatstgenoemde te gebruiken omdat het meer functionaliteiten biedt.

  • Percentage: geeft een procentteken % weer na de waarde.

  • Percentage cirkeldiagram: geeft de waarde weer in een percentagecirkel, meestal voor een berekende waarde. Het veld kan niet handmatig worden bewerkt, maar er kan wel een standaardwaarde worden ingesteld.

  • Voortgangsbalk: geeft de waarde weer naast een percentagebalk, meestal voor een berekende waarde. Het veld kan niet handmatig worden bewerkt, maar een standaardwaarde kan worden ingesteld.

  • Tijd: de waarde moet het formaat uu:mm volgen, met maximaal 59 minuten.

Example

Voorbeelden van velden van het type decimaal getal met verschillende widgets

Monetair (monetary)

Het veld Monetair wordt gebruikt voor alle monetaire waarden.

Notitie

Wanneer je voor het eerst een veld Monetair toevoegt, word je gevraagd om een veld Valuta toe te voegen als er nog geen bestaat op het model. Odoo biedt aan om het veld Valuta voor je toe te voegen. Zodra het is toegevoegd, voeg je het veld Monetair opnieuw toe.

Example

Voorbeeld van een veld Monetair samen met zijn veld Valuta

Html (html)

Het veld Html wordt gebruikt om tekst toe te voegen die kan worden bewerkt met de Odoo HTML-editor.

  • Tekst met meerdere regels: schakelt de Odoo HTML-editor uit om onbewerkte HTML te kunnen bewerken.

Example

Voorbeelden van Html-velden met verschillende widgets

Datum (date)

Het veld Datum wordt gebruikt om een datum te selecteren op een kalender.

  • Resterende dagen: het resterende aantal dagen tot de geselecteerde datum wordt weergegeven (bv. Over 5 dagen), gebaseerd op de huidige datum. Dit veld moet worden ingesteld op Alleen-lezen.

Example

Voorbeelden van datumvelden met verschillende widgets

Datum en tijd (datetime)

Het veld Datum en tijd wordt gebruikt om een datum te selecteren in een kalender en een tijd op een klok. De huidige tijd van de gebruiker wordt automatisch gebruikt als er geen tijd is ingesteld.

Tip

Naast algemene eigenschappen zijn er enkele specifieke eigenschappen beschikbaar voor Datum en tijd-velden waarvoor de widget Datum en tijd of Datumbereik is ingesteld.

Datumbereik (daterange)

De widget Datumbereik wordt gebruikt om een tijdsperiode weer te geven die wordt gedefinieerd door een startdatum en een einddatum op één regel. Een datumbereik kan een verplichte start- en einddatum hebben, bv. voor een meerdaagse gebeurtenis, of een optionele start- of einddatum toestaan, bv. voor een buitendienstinterventie of een projecttaak.

Het toevoegen van een datumbereik vereist twee velden: een Datum en tijd-veld waarvoor de widget Datumbereik is ingesteld en een ander veld dat wordt geselecteerd als startdatum of einddatum. Dit onderliggende veld kan een bestaand Datum- of Datum en tijd-veld zijn, of een veld dat specifiek voor dit doel is gemaakt.

Een datumbereik toevoegen:

  1. Identificeer een bestaand Datum- of Datum en tijd-veld dat kan worden gebruikt als het onderliggende start-/einddatumveld, of voeg een nieuw veld toe. Als het datumbereik:

    • een verplichte startdatum en einddatum heeft, kan dit veld ofwel de startdatum ofwel de einddatum zijn; het resultaat is hetzelfde.

    • een optionele start- of einddatum toestaat, is dit veld respectievelijk de startdatum of de einddatum.

    Tip

    Om te voorkomen dat dezelfde informatie twee keer wordt weergegeven, kan het onderliggende start-/einddatumveld onzichtbaar worden gemaakt door Onzichtbaar in te schakelen of uit de weergave worden verwijderd door op Verwijderen uit weergave te klikken.

  2. Voeg een Datum en tijd-veld toe en stel het veld Widget in op Datumbereik.

  3. Voer een passend Label in.

  4. Selecteer het onderliggende start-/einddatumveld uit de vervolgkeuzelijst Startdatumveld of Einddatumveld, afhankelijk van wat relevant is.

  5. Als het datumbereik een verplichte start- en einddatum moet hebben, schakel dan Altijd bereik in.

  6. Werk eventueel andere algemene eigenschappen of specifieke eigenschappen voor Datum en tijd-velden bij en klik vervolgens op Sluiten in de rechterbovenhoek van het scherm.

Example

Voorbeelden van Datum en tijd-velden met verschillende widgets

Resterende dagen (remaining_days)

De widget Resterende dagen geeft het resterende aantal dagen weer voordat de geselecteerde datum wordt bereikt (bv. Over 5 dagen), op basis van de huidige datum en tijd. Dit veld moet worden ingesteld op Alleen-lezen.

Selectievakje (boolean)

Het veld Selectievakje wordt gebruikt wanneer een waarde alleen waar of onwaar moet zijn, aangegeven door een selectievakje aan te vinken of uit te vinken.

  • Knop: toont een keuzerondje. De widget werkt zonder over te schakelen naar de bewerkingsmodus.

  • Schakelaar: toont een schakelknop. De widget werkt zonder over te schakelen naar de bewerkingsmodus.

Example

Voorbeelden van selectievakjevelden met verschillende widgets

Selectie (selection)

Het veld Selectie wordt gebruikt wanneer gebruikers een enkele waarde moeten selecteren uit een groep voorgedefinieerde waarden.

  • Badge: geeft de waarde weer in een afgeronde vorm, vergelijkbaar met een label. De waarde kan niet worden bewerkt in de gebruikersinterface, maar een standaardwaarde kan worden ingesteld.

  • Badges: toont alle selecteerbare waarden tegelijkertijd in rechthoekige vormen, horizontaal georganiseerd.

  • Prioriteit: toont sterrensymbolen in plaats van waarden, die bijvoorbeeld kunnen worden gebruikt om een belangrijkheids- of tevredenheidsniveau aan te geven. Dit heeft hetzelfde effect als het selecteren van het prioriteitsveld, hoewel voor dat laatste vier prioriteitswaarden al vooraf zijn gedefinieerd.

  • Keuzerondje: toont alle selecteerbare waarden tegelijkertijd als keuzerondjes.

    Tip

    Standaard zijn keuzerondjes verticaal georganiseerd. Schakel Horizontaal weergeven in om de manier waarop ze worden weergegeven te wijzigen.

  • Statusbalk: toont alle selecteerbare waarden tegelijkertijd als een pijlvormige voortgangsbalk.

    Tip

    Standaard zijn waarden op de statusbalk selecteerbaar. Schakel Aanklikbaar uit om te voorkomen dat de waarde wordt bewerkt in de gebruikersinterface.

Example

Voorbeelden van selectievelden met verschillende widgets

Prioriteit (selection)

Het veld Prioriteit wordt gebruikt om een driesterrenwaarderingssysteem weer te geven, dat kan worden gebruikt om een belangrijkheids- of tevredenheidsniveau aan te geven. Dit veldtype is een selectieveld met de widget Prioriteit standaard geselecteerd en vier prioriteitswaarden vooraf gedefinieerd. Bijgevolg hebben de widgets Badge, Badges, Keuzerondje en Selectie dezelfde effecten als beschreven onder Selectie.

Tip

Klik op Waarden bewerken om het aantal beschikbare sterren te wijzigen door waarden toe te voegen of te verwijderen. Merk op dat de eerste waarde gelijk is aan 0 sterren (d.w.z. wanneer er geen selectie is gemaakt), dus vier waarden resulteren bijvoorbeeld in een driesterrenwaarderingssysteem.

Example

Voorbeeld van een prioriteitsveld

Bestand (binary)

Het veld Bestand wordt gebruikt om elk type bestand te uploaden of een formulier te ondertekenen (widget Ondertekenen).

  • Afbeelding: gebruikers kunnen een afbeeldingsbestand uploaden, dat vervolgens wordt weergegeven in formulierweergave. Dit heeft hetzelfde effect als het gebruik van het Afbeeldingsveld.

  • Pdf-viewer: gebruikers kunnen een pdf-bestand uploaden, dat vervolgens kan worden bekeken vanuit de formulierweergave.

  • Ondertekenen: gebruikers kunnen het formulier elektronisch ondertekenen. Dit heeft hetzelfde effect als het selecteren van het Ondertekenenveld.

Example

Voorbeelden van Bestandsvelden met verschillende widgets

Afbeelding (binary)

Het Afbeelding`veld wordt gebruikt om een afbeelding te uploaden en weer te geven in :ref:`formulierweergave <studio/views/general/form>. Dit veldtype is een Bestandsveld met de Afbeelding`widget standaard geselecteerd. De :guilabel:`Bestand-, Pdf-viewer- en Ondertekenen`widgets hebben dezelfde effecten als beschreven onder :ref:`Bestand <studio/fields/simple-fields-file>.

Tip

Selecteer Klein, Middel of Groot onder de optie Grootte om de weergavegrootte van geüploade afbeeldingen te wijzigen.

Ondertekenen (binary)

Het Ondertekenen`veld wordt gebruikt om het formulier elektronisch te ondertekenen. Dit veldtype is een :ref:`Bestandsveld <studio/fields/simple-fields-file> met de Ondertekenen`widget standaard geselecteerd. De :guilabel:`Bestand-, Afbeelding- en Pdf-viewer`widgets hebben dezelfde effecten als beschreven onder :ref:`Bestand <studio/fields/simple-fields-file>.

Tip

Selecteer een van de beschikbare Automatisch aanvullen met`velden (:ref:`Tekst <studio/fields/simple-fields-text>, Many2One en Gerelateerd veld alleen op het model) om gebruikers de :guilabel:`Automatisch`optie te geven bij het tekenen van hun handtekening. De handtekening wordt automatisch gegenereerd met behulp van de gegevens uit het geselecteerde veld.

Relationele velden

Relational fields are used to link and display the data from records on another model.

Notitie

Non-default widgets, when available, are presented as bullet points below.

Many2One (many2one)

Het :guilabel:`Many2One`veld wordt gebruikt om een ander record (van een ander model) te koppelen aan het record dat wordt bewerkt. De recordnaam van het andere model wordt vervolgens weergegeven op het record dat wordt bewerkt.

Example

Op het Verkooporder-model is het :guilabel:`Klant`veld een :guilabel:`Many2One`veld dat verwijst naar het Contact-model. Hierdoor kunnen veel verkooporders worden gekoppeld aan één contact (klant).

Diagram dat een many2one-relatie toont

Tip

  • Vink Aanmaken uitschakelen aan om te voorkomen dat gebruikers een nieuw record aanmaken in het gekoppelde model.

  • Vink Openen uitschakelen aan om te voorkomen dat gebruikers records openen in een pop-upvenster.

  • Klik op Domein om een filter aan te maken om gebruikers te helpen alleen het juiste record te selecteren.

  • Badge: geeft de waarde weer in een afgeronde vorm, vergelijkbaar met een label. De waarde kan niet worden bewerkt in de gebruikersinterface.

  • Keuzerondje: toont alle selecteerbare waarden tegelijkertijd als keuzerondjes.

One2Many (one2many)

Het veld One2Many wordt gebruikt om de bestaande relaties weer te geven tussen een record op het huidige model en meerdere records van een ander model.

Example

Je kunt een veld One2Many toevoegen aan het model Contact om de vele verkooporders van één klant te bekijken.

Diagram dat een one2many-relatie toont

Notitie

Om een veld One2Many te gebruiken, moeten de twee modellen al gekoppeld zijn via een Many2One-veld. One2Many-relaties bestaan niet zelfstandig: er wordt een omgekeerde zoekopdracht uitgevoerd van bestaande Many2One-relaties.

Regels (one2many)

Het veld Lines wordt gebruikt om een tabel met rijen en kolommen te maken (bv. de regels met producten op een verkooporder).

Tip

Klik op het veld Lines en vervolgens op Edit List View om de kolommen aan te passen. Klik op Edit Form View om het formulier te bewerken dat verschijnt wanneer een gebruiker op Add a line klikt.

Example

Voorbeeld van een veld Regels

Many2Many (many2many)

Het veld Many2Many wordt gebruikt om meerdere records van een ander model te koppelen aan meerdere records op het huidige model. Many2Many-velden kunnen Disable creation, Disable opening, Domain gebruiken, net als Many2One-velden.

Example

Op het model Taak is het veld Assignees een veld Many2Many dat verwijst naar het model Contact. Hierdoor kan één gebruiker aan vele taken worden toegewezen en kunnen vele gebruikers aan één enkele taak worden toegewezen.

Diagram dat many2many-relaties toont
  • Checkboxes: gebruikers kunnen meerdere waarden selecteren met behulp van selectievakjes.

  • Tags: gebruikers kunnen meerdere waarden selecteren die verschijnen in afgeronde vormen, ook wel labels genoemd. Dit heeft hetzelfde effect als het selecteren van het veld Labels.

Labels (many2many)

Het veld Tags wordt gebruikt om meerdere waarden van een ander model weer te geven in afgeronde vormen, ook wel labels genoemd. Dit veldtype is een Many2Many-veld met de widget Tags standaard geselecteerd. Bijgevolg hebben de widgets Checkboxes en Many2Many dezelfde effecten als beschreven onder Many2Many.

Tip

Vink Use colors aan om labels met verschillende achtergrondkleuren weer te geven.

Example

Voorbeeld van een veld Labels

Properties

Algemene eigenschappen

  • Onzichtbaar: Schakel deze eigenschap in wanneer het niet nodig is dat gebruikers een veld in de gebruikersinterface zien. Dit helpt de gebruikersinterface overzichtelijk te houden door alleen de essentiële velden te tonen, afhankelijk van een specifieke situatie.

    The Invisible attribute also applies inside Studio. To view hidden fields in Studio, click on a view’s View tab and enable Show Invisible Elements.

  • Verplicht: Schakel deze eigenschap in als een veld altijd door de gebruiker moet worden ingevuld voordat er verder kan worden gegaan.

  • Alleen-lezen: Schakel deze eigenschap in als gebruikers een veld niet moeten kunnen wijzigen.

Notitie

You can choose to enable Invisible, Required and Readonly for specific records only by clicking on Conditional and creating a filter.

Example

On the Form view of the Contact model, the Title field only appears when Individual is selected, as that field would not be helpful for a Company contact.

  • Label: the field’s name on the UI. This is not the name used in the PostgreSQL database. To view and change the latter, activate the developer mode and edit the Technical Name.

  • Hulptekst: Voeg een beschrijving toe om het doel van een veld uit te leggen. De tekst wordt weergegeven in een tooltip wanneer je met je muis over het vraagteken naast het veldlabel zweeft.

  • Widget: Selecteer een van de beschikbare widgets om het standaarduiterlijk of de functionaliteit van een veld te wijzigen.

  • Placeholder: To provide an example of how a field should be completed, add placeholder text. The text appears in light gray until a value is entered.

  • Standaardwaarde: Voeg een waarde toe om een standaardwaarde in een veld weer te geven wanneer een record wordt aangemaakt.

  • Zichtbaarheid toestaan aan groepen: Selecteer een of meer gebruikerstoegangsgroepen om te beperken welke gebruikers het veld kunnen zien.

  • Zichtbaarheid verbieden aan groepen: Selecteer een of meer gebruikerstoegangsgroepen om te voorkomen dat bepaalde gebruikers het veld kunnen zien.

Eigenschappen voor datum- en tijdvelden

For Date & Time fields that have the Date & Time or Date Range widget set, some specific properties are available:

  • Minimal precision: Determine the smallest date unit that must be selected in the date selector. The possible values are Day, Month, Year or Decade. If no value is selected, the user must select a day in the date selector.

  • Maximal precision: Determine the largest date unit that can be used to navigate the date selector. The possible values are Day, Month, Year or Decade. If no value is selected, the user can navigate the date selector by decade.

  • Waarschuwing voor toekomstige datums: Schakel deze eigenschap in om een waarschuwingspictogram weer te geven als een toekomstige datum wordt geselecteerd.

  • Compacte weergave: Schakel deze eigenschap in om dagen, maanden en uren zonder voorloopnullen weer te geven, bv. 4/2/2025 8:05:00 in plaats van 04/02/2025 08:05:00.

  • Tijd weergeven: Deze eigenschap is standaard ingeschakeld voor datum- en tijdvelden. Schakel de eigenschap uit bij een alleen-lezenveld om alleen de datum weer te geven. Dit kan bijvoorbeeld een lijstweergave overzichtelijker houden.

  • Seconden weergeven: Deze eigenschap is standaard ingeschakeld voor Datum & Tijd-velden. Schakel de eigenschap uit om alleen uren en minuten weer te geven.

  • Tijdsinterval: Voer een waarde in om de minuutintervallen te bepalen die in de tijdkiezer worden getoond. Voer bijvoorbeeld 15 in om kwartierintervals toe te staan. De standaardwaarde is ingesteld op 5 minuten.

  • Vroegst toegestane datum: Voer de vroegste datum in die in de datumkiezer kan worden geselecteerd in ISO-formaat, dus JJJJ-MM-DD. Als de huidige datum altijd de vroegst toegestane datum is, voer dan today in. In de datumkiezer worden datums voor de vroegst toegestane datum grijs weergegeven.

  • Laatst toegestane datum: Voer de laatste datum in die in de datumkiezer kan worden geselecteerd in ISO-formaat, dus JJJJ-MM-DD. Als de huidige datum altijd de laatst toegestane datum is, voer dan today in. In de datumkiezer worden datums na de laatst toegestane datum grijs weergegeven.