Hi all,
I'm looking for guidance on how to manage and organize customizations in Business Central, especially when working on a mix of large and small changes for a client
For example, I’ve built a customization to automate Purchase Order creation directly from the Sales Order page for drop shipment scenarios. This involved creating table extensions, a codeunit, and a page extension specific to that functionality.
Later, I needed to make additional changes related to the Sales Line table and subform, which were not strictly tied to drop shipment functionality, but I added them to the same extension objects because they were initially related.
Now, the solution is growing and includes:
- More Major customizations like automated drop shipment handling.
- Minor tweaks and changes to standard behavior.
- Some features that are dependent on each other, and some that are not.
- Code is becoming lengthier
I'm concerned about the long-term maintainability and readability of the code. My questions are:
- What are the best practices for organizing customizations like these?
- Should I be splitting functionalities into separate apps/extensions or keeping them together with clear comments?
- How do you decide when to create a new table extension or codeunit versus reusing an existing one?
- Any tips for handling dependencies between related features?
- Is it a good practice to keep all table extensions in one
.app
file and have the rest of the logic (like pages and codeunits) in another .app
file that takes a dependency on the first? Or is it better to keep related logic grouped together in a single app?
Would love to hear how others manage this, especially in larger or long-term projects.
Thanks in advance!