Free Microsoft MB-820 Practice Test Questions MCQs
Stop wondering if you're ready. Our Microsoft MB-820 practice test is designed to identify your exact knowledge gaps. Validate your skills with Microsoft Dynamics 365 Business Central Developer questions that mirror the real exam's format and difficulty. Build a personalized study plan based on your free MB-820 exam questions mcqs performance, focusing your effort where it matters most.
Targeted practice like this helps candidates feel significantly more prepared for Microsoft Dynamics 365 Business Central Developer exam day.
21130+ already prepared
Updated On : 3-Mar-2026113 Questions
Microsoft Dynamics 365 Business Central Developer
4.9/5.0
Topic 1: Case Study Alpine Ski House
You have a query object named Items Query. You write code using an Items Query query variable. You need to export the Items Query query data to a file. Which SaveAs function should you use?
A. SaveAsExcel
B. SaveAsWoid
C. SaveAsHiml
D. SaveAsCsv
Explanation:
In AL for Microsoft Dynamics 365 Business Central, the Query object has several methods for exporting data. The key distinction between them is the format of the output file.
SaveAsCsv:
This function is specifically designed to export the data from a query variable into a comma-separated values (CSV) file. This is a plain text format where each record is on a new line and fields are separated by commas. It is the standard and most direct way to export raw query data to a file for use in other systems like Excel, data import tools, or simple text editors.
Let's examine why the other options are incorrect:
A. SaveAsExcel:
This function exports the data directly into an Excel workbook (.xlsx) format. While this is a common requirement, the question specifically asks to export to a "file" without specifying a format. SaveAsCsv is the more generic and data-focused export function for a query. SaveAsExcel is better suited when you need the rich formatting and features of an Excel file.
B. SaveAsWord:
This function is used to export data into a Microsoft Word document (.docx). It is intended for creating formatted reports and documents, not for exporting raw query data to a simple file.
C. SaveAsHtml:
This function exports the data into an HTML file, which can be viewed in a web browser. Like SaveAsWord, this is for presentation purposes and includes HTML markup tags, making it unsuitable for a simple data export.
Reference:
Microsoft Learn Documentation:
Query Data Type - Methods
Note: This question is part of a series of questions that present the same scenario. Each
question in the series contains a unique solution that might meet the stated goals. Some
question sets might have more than one correct solution, while others might not have a
correct solution.
After you answer a question in this section, you will NOT be able to return to it. As a result,
these questions will not appear on the review screen.
A company creates a Business Central app and a table named MyTable to store records
when sales orders are posted.
Users report the following issues:
• The users receive permission errors related lo MyTable.
• Users are no longer able to post sales orders since installing the new app.
• The users cannot access the list page created in MyTable.
You need to resolve the user issues without creating new permission sets. You must use
the principle of least privilege.
Solution: In the MyTable object add the property InherentPermissions = Rl. Does the
solution meet the goal?
A. Yes
B. No
Explanation:
The solution does not meet the goal and will not resolve the user issues.
Here is a detailed breakdown:
1.Understanding the Problem:
The core issue is that users lack the necessary permissions to interact with MyTable. This is causing permission errors, preventing the posting of sales orders (likely because the posting process tries to write to this table), and blocking access to the list page.
2.Analyzing the Proposed Solution:
The solution suggests adding the InherentPermissions = Rl; property to the MyTable object.
What is InherentPermissions? This table property grants a set of baseline permissions (Read (R), Insert (I), Modify (M), Delete (D)) to any user who has permissions to the database. The X in RX etc., is a placeholder and the common syntax is RIMD. Rl is not a standard value; it's likely a typo meant to be R (Read) or RX.
What InherentPermissions Does: It is a powerful property that bypasses the normal permission set system. If you set InherentPermissions = RIMD;, any user who can connect to the database would have full read, insert, modify, and delete rights to that table, regardless of what their permission sets say.
3.Why It Fails the Goal:
Violates the Principle of Least Privilege: This is the most critical reason. The principle of least privilege states that users should be given only the permissions they absolutely need to perform their jobs. Granting inherent permissions to all users is the opposite of this principle. It provides excessive, blanket access.
Does Not Use Existing Permission Sets: The goal explicitly states to resolve the issue "without creating new permission sets." The correct approach is to modify the existing permission sets that the users are already assigned to. You would add the required permissions for MyTable (e.g., Read, Insert) to the permission sets like D365 BUS PREMIUM, D365 RAPID START, or a custom permission set that the users already have.
Potential Typo and Security Risk: Even if Rl was intended to be a minimal permission like R (Read-only), using InherentPermissions is still a blanket grant and violates the requirement. It is not a precise tool for fixing specific user permission issues.
Conclusion: The correct method is to identify which standard permission sets the affected users have and then add the necessary table permissions for MyTable to those existing sets. This grants access only to the users who need it, adhering to the principle of least privilege.
Reference:
Microsoft Learn Documentation:
Table Properties
A company uses Business Central.
The company plans to use a translation file in an extension. The extension has a caption
that should not be translated.
You need to prevent the caption from being translated.
What should you do?
A. Use the CaptionML property and copy the same caption for each language used.
B. Set the GenerateLockedTranslations feature in the appjson file.
C. Add the Locked = true parameter to the Caption.
D. Delete the Caption property.
E. Copy the same caption for each language in the translation file.
Explanation:
In Microsoft Dynamics 365 Business Central AL development, when building extensions that include multilingual support, developers often work with translation files (.xlf). These files allow captions, tooltips, and labels to be translated into various languages. However, in some cases, certain captions or labels must remain constant and should not be translated—for example, internal terms, product names, or registered trademarks.
To achieve this behavior in Business Central, the correct approach is to use the Locked property in AL. This property is specifically designed to prevent a label, caption, or text constant from being included in translation files. When a caption is marked as locked, it remains in its original form regardless of the target language and will not be exported to the .xlf translation files.
The correct syntax in AL is:
field(10; "MyField"; Code[20])
{
Caption = 'Internal Code';
Locked = true;
}
In this example,
the caption ‘Internal Code’ will always appear the same in every language environment. It will not show up in translation files generated by the build process. This means translators cannot modify or localize it, fulfilling the requirement that the caption remain untranslated.
The Locked property can be applied to captions, labels, tooltips, or any string that would normally be localized. It is a boolean property — when set to true, it disables translation; when omitted or set to false, the caption can be translated as usual.
The property is documented in Microsoft Learn, where it states:
“Specifies that a text constant, label, or caption should not be translated. When the Locked property is set to true, the text is not included in translation files (.xlf).”
(Reference: Microsoft Learn – Locked Property (AL)
)
This approach is the only supported and reliable method for preventing translation of specific captions in Business Central extensions.
Why Other Options Are Incorrect
A. Use the CaptionML property and copy the same caption for each language used.
❌ This option is incorrect because CaptionML was a property used in older C/AL development for on-premises NAV solutions. In modern AL development for Business Central, CaptionML has been deprecated and replaced by the Caption property and translation management through .xlf files. Copying the same caption for each language might visually achieve a similar result, but it is not the correct or supported approach for AL extensions. Furthermore, it does not prevent translation; it only duplicates text entries.
B. Set the GenerateLockedTranslations feature in the app.json file.
❌ This option is invalid because there is no setting called GenerateLockedTranslations in the app.json manifest file. The app.json configuration defines metadata like app ID, version, dependencies, and capabilities but does not control translation generation. Translation control is handled at the AL object or property level, not at the app manifest level. Therefore, this setting simply does not exist in the AL development environment.
D. Delete the Caption property.
❌ Removing the caption property from a field or control does not prevent translation—it only causes the system to use the default identifier (for example, the field name or control ID). This results in a poor user experience and violates Business Central design guidelines, which recommend providing meaningful captions. Moreover, the default name could still be picked up for translation if other properties reference it. Therefore, deleting the caption is not an acceptable or professional way to prevent translation.
E. Copy the same caption for each language in the translation file.
❌ This approach is inefficient and error-prone. Although duplicating the same caption for all languages might appear to lock it visually, it does not technically prevent translators from changing it later. When .xlf files are regenerated, the translation engine can still include these strings, allowing them to be overwritten. Additionally, maintaining the same caption across languages manually defeats the purpose of automated translation management in AL. The correct and supported way is to use the Locked = true property to exclude the caption from translation altogether.
Summary:
The Locked property provides developers with precise control over which strings in an AL project are eligible for translation. By marking captions or labels with Locked = true;, Business Central ensures they remain fixed in all locales and are not exported to translation files. This prevents accidental localization of terms that must remain consistent, such as brand names, internal codes, or proprietary identifiers. Other listed options either refer to obsolete properties, unsupported configuration settings, or ineffective manual workarounds that do not meet Business Central’s AL translation framework standards.
References:
Microsoft Learn –
Locked Property (AL)
Microsoft Learn –
Working with Translation Files
A company has the following custom permission set:

