Practice Mode

MB-820

0/0 Loading...
of 0

MB-820 — 20 free practice questions

Preview the exam for free. Unlock all 116 questions →

Question 1

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.
  • A. Each customer has their own Business Central Server. Correct
  • B. The application and the business data are stored in the same database. Correct
  • C. Multiple customers share a single Business Central Server.
  • D. The application and business data are stored in separate databases.
  • E. Multiple customers share multiple Business Central Server instances.

Explanation

A single-tenant deployment is the classic one-server-one-database setup: each customer has their own Business Central Server, and the application and the business data sit together in one database. Sharing a server between customers, as in options C and E, describes multitenancy, where one server instance can support many tenants. Storing the application in a separate database, as in option D, is the design multitenancy relies on so that one application database can serve many tenant databases.

Question 2

A company plans to deploy Business Central. The company has the following deployment requirements: Use the company hardware architecture to run the deployment. Use sandbox environments to develop extensions. Allow tenants to connect to Shopify with the standard connector. Use Microsoft Power Automate to create a workflow that calls a business event. You need to identify the deployment type for each requirement. Which deployment types should you use? To answer, move the appropriate deployment types to the correct requirements. You may use each deployment type 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

Running on the company's own hardware means an on-premises deployment, because Business Central online is hosted by Microsoft on Azure. Sandbox environments are an environment type of Business Central online, created in the administration center, and you can publish to them from Visual Studio Code and attach a debugger for extension development. The Shopify Connector is available only for Business Central online and not for on-premises deployments. A workflow that calls a business event uses a Power Automate flow subscribed through the Dataverse connection, which fits the online deployment.

Question 3

A company is examining Connect apps and Add-on apps for use with Business Central. You need to describe the development language requirements for Connect apps and Add-on apps. How should you describe the app language requirements? To answer, move the appropriate app types to the correct descriptions. You may use each app type 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

A Connect app creates a point-to-point connection between Business Central and a partner solution, typically over a standard REST API, so it can be written in any coding language that can call REST APIs. An Add-on app extends Business Central itself, so it is written as an AL extension in Visual Studio Code with the AL Language extension. The two are not interchangeable: an external service has no need for AL, and code that runs inside Business Central must be AL.

Question 4

You develop a test application. You must meet the following requirements: Roll back changes to a test method after run time. Run an approve action on a test page named TestPageA. You need to implement the given requirements on the test codeunit. Which actions should you perform? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point.

Explanation

For rolling back changes to a test method, set the TransactionModel attribute to AutoRollBack: the test method starts a transaction, and when it completes, the transaction is rolled back and the database returns to its initial state. The TestIsolation property is the tempting wrong choice, but it belongs on a test runner codeunit rather than the test codeunit in question, while CommitBehavior and ErrorBehavior do not roll a test method back. For running an approve action on TestPageA, call TestPageA.Approve.Invoke(), because page actions on a test page are reached with dot notation and run with the Invoke method. Enabled and Visible only report the state of the action without running it, and Trap catches a call that opens a test page.

Question 5

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?
  • A. ForceUpgrade
  • B. ForceSync
  • C. Synchronize
  • D. Recreate Correct

Explanation

With schemaUpdateMode set to Recreate, all the extension's tables and table extensions are recreated at every publish, so their data is lost and you start with empty records. Synchronize, the default, keeps the data you entered earlier. ForceSync allows more schema changes while preserving data in almost all cases. ForceUpgrade is not a schemaUpdateMode value; forceUpgrade is a separate launch.json setting for running upgrade codeunits.

Question 6

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?
  • A. settings.json
  • B. rad.json
  • C. app.json Correct
  • D. launch.json

Explanation

allowDebugging is one of the options of the resourceExposurePolicy setting, which is defined in the extension's manifest, app.json, and it defaults to false. launch.json configures how the project is published and how debugging sessions start, not what the extension exposes to debugging. rad.json is a generated file that should not be modified, and settings.json holds Visual Studio Code settings rather than the extension's policy.

Question 7

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 app.json file.
  • C. Add the Locked = true parameter to the Caption. Correct
  • D. Delete the Caption property.
  • E. Copy the same caption for each language in the translation file.

Explanation

Adding Locked = true to the Caption label marks the text as one that must not be translated, and locked labels are left out of the generated XLIFF file by default. GenerateLockedTranslations does the opposite of what is needed: it makes the compiler generate translation units for locked labels. CaptionML values are not part of the XLIFF workflow, and copying the same text per language still leaves the caption translatable. Deleting the Caption property removes the caption rather than protecting it.

