🧠 Business Rules guidelines

Richtlijnen voor het ontwerpen en toepassen van Business Rules binnen Dataverse

← Terug naar Develop

1. Introductie

Business Rules worden binnen Dataverse gebruikt om eenvoudige business logica te configureren zonder gebruik van code.

Ze worden ingezet voor validaties, standaardwaarden en conditioneel gedrag op formulieren. Hierdoor vormen ze een belangrijke, maar bewust beperkte laag in de totale Business Logic implementatie.

👉 Gebruik Business Rules voor eenvoudige logica, niet voor complexe bedrijfsprocessen.

2. Doel

Business Rules worden toegepast voor:

  • Veldvalidaties
  • Standaardwaarden
  • Conditioneel tonen/verbergen van velden
  • Eenvoudige UI logica

3. Opbouw van een Business Rule

Business Rules worden aangemaakt vanuit de entiteit (table) in Dataverse.

Stappen

  1. Open de betreffende entiteit
  2. Ga naar Business Rules
  3. Klik op New Business Rule
  4. Configureer de rule via de designer
  5. Voeg conditions en acties toe
  6. Activeer de Business Rule

Opbouw

  • Condition(s) → wanneer wordt de rule uitgevoerd
  • Action(s) → wat gebeurt er als de condition waar is
  • Scope → waar de rule actief is

Scope

  • Entity scope (beperkt server-side gedrag)
  • All Forms
  • Specific Form
👉 Gebruik bij voorkeur All Forms tenzij er een specifieke reden is voor form-specifiek gedrag.

Ondersteunde acties

  • Set Business Required
  • Set Field Value
  • Set Visibility
  • Set Default Value
  • Show Error Message
👉 Combineer meerdere acties binnen ÊÊn rule indien logisch samenhangend.

4. Wanneer gebruik je Business Rules

✅ Wel gebruiken
  • Eenvoudige veldvalidaties
  • UI gedrag op formulieren
  • Snel configureren zonder deployment van code
âš ī¸ Beperkingen
  • Minder geschikt voor complexe logica
  • Niet bedoeld voor logica over meerdere entiteiten
  • Beperkt in procesautomatisering
❌ Niet gebruiken voor
  • Complexe business logica
  • Procesautomatisering (gebruik Power Automate)
  • Geavanceerde UI componenten → gebruik PCF Controls
👉 Zie het volledige besliskader: 🔀 Logic Implementation – techniek keuze

5. Decision flow (vereenvoudigd)

  • Eenvoudige validatie of UI gedrag → ✅ Business Rule
  • Form scripting nodig → JavaScript
  • Custom UI component nodig → PCF Control
  • Procesautomatisering → Cloud Flow
  • Complexe backend logica → Plugin / Custom API

6. Testing

  • Test alle condition paden (true / false)
  • Controleer gedrag op formulieren
  • Test validaties bij opslaan
  • Controleer interactie tussen meerdere rules
👉 Test altijd combinaties van meerdere Business Rules.

7. Performance

  • Beperk het aantal Business Rules per formulier
  • Vermijd overlappende logica
  • Te veel rules kunnen leiden tot slechtere gebruikerservaring

8. ALM & Deployment

Business Rules maken onderdeel uit van solutions en worden via ALM processen gedeployed tussen omgevingen.

  • Opgenomen in unmanaged en managed solutions
  • Gedrag kan veranderen tussen omgevingen
  • Altijd regressietesten na deployment
  • Let op afhankelijkheden met andere logica (JS, plugins)
👉 Hoewel configureerbaar, hebben Business Rules impact op je ALM lifecycle.

9. Richtlijnen

Eenvoud

  • Houd Business Rules klein en overzichtelijk
  • Vermijd complexe beslisstructuren

Naming

  • Gebruik duidelijke en beschrijvende namen

Voorbeelden:

  • BR_Account_ValidatePostalCode
  • BR_Contact_SetDefaultCountry

Structuur

  • Groepeer logisch samenhangende acties
  • Vermijd duplicatie van logica

Onderhoudbaarheid

  • Beperk het aantal rules per entiteit
  • Verwijder verouderde rules

10. Veelgemaakte fouten

✘ Te complexe Business Rules

✘ Conflicterende regels

✘ Dubbele logica (JavaScript / plugins)

✘ Onduidelijke naming


11. Troubleshooting

  • Controleer of de rule actief is
  • Controleer de scope
  • Check conflicten met andere rules
  • Controleer volgorde van uitvoering

12. Voorbeeld

Scenario:

  • Als land = Nederland → Postcode verplicht

Implementatie:

  • Condition: Country == NL
  • Action: Set PostalCode = Required

13. Samenvatting

  • Eenvoudige logica → Business Rules
  • Complexe logica → andere technieken
  • Custom UI componenten → PCF Controls
  • Altijd testen en afstemmen binnen ALM
✅ Gebruik Business Rules voor eenvoudige logica ❌ Gebruik andere technieken voor complex gedrag