You need to make the permission set visible on the Permission Sets page.
Which three actions should you perform in sequence? To answer, move the appropriate
actions from the list of actions to the answer area and arrange them in the correct order.
NOTE: More than one order of answer choices is correct. You will receive credit for any of
the correct orders you select.

Explanation:
In Microsoft Dynamics 365 Business Central, developers can define permission sets directly in AL using the permissionset object type. These AL-defined permission sets can be published as part of an extension and assigned to users once visible in the system. By default, when a permission set is defined with the property Assignable = false;, it cannot be seen or assigned through the Business Central client. This setting is used when a permission set is only meant to be included in other sets, not directly used by users.
Let’s examine the process and rationale for making this permission set visible to users.
Step 1: Change the Assignable property value to true.
In the provided code sample, the permission set includes:
permissionset 50000 "Sales Person Permission Set"
{
Assignable = false;
Caption = 'Sales Person Permission Set';
Permissions =
tabledata Customer = RIMD,
tabledata "Payment Terms" = RMD,
tabledata Currency = RM,
tabledata "Sales Header" = RIM,
tabledata "Sales Line" = RIMD;
}
The key issue is the property Assignable = false;.
When this property is set to false, the permission set becomes hidden from the user interface, meaning it does not appear on the Permission Sets page and cannot be assigned manually to users.
To make it visible, the property must be changed to:
Assignable = true;
Setting Assignable = true indicates that the permission set should appear on the Permission Sets page in Business Central, allowing administrators to view, modify, and assign it to users or groups.
This property controls the visibility and assignability of the permission set rather than its functional permissions. Without this change, the permission set will exist in the database but remain invisible to end users.
📘 Reference:
Microsoft Learn –
Assignable Property (permissionset)
“Specifies whether the permission set can be assigned to users from the user interface. If set to false, the permission set is not shown on the Permission Sets page.”
Step 2: Publish the app with the permission set to an environment.
Once the property is modified, the next essential step is to publish the extension that includes this permission set. The publishing process compiles the AL code, generates a new application package, and installs or updates it in the target Business Central environment.
This step can be done using Visual Studio Code and AL commands such as:
Ctrl+F5 (to publish and run)
or
AL: Publish to your sandbox
Publishing is required because AL code changes (like property edits) only take effect when the extension is redeployed to the environment. The permission set definition is stored as metadata within the extension package, and updating the code alone without publishing will not modify the environment’s permission set configuration.
Once published successfully, Business Central updates its internal list of permission sets, and the “Sales Person Permission Set” object becomes active and ready to display on the Permission Sets page.
“Publishing your extension updates the environment with the extension’s objects, including permission sets.”
Step 3: Verify visibility on the Permission Sets page.
After publishing, open Business Central and navigate to:
Settings → Users → Permission Sets.
Search for “Sales Person Permission Set.” It should now be listed in the page, visible and assignable to users.
If the permission set was still hidden, that would indicate that the Assignable property remains false or that the extension wasn’t published correctly.
This final verification ensures the permission set is not only defined correctly in AL but also available for assignment within the client.
Why Other Options Are Incorrect
Remove the Assignable = false property.
❌ Removing it entirely defaults the property to false, still hiding the permission set. You must explicitly set it to true.
Add the page "Permission Sets" = X value to the Permissions property.
❌ The Permissions property defines data access (tables, reports, codeunits, etc.), not visibility on the UI.
Add the IncludedPermissionSets = SUPER property.
❌ This would only include permissions from another set (SUPER) but doesn’t affect visibility.
Add the tabledata "Expanded Permission" = RIMD value to the Permissions property.
❌ Adds an extra table permission; irrelevant to making the permission set visible.
Rename the permission set object.
❌ Renaming has no effect on visibility.
Add the ObsoleteState = No property.
❌ Used to mark objects as deprecated or obsolete, not to make them visible.
Summary:
To make a custom AL permission set visible on the Permission Sets page, follow these exact steps:
Change Assignable = true; in the permission set object.
Publish the extension to the target Business Central environment.
Verify that the permission set appears on the Permission Sets page.
A company plans to meet new regulatory requirements.
The regulator has issued new tax tiers.
You need to update the base application table by using a table extension.
Which table field property can you change?
A. CalcFormula
B. DecimalPlaces
C. BlankZero
D. AutoFormatType
Explanation:
In Microsoft Dynamics 365 Business Central, when developers need to modify the data structure of existing base application tables, they use table extensions. A table extension allows adding new fields, keys, or field groups to standard tables but does not allow modification of most existing field properties. The system enforces this limitation to protect data integrity, maintain upgrade compatibility, and ensure that future Microsoft updates to the base application do not conflict with customizations.
However, a small subset of field properties in the base table can be changed through a table extension. Among the options given, only BlankZero is a property that can be modified in a table extension.
Why the Correct Answer Is C. BlankZero
The BlankZero property controls whether a field with a zero numeric value is displayed as blank in the user interface. This affects only how values are displayed, not how they are stored.
Property Description:
When BlankZero = true;, any numeric field value of zero will appear blank to the user.
When BlankZero = false;, the field will show 0 explicitly.
Since this property influences the field’s presentation and not its data structure, Business Central allows developers to override or redefine it in a table extension. This makes it a safe and supported customization in AL because it does not interfere with database schema or system logic.
Example:
tableextension 50100 CustomerExt extends Customer
{
modify("Balance (LCY)")
{
BlankZero = true;
}
}
In this example, the modification ensures that the “Balance (LCY)” field displays blank instead of zero, which might be required for compliance or reporting presentation purposes.
“Specifies whether a zero value in a decimal or integer field is displayed as blank. This property can be set in a table extension.”
Why Other Options Are Incorrect
A. CalcFormula
❌ The CalcFormula property defines the formula used for FlowFields, which are virtual fields that calculate values dynamically based on other table data. Modifying this property changes the business logic behind how data is aggregated or computed.
In Business Central, you cannot change the CalcFormula of an existing field using a table extension because this would alter the field’s internal computation logic defined in the base application.
If you need a different calculation, you must instead create a new field in your table extension and define your own CalcFormula.
B. DecimalPlaces
❌ The DecimalPlaces property defines how many decimal digits are displayed or stored for a field of type Decimal. This directly impacts the precision of the stored data. Because this affects the field’s data structure and could lead to data loss or rounding errors, it cannot be changed in a table extension.
Any change in decimal precision would alter the underlying SQL schema and storage type, violating the integrity of the base application data model. The only allowed method to have a different number of decimal places is to define a new field in the table extension.
D. AutoFormatType
❌ The AutoFormatType property specifies the predefined format used to display numeric, date, or time values. It defines how values appear based on local or system settings. Although this property only affects display, it is not allowed to be modified for existing fields in a table extension.
The reason is that Business Central reserves field formatting definitions for the base application to ensure consistent behavior across localizations and modules. You can apply a different format to a newly added field in your extension, but you cannot modify an existing field’s AutoFormatType.
📘 References:
BlankZero Property (AL)
CalcFormula Property (AL)
DecimalPlaces Property (AL)
AutoFormatType Property (AL)
A company uses Business Central.
The company has sales orders that have a different location in the header than in the
customer's card. You plan to add a check on sales order posting.
The check must meet the following requirements.
• Sales Order must have the same Location Code as the Location Code set up on the
customer's card.
• Must not be run in preview mode.
• Must be run even if the user is only shipping items and not invoicing.
You create an event subscription for codeunit 80 "Sales-Post" You need to identify which
event to subscribe to Which event should you identify?
A. Option A
B. Option B
C. Option C
D. Option D
Explanation:
In Microsoft Dynamics 365 Business Central, when customizing the posting behavior of sales orders via event subscriptions in codeunit 80 Sales-Post, selecting the correct event is critical to ensure your logic executes under the right conditions.
The requirement is to validate that the Location Code on the Sales Order matches the Location Code on the Customer Card, and this check must:
Run before posting begins
Be skipped in preview mode
Execute even when only shipping, not invoicing
Option A is the correct event to subscribe to because it satisfies all three conditions:
Runs before posting logic: OnBeforePostSalesDoc is triggered before any posting occurs, allowing pre-validation of the SalesHeader.
Provides access to PreviewMode: This lets you conditionally bypass your logic if the user is running a preview.
Supports shipping-only scenarios: This event is triggered regardless of whether the user is posting shipment, invoice, or both.
Includes IsHandled flag: This allows you to override or inject custom logic and optionally prevent the base behavior.
Provides SalesHeader2: This is the actual sales document being posted, giving you direct access to the Location Code for validation.
❌ Why Other Options Are Incorrect:
ption B – Overloaded OnBeforePostSalesDoc with many parameters:
While technically valid, this version is overly complex and includes parameters like CustLedgerEntry, SalesHeaderNew, and others that are irrelevant to your validation. It’s harder to maintain and not necessary for a simple location check.
Option C – OnBeforePostSalesLines(SalesHeader, TempSalesLineGlobal, TempVATAmountLine, EverythingInvoiced):
This event is triggered after document-level validations, focusing on line-level posting. It’s too late to enforce header-level consistency like comparing Location Codes.
Option D – OnBeforePostSalesDoc with CustLedgerEntry and GenLinePostLine:
This variant is tied to invoicing scenarios, as CustLedgerEntry is only populated during invoice posting. It violates the requirement to run the check even when only shipping.
🧪 Implementation Notes:
Your event subscriber should look like this:
al
[EventSubscriber(ObjectType::Codeunit, Codeunit::"Sales-Post", 'OnBeforePostSalesDoc', '', true, true)]
procedure ValidateLocationCode(SalesHeader2: Record "Sales Header"; SuppressCommit: Boolean; PreviewMode: Boolean; HideProgressWindow: Boolean; var IsHandled: Boolean)
var
Customer: Record Customer;
begin
if PreviewMode then
exit;
Customer.Get(SalesHeader2."Sell-to Customer No.");
if SalesHeader2."Location Code" <> Customer."Location Code" then
Error('Sales Order Location Code must match Customer Location Code.');
end;
This ensures the check is skipped in preview mode and enforces the location match before posting.
📚 References:
Event Subscription Overview: Microsoft Learn – Subscribing to Events
Codeunit 80 – Sales-Post Events: Microsoft Learn – Codeunit "Sales-Post"
Field Access and Validation: Microsoft Learn – AL Language Reference
A company uses Business Central.
The company plans to use the AL object model in Business Central to extend the Base
Application.
You need to extend the objects.
Which two objects can you extend? Each correct answer presents a complete solution.
NOTE: Each correct selection is worth one point.
A. Codeunit
B. Report
C. Query
D. API page
E. Enum
E. Enum
Explanation:
In AL, extensibility is designed for specific object types to allow adding functionality without altering the base application's source code. The principle is to enable safe, upgradable customizations.
A. Codeunit:
YES. You can create a codeunit extension to add new procedures, global variables, and triggers to an existing codeunit. This is fundamental for injecting custom business logic into existing processes.
E. Enum:
YES. You can create an enum extension to add new members (values) to an existing enumeration. This is a common and critical practice for adding new options without breaking existing logic that depends on the original enum values.
Why the Other Options Are Incorrect:
B. Report:
NO. Reports are not extended using a simple extend keyword. Instead, you create a report extension object, which is a separate artifact. This allows for adding new controls or modifying certain properties but is a different, more limited mechanism than the core extension types.
C. Query:
NO. Query objects are not extensible. To modify a query's data structure or sources, you must create an entirely new query object. There is no concept of a query extension.
D. API Page:
NO. API pages are a specialized type of page object optimized for OData and API endpoints. They are locked down for consistency in web services and cannot be extended. You must create a new API page to expose additional data.
Reference:
Microsoft Learn Documentation:
"Extending Application Objects"
This core documentation explicitly details the process for creating Table Extensions, Page Extensions, Codeunit Extensions, and Enum Extensions. The absence of Query, Report, and API Page from this list confirms they are not directly extensible in the same manner. Report extensions are covered under a separate "Report Extension Object" topic, which is a distinct concept.
You plan to run a debug for a client.
You extend the Standard Sales - Invoice report to add a new requirement.
You create a Report Extension 'Ext Standard Sales - Invoice' with ID = 50100 and add the
following lines of code. (Line numbers are included for reference only.)

