2 packs: 15% off with code BUY2. 3 or more: 20% off with code BUY3.

Free Microsoft MB-820 Practice Questions

19 free Microsoft MB-820 practice questions from the CertStash pack of 131, each with the correct answer and a full explanation. The rule is the same for every exam: ten free on the product page, 19 free here, all 131 in the pack, and each step includes the one before it.

Question 1

You are exporting data from Business Central. You must export the data in a non-fixed length and width in CSV format. You need to generate an XMLport to export the data in the required format. Which Format property value should you use?

  1. XML
  2. VariableText
  3. FixedText
Show answer and explanation

Correct answer: B. VariableText

VariableText is the correct format property for exporting data in CSV format with non-fixed length and width. This format allows variable-length fields separated by delimiters, which is the standard CSV behavior. XML format is for XML data structures, and FixedText is for fixed-width data where each field occupies a predetermined number of characters.

Why the other options are wrong

  • A. XML format is used for structured XML data export, not CSV format.
  • C. FixedText format enforces fixed-width columns, which contradicts the requirement for non-fixed length and width.

Question 2

A company has a task that is performed infrequently. Users often need to look up the procedure to complete the task. The company requires a wizard that leads users through a sequence of steps to complete the task. You need to create the page to enable the wizard creation. Which page type should you use?

  1. NavigatePage
  2. Card
  3. RoleCenter
  4. List
Show answer and explanation

Correct answer: A. NavigatePage

NavigatePage is the correct page type for creating wizards in Business Central. This page type is specifically designed to guide users through a sequence of steps, with built-in navigation controls for moving between steps. Card pages are for single-record display, RoleCenter pages are for dashboards, and List pages display multiple records.

Why the other options are wrong

  • B. Card pages are designed for viewing and editing individual records, not for multi-step wizards.
  • C. RoleCenter pages provide dashboards and role-based views, not step-by-step guided processes.
  • D. List pages display collections of records in a tabular format, not wizard sequences.

Question 3

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 in 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 to 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 = RI. Does the solution meet the goal?

  1. Yes
  2. No
Show answer and explanation

Correct answer: A. Yes

Setting InherentPermissions = RI on the MyTable object grants Read and Insert permissions implicitly. This allows the posting functionality to work and users to access the list page without requiring new permission sets. The R (Read) permission enables list page access and the I (Insert) permission enables the posting of sales orders, adhering to the principle of least privilege by granting only necessary permissions.

Question 4

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 in 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 to 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: Assign a SUPER permission set. Does the solution meet the goal?

  1. Yes
  2. No
Show answer and explanation

Correct answer: B. No

Assigning the SUPER permission set violates the principle of least privilege explicitly stated in the requirements. SUPER grants all permissions indiscriminately rather than granting only the minimum necessary permissions. The requirement specifically states that permission issues must be resolved without creating new permission sets AND while adhering to least privilege principles, which the SUPER permission set contradicts.

Question 5

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 in 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 to 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: Decorate the event subscriber used for inserting data in MyTable by entering (InherentPermissions(PermissionObjectType::TableData. Database::MyTable. 'R')] Does the solution meet the goal?

  1. Yes
  2. No
Show answer and explanation

Correct answer: B. No

The event subscriber inserts records into MyTable, so it needs inherent Insert permission on the table data. Granting only Read (R) does not allow the insert, so sales order posting still fails with a permission error and the solution does not meet the goal.

Why the other options are wrong

  • A. Read permission does not allow the subscriber to insert records, so posting would still fail.

Question 6

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?

  1. Set the TransactionType property to Update.
  2. Declare a ‘SaveValues’ variable and assign it to true on the OnOpenPage() trigger.
  3. Set the UseRequestPage property to true.
  4. Set the SaveValues property to true.
Show answer and explanation

Correct answer: D. Set the SaveValues property to true.

The SaveValues property controls whether request page values are persisted between report executions. Setting SaveValues to true automatically saves the values entered on the Request page and restores them the next time the report is run. TransactionType is for data modification behavior, declaring variables is not the appropriate mechanism, and UseRequestPage simply controls whether the Request page displays.

Why the other options are wrong

  • A. TransactionType property controls whether data is modified in a transaction, not whether request page values are saved.
  • B. Creating a variable and assigning it in OnOpenPage is not the standard mechanism for persisting request page values across report runs.
  • C. UseRequestPage property determines whether the Request page is shown, not whether its values are saved for future runs.

