
Microsoft Dynamics 365 Business Central Developer - MB-820 Exam Questions
QUESTION NO: 1
A company uses a Vendor-List report from the Base Application.
The company has new requirements that cannot be met by extending the Vendor - List report.
You create a new report named My Customized Vendor - List.
You need to replace the Vendor - List report with My Customized Vendor - List.
How should you complete the code segment? To answer, select the appropriate options in the answer area.
NOTE Each correct selection is worth one point.

A company uses a Vendor-List report from the Base Application.
The company has new requirements that cannot be met by extending the Vendor - List report.
You create a new report named My Customized Vendor - List.
You need to replace the Vendor - List report with My Customized Vendor - List.
How should you complete the code segment? To answer, select the appropriate options in the answer area.
NOTE Each correct selection is worth one point.

Correct Answer:

Explanation:
Codeunit::"Report Management", 'OnAfterSubstituteReport' If ReportId = Report::"Vendor - List" then NewReportId := Report::"My Customized Vendor - List"
QUESTION NO: 2
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?
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?
Correct Answer: A
Explanation: Only visible for Pass4Test members. You can sign-up / login (it's free).
QUESTION NO: 3
You are creating a new Business Central report.
You plan to use triggers and functions to dynamically create a dataset and control the report behavior.
You must provide the following implementation.
* Run when the report is loaded.
* Run when the data item is iterated for the last time.
* Skip the rest of the report.
You need to select the triggers and functions for the report.
Which triggers and functions should you use? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.

You are creating a new Business Central report.
You plan to use triggers and functions to dynamically create a dataset and control the report behavior.
You must provide the following implementation.
* Run when the report is loaded.
* Run when the data item is iterated for the last time.
* Skip the rest of the report.
You need to select the triggers and functions for the report.
Which triggers and functions should you use? To answer, select the appropriate options in the answer area.
NOTE: Each correct selection is worth one point.

Correct Answer:

Explanation:
* Runs when the report is loaded: OnInitReport
* Runs when the data item has been iterated for the last time: OnPostDataItem
* Use this function to skip the rest of the report: CurrReport.Quit()
1. Requirement: Runs when the report is loaded.
* Selection: OnInitReport
* Reasoning: The OnInitReport trigger is the very first event that fires when the report object is instantiated (loaded). It runs before the request page is displayed, making it the correct choice for
"when the report is loaded."
* Contrast: OnPreReport runs after the request page, just before the data processing starts.
2. Requirement: Runs when the data item has been iterated for the last time.
* Selection: OnPostDataItem
* Reasoning: The OnPostDataItem trigger executes immediately after the report has finished iterating through all records belonging to that specific data item.
* Contrast: OnPreDataItem runs before the loop starts, and OnAfterGetRecord runs repeatedly during the loop (for every record).
3. Requirement: Use this function to skip the rest of the report.
* Selection: CurrReport.Quit()
* Reasoning: The CurrReport.Quit() function completely aborts the execution of the report, effectively
"skipping" everything else remaining in the report logic.
* Contrast: CurrReport.Skip() only skips the current record processing and moves to the next record. CurrReport.Break() exits the current data item loop but proceeds to the next data item (if any) or finishes the report normally.
QUESTION NO: 4
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 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.
Correct Answer: A,B
QUESTION NO: 5
You create a table with fields.
You observe errors in the code
You need to resolve the errors.

For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.

You create a table with fields.
You observe errors in the code
You need to resolve the errors.

For each of the following statements, select Yes if the statement is true. Otherwise, select No.
NOTE: Each correct selection is worth one point.

Correct Answer:

Explanation:
* In line 12, declare "Job Task" as a variable. = NO
* Add the property FieldClass = FlowField; for field 3. = YES
* Add the property FieldClass = FlowFilter; for field 3. = NO
* In line 23, assign the "User Setup" table to a field. = YES
For "In line 12, declare 'Job Task' as a variable": In the AL code provided, the "Job Task" appears to be part of a CalcFormula of a FlowField, which means it references a table and not a variable. The "Job Task" does not need to be declared as a variable because it is used to reference a table in a CalcFormula expression.
For "Add the property FieldClass = FlowField; for field 3": The line of code CalcFormula = sum("Job Task
"."Recognized Sales Amount" where("Job No." = field("No."))); indicates that this field is calculated from other table data, which is the definition of a FlowField. Therefore, adding the property FieldClass = FlowField; is necessary for the field to function correctly.
For "Add the property FieldClass = FlowFilter; for field 3": FlowFilters are used to filter data based on the value in a flow field. Since field 3 is using a CalcFormula to sum values, it is a FlowField and not a FlowFilter. Therefore, this statement is not correct.
For "In line 23, assign the 'User Setup' table to a field": The line TableRelation = "User Setup"; suggests that the "Project Manager" field has a relation to the "User Setup" table, which is a method of assigning a table to a field to ensure that the values in "Project Manager" correspond to values in the "User Setup" table.
Hence, this statement is true.
QUESTION NO: 6
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?
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?
Correct Answer: C
Explanation: Only visible for Pass4Test members. You can sign-up / login (it's free).
QUESTION NO: 7
You need to edit the code to meet the formatting requirements on the Subcontract Document List for the control department.
Which formatting should you use?
You need to edit the code to meet the formatting requirements on the Subcontract Document List for the control department.
Which formatting should you use?
Correct Answer: E