Explanation:
✅ Correct Debugging Steps (in order):
Locate the report extension in Visual Studio Code Open your workspace and find Ext Standard Sales - Invoice (ID = 50100). This is where the custom logic resides.
Search where NewTotalVATBaseLCY is assigned and set a breakpoint Find the assignment line inside the OnAfterGetRecord() trigger and set a breakpoint to inspect runtime values.
Start the debug session Launch the Business Central debugger from Visual Studio Code to begin tracking execution.
Use the step-over functionality Step over the GetTotalVATBaseLCY(...) call to inspect the returned value and verify input parameters.
🔍 Why this sequence works:
It isolates the extension logic first.
It targets the exact assignment line for inspection.
It avoids stepping into unnecessary base code unless needed.
It allows you to validate whether incorrect values stem from parameter issues or the GetTotalVATBaseLCY function itself.
📚 Reference:
Debugging AL Code in Business Central
Report Extensions Overview
You create a Business Central report.
You need to insert values on the Request page to be saved for the next time the report is
run.
What should you do?
A. Set the Transact! on Type property to Update.
B. Declare a Savevalues' variable and assign it to true on the OnOpenPage () trigger.
C. Set the Use Request Page property to true.
D. Set the SaveValues property to true.
Explanation:
To save user-entered values on a report's Request Page so they are pre-populated the next time the report is run, you must use the SaveValues property.
D. Set the SaveValues property to true:
This is the direct and correct solution. When you set the SaveValues property to true on the report object, the system automatically persists the values a user enters in the filters and controls on the Request Page. These values are stored in the Report Settings table and are automatically restored the next time the same user opens the report.
Why the Other Options Are Incorrect:
A. Set the Transact-SQL on Type property to Update:
This property does not exist for Report objects in AL. It is not relevant to saving Request Page values.
B. Declare a SaveValues variable and assign it to true on the OnOpenPage() trigger:
The SaveValues functionality is a built-in property of the report runtime engine, not a variable that can be controlled by AL code. Manually declaring a variable named SaveValues will have no effect.
C. Set the Use Request Page property to true:
This property determines whether a Request Page is shown to the user at all. It must be set to true to have a Request Page, but it does not control whether the values on that page are saved between sessions.
Reference:
Microsoft Learn Documentation:
Report Properties
You can find the official documentation by searching for "Report Object" in the AL Language reference. The SaveValues property is specifically described with its purpose: "Determines whether the user's input on the request page is saved for the next time the report is run."
A company uses four objects in development in Business Central.
The company plans to make changes to the objects.
You need to identify the application layer for each object in Visual Studio Code.
Which objects ate available in each application layer? To answer, move the appropriate
application layer to the correct objects You may use each application layer once, more than
once, or not at all. You may need to move the split bar between panes or scroll to view
content.
NOTE: Each correct selection is worth one point.