Question 7

A company is deploying Business Central on-premises. The company plans to use a single-tenant deployment architecture. You need to describe how the data is stored and how the Business Central Server is configured. In which two ways should you describe the single-tenant architecture? Each correct answer presents a complete solution. NOTE: Each correct selection is worth one point.

  1. Each customer has their own Business Central Server.
  2. The application and the business data are stored in the same database.
  3. Multiple customers share a single Business Central Server.
  4. The application and business data are stored in separate databases.
  5. Multiple customers share multiple Business Central Server instances.
Show answer and explanation

Correct answer: A, B. Each customer has their own Business Central Server; The application and the business data are stored in the same database.

In a single-tenant deployment each customer has its own Business Central Server instance. The application objects and the business data are stored together in the same database, unlike multitenancy where a shared application database serves separate tenant databases.

Why the other options are wrong

  • C. Sharing one server among multiple customers describes a multitenant deployment.
  • D. Separating the application and business data into different databases is the multitenant model.
  • E. Customers sharing server instances is a multitenant arrangement, not single-tenant.

Question 8

You are cleaning up sandbox environments for a company. The company requires data to be cleared from the environments each time an extension is published. You need to configure the launch.json file. Which schemaUpdateMode property should you set?

  1. ForceUpgrade
  2. ForceSync
  3. Synchronize
  4. Recreate
Show answer and explanation

Correct answer: D. Recreate

The Recreate schemaUpdateMode setting clears all data from the sandbox environment when an extension is published, which fulfills the requirement to remove data each time an extension is deployed. This mode completely recreates the database schema, effectively wiping existing data. ForceUpgrade applies schema changes while preserving data, ForceSync synchronizes without clearing, and Synchronize is similar to ForceSync, none of these clear the data as required.

Why the other options are wrong

  • A. ForceUpgrade preserves existing data while applying schema changes.
  • B. ForceSync synchronizes the schema without clearing environment data.
  • C. Synchronize performs schema synchronization but does not clear data from the environment.

Question 9

You need to allow debugging in an extension to view the source code. In which file should you specify the value of the allowDebugging property?

  1. settings.json
  2. rad.json
  3. app.json
  4. launch.json
Show answer and explanation

Correct answer: C. app.json

The allowDebugging property is specified in the app.json file, which contains the extension's manifest and configuration settings. This property controls whether the extension can be debugged and source code viewed during development. The settings.json file contains user settings, rad.json is not a standard Business Central configuration file, and launch.json controls launch configurations for debugging sessions but does not define the allowDebugging property itself.

Why the other options are wrong

  • A. settings.json contains user workspace settings, not extension debugging configuration.
  • B. rad.json is not a standard Business Central configuration file for debugging settings.
  • D. launch.json controls how debugging is launched but not the allowDebugging property itself.

Question 10

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?

  1. Use the CaptionML property and copy the same caption for each language used.
  2. Set the GenerateLockedTranslations feature in the app.json file.
  3. Add the Locked = true parameter to the Caption.
  4. Delete the Caption property.
  5. Copy the same caption for each language in the translation file.
Show answer and explanation

Correct answer: C. Add the Locked = true parameter to the Caption.

Adding the Locked = true parameter to a Caption property prevents the caption from being included in translation files and marks it as locked from localization. This is the standard mechanism in Business Central for excluding specific text from translation workflows. CaptionML is legacy syntax, GenerateLockedTranslations is not a valid feature, deleting the property removes functionality, and manually copying captions in translation files does not prevent translation.

Why the other options are wrong

  • A. CaptionML is outdated syntax and does not properly lock captions from translation.
  • B. GenerateLockedTranslations is not a valid feature in app.json for preventing translations.
  • D. Deleting the Caption property removes the caption entirely rather than preventing translation.
  • E. Manually copying captions in the translation file does not prevent the translation process.

Question 11

You are developing an app that will be published to Microsoft AppSource. The app requires code analyzers to enforce some rules. You plan to add the analyzers to the settings.json file. You need to activate the analyzers for the project. Which three code analyzers should you activate to develop the app for AppSource? Each correct answer presents part of the solution. NOTE: Each correct selection is worth one point.

  1. CodeCop
  2. UICop
  3. a custom rule set
  4. PerTenantExtensionCop
  5. AppSourceCop