Question 8

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?
  • A. Get-BcArtifactUrl -type sandbox -select Current Correct
  • B. Get-BcArtifactUrl -type sandbox -select Closest
  • C. Get-BcArtifactUrl -type sandbox -select NextMinor
  • D. Get-BcArtifactUrl -type sandbox -select NextMajor

Explanation

Among the options, -select Current returns the artifact URL for the current released version of Business Central, which is the most recent generally available build for a development sandbox. NextMinor and NextMajor return Insider preview builds, which also require accepting the Insider EULA, so they are not the normal released version. Closest is meant for finding the build nearest to a specific version you ask for, so it does not by itself pick the most recent one.

Question 9

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?
  • A. custom object within the range 50000 to 59999
  • B. custom object within the range 50000 to 99999
  • C. divided by countries and use specific a country within the range 100000 to 999999
  • D. an object range within the range of 7000000 to 74999999 that is requested from Microsoft Correct
  • E. free object within the standard range 1 to 49999

Explanation

Apps distributed through AppSource use an object range requested from Microsoft: the app object range 70,000,000 to 74,999,999, which new publishers are advised to request, or the older RSP range below it. The 50,000 to 99,999 range is for per-tenant customizations and testing, so it is not for AppSource apps. The 100,000 to 999,999 range is used by Microsoft for country and region localizations and cannot be used by partners. IDs below 50,000 belong to the base application and must not be used in extensions.

Question 10

A company has a page named New Job Status connected to a source table named Job. The page has an action named Item Ledger Entries. The company requires the following changes to the page: - Filter the page to display only jobs with open or quote status. - Add the following comment for internal use: This page does not include completed jobs. - Item Ledger Entries action must open the selected job on the page and display it in the UI for users to modify. You need to select the property selections to use for each requirement. Which property selections should you use? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point.

Explanation

To display status of open or quote, use the SourceTableView with where(Status = filter(Open | Quote)), which limits the page to exactly those two values; the version that adds Planning shows too many jobs, and the sorting version only orders records without filtering them. To add a comment for internal use, use Description, which is for internal use and does not appear to end users; ToolTip is shown to users in the client. For the action that must open the selected job on the page, use RunPageLink, whose filter is visible in the UI and can be modified by users. RunPageView filters are not visible and cannot be modified, and its syntax accepts CONST or FILTER rather than FIELD.

Question 11

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 Correct
  • D. AutoFormatType

Explanation

A table extension can only change the field properties that Microsoft lists as extensible, and BlankZero is one of them, so you can decide whether zeros are displayed on a base table field. CalcFormula, DecimalPlaces and AutoFormatType are not marked as extensible, so they cannot be changed on a base table field from a table extension. DecimalPlaces is the tempting choice for tax rates, but it stays as defined in the base table.

Question 12

You have the following XML file sample for the Items list shown in the exhibit. You plan to create the next XML file by using an XMLport object. You need to complete the code segment to export the file in the required format. How should you complete the code segment? To answer, select the appropriate options in the answer area. ```al schema { textelement(Items) { [Dropdown 1](Item; Item) { [Dropdown 2](No; Item."No.") { } [Dropdown 3](Description; Item.Description) { } } } } ```
XML sample: Items root with Item elements that have a No attribute and a Description child element

Explanation

For Dropdown 1, choose Tableelement, because each Item node is one record of the Item table and a table element iterates over those records; the field and text nodes cannot declare a record source such as (Item; Item). For Dropdown 2, choose Fieldattribute, because the sample writes the number as an attribute of the Item element, as in <Item No="1000">, and the value comes from a table field. A Fieldelement would produce a separate <No> child element, which does not match the sample, and the text nodes are not bound to a table field. For Dropdown 3, choose Fieldelement, because Description appears in the sample as a child element with its own opening and closing tags, and its value comes from the Item.Description field.

Question 13

A company has the following custom permission set shown in the exhibit. 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.
AL permissionset 50000 "Sales Person Permission Set" with Assignable = false and tabledata permissions

Explanation

A permission set appears on the Permission Sets page only when it is assignable, so the Assignable property must be set to true. An assignable permission set name is limited to 20 characters, and "Sales Person Permission Set" has 27, so the object must be renamed or it will not compile. The two edits can be made in either order, and the app must then be published so the change reaches the environment. Including SUPER would only add permissions to the set and has no effect on whether it is listed, while the ObsoleteState, page and Expanded Permission options do not control visibility either.

