Naar hoofdinhoud gaan

Records automatisch nummeren

Doel​

Elk nieuw record van een tabel een referentienummer geven dat zichzelf nummert — een factuurnummer, een dossiernummer, een boekingsreferentie — zodat niemand er een hoeft te verzinnen of het laatst gebruikte hoeft op te zoeken.

Vereisten​

  • U bent aangemeld met een makerrol en de oplossing van de tabel is geopend.

Stappen​

  1. Open de tabel en ga naar Velden. Selecteer Nieuw.

  2. Voer een weergavenaam in, bijvoorbeeld Reference. De logische naam vult zichzelf in.

  3. Kies Automatisch nummer als gegevenstype. Er verschijnt een vak Nummernotatie, al gevuld met REF-{yyyy}-{SEQ:00000}, met daaronder een voorbeeld van het eerste nummer.

  4. Pas de notatie naar wens aan. Alle tekst die u typt blijft staan; drie soorten tokens worden vervangen:

    TokenWordtVoorbeeld
    {SEQ}Het volgende nummer417
    {SEQ:00000}Het volgende nummer, aangevuld met zoveel nullen als u schreef00417
    {yyyy} / {yy}Het jaar waarin het record is aangemaakt2026 / 26
    {MM} / {dd}De maand en dag van aanmaak09 / 05

    Zo geeft CR-{yyyy}-{SEQ:000000} het nummer CR-2026-000417. Het voorbeeld verandert terwijl u typt.

  5. Selecteer Opslaan.

Plaats het veld net als elk ander veld op het formulier en in de weergaven van de tabel. Gebruikers zien het nummer, maar kunnen het niet wijzigen.

Wat er achter de schermen gebeurt​

  • Het nummer wordt bij het opslaan toegekend. Op een nieuw record toont het veld Toegekend bij opslaan; na de eerste keer opslaan het nummer van het record.
  • Elk veld heeft een eigen teller, die de database bijhoudt. Twee mensen die op hetzelfde moment opslaan krijgen twee verschillende nummers, en het nummer van een verwijderd record wordt nooit opnieuw uitgegeven. Er kunnen dus gaten zijn — een verwijderd record, of een opslag die mislukte nadat het nummer was getrokken — en dat is de bedoeling.
  • Niemand kan het nummer typen. Een formulier toont het alleen-lezen, en het platform negeert een waarde die een import of script ervoor stuurt, zodat twee records niet met de hand hetzelfde nummer kunnen krijgen.
  • De datum in het nummer is de aanmaakdatum in UTC, in de gregoriaanse kalender, welke kalender de maker van het record ook gebruikt. Een referentienummer is een identificatie en mag niet afhangen van wie het leest.
  • De teller reist niet mee met de oplossing. Een import in een andere omgeving brengt het veld en de notatie mee, en die omgeving begint haar eigen telling bij 1. Productie gaat niet verder waar Ontwikkeling was gebleven.

De notatie wijzigen​

Selecteer het veld en daarna Bewerken. Een nieuwe notatie geldt alleen voor het volgende nummer: records die al een nummer hebben houden het, want een referentie die iemand al heeft doorgegeven mag niet ongemerkt veranderen.

Problemen oplossen​

  • Het nummer toont {YYYY} of een ander token tussen accolades. — De notatie kent dat token niet en liet het staan. Hoofdletters tellen: het jaar is {yyyy}, de maand {MM}. Corrigeer de notatie; het volgende nummer klopt dan.
  • De nummers slaan over. — Zie hierboven: een verwijderd record of een mislukte opslag verbruikt een nummer. Is nummering zonder gaten wettelijk verplicht, nummer de records dan in een processtap.
  • Het nummer is langer dan mijn nullen. — Aanvullen is een minimum, geen maximum. Het miljoenste record van {SEQ:00000} is 1000000, zodat het nooit botst met een eerder record.

Gerelateerde scenario's​