Show answer and explanation

Correct answer: A, B, E. CodeCop; UICop; AppSourceCop

CodeCop enforces AL language coding standards, UICop validates user interface consistency and best practices, and AppSourceCop applies specific rules required for AppSource-published applications. These three analyzers together ensure code quality, UI compliance, and AppSource marketplace requirements. They must all be activated in settings.json for apps intended for AppSource publication.

Why the other options are wrong

  • C. A custom rule set is not a standard code analyzer that should be activated for AppSource compliance.
  • D. PerTenantExtensionCop is used for on-premises tenants and is not required for AppSource apps.

Question 12

A company plans to set up a local Business Central Development Docker container. The environment will be used for testing new project ideas. You need to ensure that the most recent Business Central artifact URL has been selected. Which command should you use?

  1. Get-BcArtifactUrl -type sandbox -select Current
  2. Get-BcArtifactUrl -type sandbox -select Closest
  3. Get-BcArtifactUrl -type sandbox -select NextMinor
  4. Get-BcArtifactUrl -type sandbox -select NextMajor
Show answer and explanation

Correct answer: A. Get-BcArtifactUrl -type sandbox -select Current

The Get-BcArtifactUrl command with the -select Current parameter retrieves the most recent Business Central artifact URL available. The Current selection targets the latest released version. Closest would return the nearest match to a specified version but not necessarily the latest. NextMinor and NextMajor select upcoming versions rather than the current most recent release.

Why the other options are wrong

  • B. Closest returns the nearest match to a reference point, not necessarily the latest current version.
  • C. NextMinor selects upcoming minor releases, not the current most recent artifact.
  • D. NextMajor selects upcoming major releases, not the current most recent artifact.

Question 13

You create a page with the PageType property set to RoleCenter. You navigate through the different sections of the page. You need to add functionalities to the page. What should you do?

  1. Define actions in the area(reporting) before actions in the area(creation).
  2. Define the navigation menu in the area(processing).
  3. Define the navigation bar in the area(embedding).
  4. Add a source table on the Role Center page.
Show answer and explanation

Correct answer: C. Define the navigation bar in the area(embedding).

A Role Center page defines its navigation bar in the area(Embedding) section of the actions, which shows the links at the top of the Role Center. Role Center pages have no source table, so functionality is added through action areas such as Embedding, Sections, Creation, Processing and Reporting.

Why the other options are wrong

  • A. The order of the reporting and creation areas is not a requirement for adding functionality to a Role Center.
  • B. The navigation menu is defined in area(Sections), not area(Processing).
  • D. Role Center pages do not use a source table, so adding one does not add functionality.

Question 14

You are creating an entitlement object in Business Central to enable transactability for AppSource apps. You must map the entitlement object to a plan in Partner Center. You need to select the value of the Type property to use in the entitlement object. Which value should you use?

  1. PerUserServicePlan
  2. Implicit
  3. Unlicensed
  4. Role
Show answer and explanation

Correct answer: A. PerUserServicePlan

The PerUserServicePlan type is the correct entitlement type for AppSource apps that require per-user licensing mapped to service plans in Partner Center. This type enables transactability by establishing a clear licensing model where each user must have an appropriate license assignment to access the app's functionality.

Why the other options are wrong

  • B. Implicit entitlements do not map to Partner Center plans and are not suitable for AppSource transactable apps.
  • C. Unlicensed entitlements make the app accessible without licensing, defeating the purpose of transactability.
  • D. Role-based entitlements are not the mechanism for mapping to Partner Center service plans.

Question 15

A company has a Business Central online environment. You are exporting a file from a client by using the DownloadFromStream method. You need to create an InStream data type to send the data. Which solution should you use?

  1. Use CreateInStream method from codeunit "Temp Blob".
  2. Use CreateInStream method for BLOB field of "TempBlob" table.
  3. Use CreateInStream method for File type variable.
Show answer and explanation

Correct answer: A. Use CreateInStream method from codeunit "Temp Blob".

The CreateInStream method from the codeunit 'Temp Blob' is the standard and recommended approach in Business Central for creating an InStream data type when preparing data for download operations. This codeunit provides a dedicated, efficient method for managing temporary binary large objects and converting them to input streams suitable for the DownloadFromStream method.

