Development teams can build a custom Business Central Codeunit extension using Application Language (AL), an object-oriented language used to create and extend applications within Business Central.
This extension allows developers to modify existing reports without altering the original format. You can efficiently adapt standard reports to meet unique business requirements while ensuring they are safe for future upgrades. Developers can perform actions like:
Report extensions typically contain the following key components:
Below are some use cases for which you may want to use a report extension.
1. Build Customized Sales Invoices
Your company might want to update its logos or terms and conditions. There may also be a need to add an additional field. Examples include notes intended for customers or internal references for employees. Developers can use report extensions to modify a dataset to include custom information, then attach it to a Word or RDLC layout that reflects the organization’s branding and formatting preferences.
2. Add Information to Financial Reports
A business may decide to include additional data columns in its financial reports, like account schedules. This may involve updating the reports to include extra columns that highlight KPIs, managerial accounting, or figures from specific departments.
3. Meet Compliance Regulations
Many businesses must comply with specific regulations regarding the format of their invoices or tax reporting. With report extensions, companies can modify reports to accommodate local data required for government-mandated invoice details, as well as include QR codes or language-specific labels.
The page extension in Business Central enables you to modify existing pages, including cards, lists, and documents. You can add fields, new actions, or additional controls to tailor a user interface to suit individual business workflows and data requirements. One benefit of using page extensions is that they remain compatible with future Business Central upgrades.
Some of the key features of page extensions include:
Let’s explore some common use cases for the Business Central page extension.
1. Adding Custom Fields
You can display custom fields from a table. If your business wants to add a specific delivery window to the customer table, you can use a page extension to add the field to the Customer Card Page. Users can review and update the information without needing to navigate to a custom page.
2. Streamlining UI
A company may want the interface to reflect different fields depending on a user’s role. Page extensions let you hide or remove fields that don’t apply to a user. A sales representative would see different controls compared to a customer service representative.
3. Adding Quick Actions
If you want to add a button to a Customer List page called 'Send Reminder Email,' you can do so with a page extension. The button could be used to send reminders to customers who are late on their payments or for other purposes.
Permission sets define the operations users are allowed to perform on different Business Central Objects. Extending permission sets lets you add or remove specific permissions without the need to recreate them or make manual modifications through the user interface.
The Business Central Permission Set feature enables developers to update existing permission sets using AL language. This makes it easier to manage access control, ensuring users have the proper permissions to view pages, tables, reports, or other actions.
The key elements of a permission set extension include:
Below are examples of instances where you might want to enact a permission set extension.
1. Give Users Access to Custom Objects
If you have an extension designed to introduce a new custom module, you can use it to set permissions and provide users with appropriate access. This allows you to set up custom permissions for roles like accounting or IT.
2. Create Secure Role-Based Access
You can use a permission set to tailor permissions for various departments. For example, finance department members can have full access to a new calculation table. Other users would be blocked from accessing the information, thereby protecting it.
3. Streamline Deployments and Automation
You can eliminate the need to manually configure permissions for user groups and environments by utilizing permission set extensions to embed access policies directly in AL code. This is helpful when deploying solutions to multiple tenants. You maintain consistency and reduce the potential for human error.