Een keuzeset maken
Doel
Een keuzeset maken — een lijst met keuzes met een naam, zoals de status van een factuur — en er een veld aan koppelen, zodat gebruikers uit de lijst kiezen in plaats van vrije tekst te typen.
Vereisten
- Je bent aangemeld als maker met toestemming om de oplossing te bewerken.
- Er zijn een omgeving en een oplossing geselecteerd.
Stappen
-
Open de oplossing en selecteer Keuzesets in de navigatie links.
-
Selecteer Nieuw.
-
Voer een weergavenaam in (bijvoorbeeld
Invoice Status) en een logische naam. Het voorvoegsel van de uitgever wordt als vast label getoond — typ alleen het deel erna (bijvoorbeeldinvoicestatus). -
Voer desgewenst een beschrijving in van waarvoor de set dient.
-
Voer onder Opties de naam van elke keuze in (bijvoorbeeld
Draft,Sent,Paid). Selecteer Optie toevoegen voor elke volgende keuze. De volgorde waarin je ze invoert, is de volgorde die gebruikers zien. -
Wil je die volgorde wijzigen, sleep een optie dan aan de greep aan het begin van haar rij. Zonder muis: zet de focus op de greep, druk op Space om de optie op te pakken, op de pijltoetsen om haar te verplaatsen en nogmaals op Space om haar neer te zetten.
Verplaatsen nummert nooit opnieuw: elke optie houdt de waarde die haar is toegewezen, dus records die die waarde al hebben, blijven ongemoeid.
-
Geef een optie desgewenst een kleur en een pictogram, met het kleurstaal en de pictogramknop naast de naam. Beide zijn optioneel en onafhankelijk — een optie kan een kleur hebben, een pictogram, allebei of geen van beide.
Het kleurstaal opent een klein venster: kies een van de twaalf snelle kleuren, of gebruik het spectrum eronder voor elke willekeurige kleur — sleep over het vierkant voor de tint en langs de strook voor de kleurtoon, of typ (of plak) een hexcode in het vak. Kleur wissen, onderaan hetzelfde venster, verwijdert de kleur. De pictogramknop opent de doorzoekbare pictogramkiezer, met Pictogram wissen in de voettekst. In beide gevallen zit het wissen in de kiezer — er is geen aparte ✕ naast het besturingselement.
-
Selecteer Opslaan. De waarde van elke optie verschijnt ernaast zodra is opgeslagen.
Kleur en pictogram
Een kleur en een pictogram zorgen ervoor dat een status in één oogopslag te lezen is in plaats van woord voor woord: "Achterstallig" in rood tussen honderd rijen valt vanzelf op.
Ze zijn alleen voor de weergave. Een record slaat de waarde van de optie op, dus een optie een andere kleur geven, wijzigt geen gegevens en breekt niets wat ervan afhangt — en ze reizen mee met de oplossing, zodat een set die in Test wordt geïmporteerd eruitziet zoals hij is ontworpen, in plaats van kaal aan te komen.
Geeft een set een van haar opties een kleur of een pictogram, dan toont de vervolgkeuzelijst op een formulier die — zowel het pictogram als het label krijgen de kleur, dus een optie met een kleur maar zonder pictogram valt toch op. Een set waarvan de opties geen van beide hebben, houdt de eigen vervolgkeuzelijst van de browser, zodat een telefoon zijn gebruikelijke kiezer krijgt.
Een veld aan de set koppelen
- Open de tabel in Tabellen en ga naar het tabblad Velden.
- Selecteer Nieuw, voer de weergavenaam en de logische naam van het veld in en stel het Gegevenstype in op Keuzeset.
- Kies de Keuzeset waar de waarden van het veld vandaan komen.
- Selecteer Opslaan. Het veld is meteen actief.
Het veld verschijnt nu als vervolgkeuzelijst met de opties van de set, overal waar het op een formulier staat, en weergaven tonen de naam van de optie in plaats van de opgeslagen waarde.
Wat er achter de schermen gebeurt
Elke optie krijgt een waarde — een getal dat het platform toewijst, en dat is wat de database daadwerkelijk bij een record opslaat.
De waarden zijn grote getallen die beginnen in een bereik dat bij je uitgever hoort (bijvoorbeeld 270150000, 270150001, …) in plaats van vanaf nul te tellen. Dat is bewust: als de keuzes van elke uitgever bij nul begonnen, zou het importeren van oplossingen van twee uitgevers in één omgeving de "Concept" van de ene uitgever laten betekenen wat "Geannuleerd" bij de andere betekent. Door elke uitgever een eigen bereik te geven, is dat onmogelijk.
Daar volgen twee dingen uit, en die zijn goed om te weten:
- Je kunt geen waarde typen, en dat hoeft ook niet. Het platform wijst haar toe. Je kunt haar zien — dat is belangrijk als een extern systeem je gegevens leest — maar het is niet aan jou om haar te kiezen.
- Een optie hernoemen is veilig. De waarde verandert nooit. Records bevatten de waarde, niet de naam, dus "Verzonden" corrigeren naar "Uitgegeven" laat elk bestaand record precies betekenen wat het eerder betekende.
Wanneer de oplossing wordt geëxporteerd en ergens anders geïmporteerd, reizen de waarden mee, zodat Test en Prod het met Dev eens zijn over wat elk getal betekent. De keuzeset maakt deel uit van het oplossingspakket en wordt geïmporteerd vóór de tabellen waarvan velden haar gebruiken — dus als je een tabel met een keuzeveld promoveert, komen de keuzes mee in plaats van dat er een veld aankomt dat aan niets is gekoppeld.
Je hoeft de keuzeset niet apart aan de oplossing toe te voegen om dit te laten werken: een set die je maakt terwijl een oplossing is geselecteerd, hoort daarbij, net zoals een tabel.
Problemen oplossen
-
"An option set needs at least one option." — een set waaruit niemand kan kiezen, is niet bruikbaar. Voeg ten minste één optie toe voordat je opslaat.
-
"Option … appears more than once in this set." — twee opties delen een naam, waardoor ze niet te onderscheiden zijn voor wie er een kiest. Hernoem of verwijder er een.
-
"Option … cannot be removed: records still hold this value." — records gebruiken die optie. Zet die records eerst op een andere optie; de optie verwijderen zou ze achterlaten met een waarde die niets meer betekent.
-
"Field … still uses this option set." — een veld is aan de set gekoppeld. Verwijder het veld of laat het ergens anders naar verwijzen voordat je de set verwijdert.
-
"No option sets exist yet" bij het toevoegen van een Keuzeset-veld. — maak eerst de set; een veld kan alleen worden gekoppeld aan een set die al in deze omgeving bestaat.
-
Een opgeslagen record wordt geweigerd met "must be one of the … option set's values". — de waarde die wordt geschreven, is geen van de opties van de set. Dit is de server die een waarde weigert die hij niet kan verklaren; kies een optie uit de vervolgkeuzelijst.
-
Een import mislukt met "targets option set … which is not in the package". — een tabel in de oplossing heeft een keuzeveld waarvan de keuzeset niet in het pakket staat en ook nog niet in de doelomgeving bestaat. Voeg de keuzeset toe aan de oplossing en exporteer een nieuwe versie. Er is niets geïmporteerd, dus de doelomgeving is ongewijzigd.
-
Een import mislukt met "…already exists here, numbered from … but the imported one is numbered from …". — het doel heeft al een set met die logische naam, maar die hoort bij een andere uitgever, dus het zijn twee verschillende sets die toevallig dezelfde naam hebben. Ze kunnen niet worden samengevoegd: de geïmporteerde opties zijn genummerd vanuit een bereik waar de bestaande records niets van weten. Hernoem een van de twee sets, of importeer in een omgeving die de andere niet heeft.
-
Een import mislukt met "Option … cannot be removed: records still hold this value". — de geïmporteerde set heeft geen optie meer die records in deze omgeving nog gebruiken. Importeren werkt een bestaande set bij, maar verwijdert geen optie onder de records uit die haar bevatten. Zet die records eerst op een andere optie, of zet de optie terug in de set die wordt geïmporteerd.
(Een keuzeset die al in het doel aanwezig is, wordt verder bijgewerkt, niet geweigerd: labels worden vernieuwd, nieuwe opties toegevoegd en ongebruikte verwijderde opties weggelaten. Opties worden gematcht op hun toegewezen waarde, dus een optie upstream hernoemen, werkt haar hier bij in plaats van een tweede te maken.)
-
Een import mislukt met "Option value … is outside the publisher's range". — de definitie bevat waarden uit het bereik van een andere uitgever, wat meestal betekent dat het bestand met de hand is bewerkt. Waarden worden door het platform toegewezen; exporteer de set opnieuw in plaats van ze met de hand aan te passen.