Question 14

You create a codeunit that works with a table named Boxes. You plan to filter the records and then modify them. You get an error that you do not have permission to work with the Boxes table. You need to assign the Indirect permissions for the Boxes table to the codeunit. Which four code blocks should you use in sequence to assign the correct permission? To answer, move the appropriate code blocks from the list of code blocks to the answer area and arrange them in the correct order.

Explanation

The Permissions property on the codeunit takes the form Permissions = TableData "Boxes" = rm, which matches the documented pattern for granting table data access to an object. Lowercase letters mean indirect permission and uppercase letters mean direct permission, so rm is correct and RM is not. Filtering records requires read and changing them requires modify, so both r and m are needed. Table is not used here because the permission applies to the table's data, and execute (X) does not apply to table data.

Question 15

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?
  • A. SubType Correct
  • B. Access
  • C. Description

Explanation

A codeunit becomes a test codeunit when its SubType property is set to Test, which lets it hold test methods that the platform runs and reports as success or failure. Access only controls whether the codeunit can be referenced from other code, and Description is just descriptive text. Neither one changes how the codeunit behaves when tests run.

Question 16

A company owns and operates hotels, restaurants, and stores. When the staff orders materials from the purchasing department, the requests are not directed to the correct approvers. The staff requires a new field named Approver from which they can select the appropriate approver. The field must include the following options: - Hotel manager - Restaurant manager - Store manager - Purchasing manager You need to create the Approver field in the Item table by using an AL extension. 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.

Explanation

The enum comes first because it defines the four approver values that the new field uses as its type. A table extension then adds the field to the Item table, and new table fields belong in its fields section. Finally, a page extension shows the field on the Item Card, and page controls are added in the layout section. A table extension has no layout section and a page extension has no fields section, and there is no Base Application Approver table to add options to.

Question 17

A company uses Business Central. The company has branches in different cities. A worker reports that each time they generate a daily summary report, they get an error message that they do not have permissions. The code is shown in the exhibit. You need to resolve the issue. For each of the following statements, select Yes if the statement is true. Otherwise, select No. NOTE: Each correct selection is worth one point.
AL lines 15-21: local procedure GetLogisticsCharge reads the Logistics Setup record and returns Logistics Charge

Explanation

Statement 1 (No): The procedure reads a record from Logistics Setup with Get, so it needs read permission on the table's data. Object type Table with execute permission does not grant reading of the records. Statement 2 (Yes): TableData with R gives the method read access to the Logistics Setup data, which is what the Get call needs. The Permissions scope applies the grant to the user's permissions, which is where this error comes from. Statement 3 (Yes): TableData with r grants the method read access to the data, matching the documented form of this attribute. The Both scope covers permissions and entitlements, and it is also the default. Statement 4 (No): This has the same flaw as Statement 1, because execute permission on the table object gives no read access to the records, whatever the case of the letter or the scope.

Question 18

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?
  • A. XML
  • B. VariableText Correct
  • C. FixedText

Explanation

VariableText is the XMLport Format value for variable-length text files such as CSV, with separators and delimiters set through properties like FieldSeparator and FieldDelimiter. XML is the default and produces XML documents, not CSV. FixedText is for fixed-width fields, which the requirement rules out.

Question 19

You plan to create a table to hold client data. You have the following data integrity requirements: - Lookups into other records must be established. - Validate if a record exists in a destination record. You need to select the table field property to use for each requirement. Which table field property should you use? To answer, select the appropriate options in the answer area. NOTE: Each correct selection is worth one point.

Explanation

For Establish lookups into other records, choose TableRelation, the field property that sets up a lookup into another table. DataClassification and ExternalAccess deal with data handling and external access, and ValidateTableRelation only controls checking of a relation that already exists. For Validate if a record exists, choose ValidateTableRelation, which determines whether a user's entry is checked against the data in the related table, so an entry with no match causes a validation error. CalcFormula defines how a FlowField is calculated, and Access and AccessByPermission concern who can reach the field.

Question 20

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?
  • A. NavigatePage Correct
  • B. Card
  • C. RoleCenter
  • D. List

Explanation

NavigatePage is the page type for a multi-step dialog, also called a wizard or assisted setup guide, that walks a user through a sequence of steps. A Card page shows and edits one record, a List page shows many records, and a RoleCenter page is a user's home page, so none of them provides step-by-step navigation.

Verifying access...