Geplaatst op
10 december 2020
Leestijd
7 min leestijd
Categorie
Business Central

In dit artikel nemen we je graag mee in, hoe wij een business case vaststellen en deze weten te vertalen naar een concrete oplossing op basis van low code Power Apps. Ook laten we zien welke componenten je hiervoor kunt inzetten. De nieuwe connector Connect2All van GAC Business Solutions, is dé oplossing voor vele vraagstukken waarbij Dynamics 365 Business Central met het Power Platform ontsloten wordt.

Business Case voor low code Power Apps

De business case die centraal staat om low code Power Apps te maken is als volgt:

  • Binnen een productiebedrijf worden grijp voorraden niet geregistreerd in een ERP systeem (in dit voorbeeld uiteraard Dynamics 365 Business Central). Op het moment dat grijp voorraden aangevuld moeten worden, dient de productiemedewerker het initiatief te nemen om een briefje in te vullen met het artikel wat aangevuld moet worden. Deze briefjes worden periodiek verzameld en eens per twee weken omgezet tot inkooporders in het systeem, door de tekst handmatig over te typen.
  • Gevolg van deze werkwijze is dat er onnodig een papieren proces wordt toegepast. De data worden door meerdere mensen op een bepaald moment ergens genoteerd of ingevoerd. Buiten dat dit erg foutgevoelig is, is het vooral zonde van de tijd. Alle data die vervolgens handmatig wordt geregistreerd, is ook nog eens voorhanden in het ERP. Een potentieel gevolg van deze werkwijze is dat grijpvoorraden op een bepaald moment niet aanwezig zijn, waardoor productieorders mogelijk vertraging oplopen. Dit kan resulteren in ontevreden klanten, verlate facturatie stroom, uitblijven van betalingen vanwege onvrede, etc., etc… In het kort: een hoop ellende!

Alle elementen om een Power App uit te werken zijn hier aanwezig. Deze zullen binnen no-time de investering terugverdienen!

Aan de slag met de juiste Microsoft Dynamics 365 tools

De business case is opgesteld, tijd om onze gereedschapskist open te maken en te kijken welke tools we kunnen inzetten. Dankzij het Power Platform zijn er meerdere opties mogelijk. Voor deze business case betreffen dit de volgende tools:

  • Dynamics 365 Business Central, normaal worden handmatig inkooporders aangemaakt o.b.v. de ingevulde briefjes. We willen dat de artikelen voorgesteld worden in een apart inkoopvoorstel. Daarnaast is de data die we willen inzetten voor dit proces aanwezig in het ERP (grijp voorraad artikelen).
  • Dynamics 365 Business Central API / Connector, er zijn veel standaard connectie mogelijkheden beschikbaar o.b.v. de standaard API die aanwezig is bij Business Central. Veel van deze toepassingen zijn via de standaard connector binnen het Power Platform te gebruiken. Deze kunnen we gebruiken om bijv. de artikel data op te halen.
  • Power Apps, om de registratie eenvoudig te laten plaatsvinden maken we een app die op een tablet gebruikt kan worden. Deze plaatsen we bij de grijp voorraden, zodat gebruikers direct digitaal de artikelen kunnen selecteren of de barcode kunnen scannen. De registratie dient het inkoopvoorstel te vullen, daarnaast is het wenselijk om visueel te maken wat er is ingekocht.
  • Power Automate, ondanks dat de standaard API veel mogelijkheden biedt heeft deze ook zijn beperkingen. Op het moment dat we bijv. inkooporders of inkoopvoorstellen willen maken, is dit niet mogelijk met de standaard connector. Hier heb je twee keuzes of je maakt een custom connector (wat voor de gemiddelde Power Platform gebruiker weer net een brug te ver is), of je gaat voor de standaard Connect2All connector van GAC Business Solutions om deze data te ontsluiten en te gebruiken binnen de Power App.
  • … misschien overbodig om te noemen, maar een daadwerkelijke tablet om de app in praktijk op te draaien, zou prettig zijn

Zo, de gereedschapskist is gevuld! Tijd om de oplossing te ontwikkelen. Bepaal duidelijk de scope, want voor je het weet word je overenthousiast. Een tip, houdt het simpel en effectief. Dit zorgt ervoor dat het gebruik van de Power App veel sneller geadopteerd wordt binnen het betreffende proces en je bedrijf. Voor deze app hebben we drie speerpunten bepaald: bestellen van grijp voorraad o.b.v. het selecteren van een keuzevak op een foto van het schap, bestellen door een barcode van het artikel te scannen en een overzicht het inkoopvoorstel om doublures te voorkomen.

In no time je low code Power Apps oplossing!

Om je een idee te geven, een proof of concept heb je binnen enkele uren (afhankelijk van de complexiteit) uitgewerkt (vaak nog veel sneller!). Voor dit voorbeeld hebben we ervoor gekozen, om te starten met het aanmaken van een aparte batch binnen het inkoopvoorstel. Genaamd “GRIJP”, zodat deze eenvoudig te onderscheiden is. Deze wordt enkel en alleen door de Power App gebruikt.

