And in fact, in this enum value, I do want a default implementation since “Empty” is a fallback since I want to use the new expandable and collapsable row feature in BC16.
The solution: this is a property on Enum level
The motivation here for me to work with an Enum and an Interface is that we have a partner that want’s to implement a feature called “multiple layouts” that we think does not fit with the simplicity we have in mind for our core product.
This allows the partner to create a new App in AppSource with a dependency on ForNAV that introduces new features that only a subset of our customers need.
The majority of our customers is not burdoned with unnessesairy complexity while the few who need it have a solution they can subscribe to.
That my friends is what we mean with Extendability by design.
Another quick tip for something I’ve used this week to help out a QBS partner with performance issues on Business Central.
Since the last release it’s possible to issue read-only commands on a real-time copy of your Business Central database by using the DataAccessIntent property.
This allows API Pages, reports and queries to be executed outside of your production database which is ideal for Power Apps, Power BI and websites that for example only show status information on outstanding orders.
Then I remembered, “off course” we can also use that with the ForNAV report pack for financial reports that run longer, like the Inventory to G/L Reconciliation. (Which already runs 10 times faster than the out of the box version).