Naar inhoud springen
Van Oosten Advies B.V.

Business Central

Maatwerk in Business Central dat de volgende update overleeft

Business Central krijgt twee grote updates per jaar en daartussen kleinere updates. Maatwerk dat daar niet op is gebouwd, wordt een terugkerende kostenpost, en soms de reden om updates uit te stellen. U wilt uitbreidingen die gewoon blijven werken.

In Business Central draait maatwerk als extensie in AL, naast de standaardcode in plaats van erin. Dat is een grote verbetering ten opzichte van vroeger, maar geen garantie. Een extensie die leunt op interne onderdelen, geen events gebruikt of afhankelijk is van een app die niet meer wordt onderhouden, breekt alsnog. De eerste vraag is daarom niet hoe iets gebouwd wordt, maar of het gebouwd moet worden.

Wanneer dit bij u past

  • Een proces wijkt echt af van de standaard, en een instelling of een bestaande app lost het niet op.
  • Updates worden uitgesteld omdat niemand zeker weet wat het maatwerk doet.
  • U heeft extensies van een vorige partij, zonder broncode of documentatie.
  • U wilt een bestaande extensie laten toetsen voordat u erop verder bouwt.

Wat de opdracht omvat

Code schrijven is het kleinste deel.

  • Eerst de afweging: standaardfunctionaliteit, een instelling, een bestaande app, Power Automate of een eigen extensie.
  • Ontwerp en bouw in AL, via events en subscribers, zonder afhankelijkheid van interne objecten.
  • Code-analyse met de standaard analyzers van Microsoft (CodeCop, PerTenantExtensionCop en waar van toepassing AppSourceCop).
  • Geautomatiseerde tests voor de logica die ertoe doet.
  • Broncode in een repository die van u is, met versiebeheer en een build-pipeline.
  • Controle van de extensie tegen de previewversie van de volgende grote update.

Wat u krijgt

Een extensie die u zelf bezit, en die iemand anders kan onderhouden.

  • De extensie, met broncode en rechten bij u.
  • Een korte functionele beschrijving: wat het doet, en waarom de standaard niet volstond.
  • Tests en een pipeline die bij elke wijziging draaien.
  • Een overzicht van de afhankelijkheden van andere apps.

Wat het niet is

  • Geen maatwerk dat standaardfunctionaliteit nabouwt.
  • Geen ontwikkeling van commerciële apps voor verkoop via AppSource.
  • Geen wijzigingen in de standaardcode, ook niet on-premises.
  • Geen onderhoud van C/AL-code uit NAV. Daar hoort eerst een besluit over migratie bij.

Veelgestelde vragen

Wat is AppSource-hygiëne, en waarom is dat voor mij van belang?

Ook als uw extensie nooit op AppSource komt, zijn de regels die Microsoft daar hanteert een goede maatstaf: geen afhankelijkheid van interne objecten, correcte object-ID-reeksen, nette naamgeving en afgebakende rechten. Een extensie die daaraan voldoet, gedraagt zich voorspelbaar bij updates en is over te dragen aan een andere ontwikkelaar.

Wie is eigenaar van de broncode?

U. Dat leg ik vooraf vast. Broncode die bij de bouwer blijft, maakt u voor elke wijziging afhankelijk van die bouwer.

We hebben maatwerk van een vorige partij zonder documentatie. Wat nu?

Eerst in kaart brengen wat er draait, wat het doet en wat er nog gebruikt wordt. Vaak blijkt een deel overbodig. Daarna kiest u per onderdeel: overnemen, vervangen door standaardfunctionaliteit, of opnieuw bouwen.

Kan Power Automate het ook?

Soms. Voor meldingen, goedkeuringen en eenvoudige gegevensstromen is het vaak de snellere route. Voor logica die moet ingrijpen in een boeking of een document, is een extensie betrouwbaarder.

Maatwerk nodig in Business Central?

Beschrijf wat de standaard niet doet. Ik zeg eerlijk of een extensie het antwoord is, of dat het met een instelling of een bestaande app kan.