Nu kunnen we starten met het maken van low code Power Apps. Wanneer je een nieuwe gebruiker bent, start dan een app vanuit gegevens (bijv. artikelen, klanten, etc.). Heb je de eerste apps gemaakt, dan zul je al snel merken dat je het liefste vanaf scratch begint. Voor die laatste route kiezen we hier, zodat we zelf kunnen bepalen hoe de low code app functioneert. We trappen af met het grofweg bepalen, welke schermen we nodig denken te hebben in de app. Simpel en effectief gaven we eerder aan, dus in dit geval: het startscherm met 3 knoppen. Iedere knop navigeert naar zijn eigen pagina.

Wanneer de app opstart (of iedere keer als je op het “Start” scherm komt), wordt er automatisch een actie uitgevoerd om de laatste stand van het inkoopvoorstel op te halen. In het voorbeeld hebben we ervoor gekozen, dit o.b.v. Power Automate te doen. De app stuurt dan automatisch een verzoek richting Dynamcis 365 Business Central (via Connect2All), met de Connect2All module bepalen we welke data we willen gebruiken (alle regels uit het inkoopvoorstel GRIJP, waarvan we het artikelnummer, aantal, verwachte ontvangstdatum, eenheid en locatie willen weten). Deze worden vervolgens teruggestuurd naar de app, zodat je ze in een lokale collectie verder kan verwerken (eventueel ook mooi toe te passen in offline situaties).

In Power Apps kun je een collectie aanmaken van deze data, die automatisch worden ververst. De collectie vertalen we in het “Overzicht in bestelling” en gebruiken we in het proces zelf om gebruikers te notificeren. Zo is het overzichtelijk dat ze een artikel willen bestellen, dat al in bestelling staat (eventueel zou je natuurlijk ook de bestelknop kunnen deactiveren op dat moment).

In Business Central hebben we wat zaken ingericht (bijv. met kenmerken of artikelcategorie), om te bepalen wat de grijp voorraad artikelen zijn. Deze hebben we vervolgens gevisualiseerd op een (in dit geval fictieve) afbeelding van de grijpvoorraad locaties. Hiervoor dien je eenmalig even wat vierkanten toe te voegen, zodat we deze vakken kunnen selecteren. Vervolgens kunnen we bepalen wat er moet gebeuren. Op het moment dat je een vak selecteert, kleurt deze oranje. Op de afbeelding wordt vervolgens aangegeven, welk artikel dit betreft en kun je eventueel aangeven met pijltjes hoeveel “PAKKEN” (inkoopeenheid) je wenst te bestellen. Op het moment dat je op “bevestig” drukt, wordt de 2e en laatste Flow afgetrapt. Hierbij geven we 2 variabelen mee uit de app (artikelnummer en het aantal), om deze uiteindelijk richting het inkoopvoorstel te sturen.

De rest van de logica in Power Automate is toegevoegd, zodat de app eenvoudig in beheer blijft. Dit zijn allemaal keuzes die je hebt, naar wens hadden we de Connect2All connector ook direct uit de app kunnen gebruiken om deze regels aan te laten maken in het inkoopvoorstel. Power Automate is over het algemeen gebruiksvriendelijker, omdat je anders met complexere formules in de app dient te gaan werken. Doordat Connect2All de business logica in Business Central laat, zullen we in dit voorbeeld moeten bepalen wat het laatste regelnummer is geweest (je kan met deze functie namelijk ook een bestaande regel bijwerken. Geen nood, dit wordt binnenkort toegevoegd in onze connector zodat dit automatisch bepaald kan worden!). Vervolgens maken we een nieuwe record aan, waarbij we de gegevens vraag vanuit de Power App ophalen (zoals eerder beschreven, gaat dit nu enkel om artikelnummer en aantal).

Alle processen zijn nu in principe gedekt. We hebben ervoor gekozen, om een scan optie toe te voegen. Hiermee kan ik door de native scan functie van de camera van de mobiele device aan te roepen, een barcode scannen en deze waarde gebruiken in de app. De scanner is een zogenaamde control, die je als een element kan toevoegen. Deze heeft dan direct bepaald eigenschappen. Zo kan je bepalen of hij bepaalde barcodes moet scannen, of dit zelf mag bepalen (dus streepjes- en QR-codes kunnen dan bijv. door elkaar gebruikt worden). Door de “OnScan” functie te gebruiken, kun je bepalen wat de app moet vaststellen als de scan gelukt is. In dit geval vul ik een variabele met de gescande waarde. Vervolgens verschijnt ook hier het selectie vak, waar ik het aantal pakken wat bestelt moet worden in kan vullen, van het gescande product en heb ik de optie om te tonen of het product al in bestelling staat. Op het moment dat ik op bevestig druk, gebruik ik precies dezelfde Power Automate zoals in het voorbeeld met het selecteren van de afbeelding heb beschreven.

Et voilà! Zo zijn we van business case tot oplossing gekomen en hebben we je meegenomen, aan welke elementen je moet denken en hoe je dit zelf kan realiseren binnen het Power Platform. Aangezien we dagelijks op zoek zijn naar leuke casussen binnen groothandels- of productiebedrijven waar het Power Platform in kan excelleren, zijn we benieuwd of jij als lezer nog een leuke casus hebt. Laat het ons weten, wij komen graag in contact en kijken hoe de inzet van het Power Platform jouw leven gemakkelijker kan maken!

YOU GAC
Growing Together