Explanation:
Business Central application layers define where objects reside and who can modify them. The Base layer contains Microsoft-delivered objects that are protected and cannot be directly modified. The System layer contains system tables and core application objects. The Customer/Extension layer (represented by the empty bracket) is where developers create modifications and extensions without altering base objects.
Correct Option:
Language table – System layer
Language table is a system table that stores language codes and is part of the System application layer. It is not intended for customer modification and is maintained by Microsoft. It is available across all countries and used for multilanguage functionality.
Activities Cue table – System layer
Activities Cue tables are part of the Role Center framework and stored in the System layer. These tables store user-specific activity counts and cues. They are system-managed and should not be modified directly in the Base layer.
Extension Management codeunit – System layer
Extension Management codeunit handles extension lifecycle operations such as install, uninstall, and update. It is a system codeunit in the System layer. It manages extensions but is not itself part of the extension layer.
Business Unit Card page – Base layer
Business Unit Card page is a standard page in the Base application layer. It is delivered by Microsoft and part of the core finance module. Extensions should use page extension objects to modify it instead of altering the base object.
Incorrect Options:
Language table – Base layer –
Language table is not in the Base layer; it is a system table. Base layer contains business objects like sales documents, items, and journals. Language table is cross-functional system data.
Activities Cue table – Base layer –
This is incorrect. Activities Cue tables are part of the System application layer, not the Base layer. Base layer does not contain user-specific cue tracking tables.
Extension Management codeunit – Base layer –
This is incorrect. The Extension Management codeunit is in the System layer, not the Base layer. Base layer does not manage extension installation logic.
Business Unit Card page – System layer –
This is incorrect. Business Unit Card is a standard business page in the Base layer. System layer contains tables like Permission, User, and Access Control, not business entity cards.
Reference:
Application Layers in Business Central
| Page 1 out of 12 Pages |