Form Component Control: Quick View Form on speed

Door Dynamic Hands op

Het was in 2013 een grote sprong vooruit, toen we met Quick View Forms gegevens uit gerelateerde entiteiten konden weergeven. De meesten die daarmee gewerkt hebben, zullen van hun klantorganisatie de vraag hebben gekregen, waarom de velden uit deze formulieren niet te wijzigen zijn.

Het heeft Microsoft 8 jaar gekost, maar dan heb je ook wat: de wijzigbare Quick View Form ofwel de Form Component Control (FCC) voor modelgestuurde apps. Deze functionaliteit is al sinds april 2021 beschikbaar, maar zoals het zo vaak gaat met nieuwigheden in een wave, ernstig onderbelicht gebleven. Zo is er dus ineens een mogelijkheid bij gekomen, waar velen van ons al lang op zitten te wachten, maar die qua marketing op zijn zachtst gezegd nog een uitdaging kent.

Natuurlijk is het aanpassen van een gerelateerde tabel nooit meer dan (indien gewenst maximaal) een muisklik ver weg geweest, maar op het moment dat je een eindgebruiker onttrekt uit de vertrouwde omgeving van (bijvoorbeeld) zijn account formulier, begint al snel het gemor. Hoe kom ik nu weer terug naar mijn account? Kan dat niet sneller? Hóé vaak moet ik klikken? Nou, niet elke automatisering is een vooruitgang.

Nu daar verandering in is gekomen, geven we de gegevens van het primaire contactpersoon weer, op het account formulier, tonen we gegevens van het account op het contract formulier en laten we de gegevens van de importeur zien op het formulier van de auto. Als klap op de vuurpijl zijn deze gegevens nu dus nog te wijzigen ook!

Beperkingen

Is het dan alles goud wat blinkt? Nee, uiteraard niet. Microsoft toont ook bij deze uitgifte het achterste van haar tong niet, om ook de komende waves nog te kunnen vullen met verfraaiingen.

Zo kun je voor een FCC alleen maar een main formulier gebruiken en alleen de eerste tab hiervan zal getoond worden. Hierdoor kun je je gedwongen voelen, om onhandig veel kolommen weer te geven in die ene tab. Bovendien zullen er snel meerdere main forms zichtbaar worden voor je eindgebruiker en dat is niet altijd even gewenst.

Het gebruik van FCC in een Business Process Flow, in een andere FCC (‘nested’) of gebruik hetzelfde formulier in meerdere FCC’s is “not supported”. Dat betekent dus niet, dat het niet kan, maar je loopt wel het risico, dat tegen de tijd dat je je omgeving hebt volgegooid met matroesjka poppetjes vol met Form Component Controls, dit ineens in de volgende wave niet meer goed weergegeven wordt.

Verder wordt de balk met tabel specifieke knoppen niet weergegeven boven een FCC, maar gewoon die van de tabel waar je originele formulier deel van uit maakt.

Daarnaast kan dit Form Component Control niet gebruikt worden voor het aanmaken van nieuwe records. Je mag dus wijzigen, maar niet toevoegen.

Het laatste punt wat Microsoft misschien ooit nog zal verbeteren, is dat indien er nog geen sprake is van een geselecteerde relatie (bijvoorbeeld een account waar nog geen contactpersoon aan verbonden is) er een onhandige foutmelding getoond wordt: “Source record not selected”. Dit is eventueel af te vangen door het veld of de tab te verbergen, zolang er nog geen relatie gelegd is, maar dit gaat niet zonder slag of stoot. Immers, een Business Rule optuigen, die het veld verbergt zolang het nog geen waarde heeft, snijdt zichzelf in de vingers.

Stap voor stap

Wat wel een fijne verrassing is, is het gemak waarmee dit geïmplementeerd kan worden.

Case: ik wil op mijn account formulier een aparte tab hebben met de gegevens van het primaire contactpersoon en wil deze gegevens ook kunnen wijzigen.

Hiervoor ga je van start bij het standaard Account formulier in de klassieke editor (“Switch to classic”) waar je een nieuwe tab toevoegt.

Noem deze tab “Primary contact information” en voeg in de default sectie (let: opnieuw) het veld Primary Contact toe:

In de eigenschappen van dit veld selecteer je Controls en voeg je het Form Component Control toe:

Klik op het “potloodje” naast Forms en selecteer “Bind to a static value”. Bij SingleLine.Text vul je de volgende tekst in:
<QuickForms><QuickFormIds><QuickFormId entityname=”contact”>1fed44d1-ae68-4a41-bd2b-f13acac4acfa</QuickFormId></QuickFormIds></QuickForms>

In dit geval is de entityname natuurlijk die van de tabel, die je in wilt gaan voegen en het kenmerk in de QuickFormId tag de GUID van het hoofd formulier van de tabel Contact.

Vergeet niet Web, Phone en Tablet aan te vinken in de Control sectie:

Formulier opslaan, publiceren en that’s all folks:

Conclusie

Ondanks wat beperkingen, is dit een erg welkome aanvulling voor de beleving van onze eindgebruikers. Er is lang op gewacht en het resultaat is een behoorlijk volwassen en goed beheersbaar product. Er valt nog wel wat te finetunen, maar eigenlijk mag dat nauwelijks naam hebben.

De verleiding om Form Component Controls te gaan nesten, is door de beperking daarvan opgelost. Daardoor zal het enkelvoudige niveau waarop de gebruiker door de tabellen heen mag kijken, niet tot Inception-achtige scénario’s leiden.

We zijn van ver gekomen sinds in 2013 het Quick View Form het licht zag en dit soort stappen belooft alleen maar meer voor toekomstige verbeteringen.

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.