Why the other options are wrong

  • B. TempBlob is a codeunit, not a table, so this approach references a non-existent table structure.
  • C. The File type variable does not have a CreateInStream method for this purpose in Business Central.

Question 16

You are developing an app. You plan to publish the app to Microsoft AppSource. You need to assign an object range for the app. Which object range should you use?

  1. custom object within the range 50000 to 59999
  2. custom object within the range 50000 to 99999
  3. divided by countries and use specific a country within the range 100000 to 999999
  4. an object range within the range of 7000000 to 74999999 that is requested from Microsoft
  5. free object within the standard range 1 to 49999
Show answer and explanation

Correct answer: D. an object range within the range of 7000000 to 74999999 that is requested from Microsoft

When publishing an app to Microsoft AppSource, developers must request and use object ranges within the allocated range of 7,000,000 to 74,999,999 from Microsoft. This ensures no conflicts with other AppSource applications and the base product. The ranges 50000-59999 and 50000-99999 are for on-premises development, country-specific ranges are not assigned by country, and the 1-49999 range is reserved for Microsoft base application objects.

Why the other options are wrong

  • A. The 50000-59999 range is for on-premises custom objects, not AppSource applications.
  • B. The 50000-99999 range is for on-premises development, not AppSource publishing.
  • C. Object ranges are not divided by country in Business Central's allocation system.
  • E. The 1-49999 range is reserved exclusively for Microsoft base application objects.

Question 17

A company has a Business Central online environment. You need to create an HTTP GET request that connects to an external REST service. Which solution should you use?

  1. HttpContent data type variable
  2. Codeunit 1299 "Web Request Helper"
  3. Codeunit 5459 "JSON Management"
  4. Codeunit 1297 "Http Web Request Mgt."
  5. HttpClient data type variable
Show answer and explanation

Correct answer: E. HttpClient data type variable

The HttpClient data type variable is the modern, standard approach in Business Central for making HTTP requests including GET operations to external REST services. It provides a straightforward and flexible interface for constructing and executing HTTP calls with proper request/response handling.

Why the other options are wrong

  • A. HttpContent is used for request/response body content, not for initiating HTTP connections.
  • B. Web Request Helper is an older helper codeunit not typically used for direct REST service calls.
  • C. JSON Management codeunit handles JSON parsing, not HTTP request execution.
  • D. Http Web Request Mgt. codeunit is deprecated in favor of the HttpClient data type.

Question 18

You plan to write unit test functions to test newly developed functionality in an app. You must create a test codeunit to write the functions. You need to select the property to use for the test codeunit. Which property should you use to ensure that the requirements are fulfilled?

  1. SubType
  2. Access
  3. Description
Show answer and explanation

Correct answer: A. SubType

The SubType property is set to Test on a codeunit to designate it as a test codeunit capable of containing unit test functions. This property marks the codeunit for testing purposes and enables the test framework to recognize and execute the test functions within it. Access controls visibility of the codeunit but does not designate it as a test codeunit. Description is metadata documentation and does not affect test functionality.

Why the other options are wrong

  • B. Access property controls codeunit visibility but does not designate it as a test codeunit.
  • C. Description provides documentation but does not establish test codeunit functionality.

Question 19

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?

  1. CalcFormula
  2. DecimalPlaces
  3. BlankZero
  4. AutoFormatType
Show answer and explanation

Correct answer: C. BlankZero

The BlankZero property can be modified when extending a base application table to change how the field displays zero values, which may be necessary for regulatory compliance or updated business rules. CalcFormula cannot be changed in extensions as it defines the calculation logic of the base table. DecimalPlaces cannot be modified in extensions for existing fields. AutoFormatType cannot be changed in table extensions.

Why the other options are wrong

  • A. CalcFormula defines the calculation for a field and cannot be changed through table extensions.
  • B. DecimalPlaces is a field property that cannot be modified in table extensions for existing fields.
  • D. AutoFormatType cannot be changed when extending existing table fields.

That was 19 of 131.

The full Microsoft MB-820 pack has all 131 questions, each with the answer, the explanation and why the other options are wrong, plus a questions-only copy for timed runs. US$39, paid once, with free monthly updates and a pass-or-your-money-back guarantee.

Get the full pack

Not ready yet? Get the first 27 free as one PDF by email. Get the Half Pack →