Question 330
At fictional Harborline Health Supply, the Business Central development team is supporting medical supply purchasing and reviewing object model and application extensibility during a tenant acceptance test (MB820-3.1-060). The observed development issue is that a team tries to add a new invoice state by changing a standard option field with closed choices. Which Business Central or AL development principle best explains the right response?
Explanation
Correct Answer
The governing principle is that extensible enums permit declared values across compatible app boundaries. The engineering response is to use a supported extensible enum or enumextension where the target model allows extension. Verification should show that the new enum value is recognized without modifying the base object's existing members.
Incorrect Answers
“Data schema extensions must account for previously stored records” concerns the separate step “use a compatible field design and controlled initialization that respects existing rows”. The reported issue is that a team tries to add a new invoice state by changing a standard option field with closed choices, so the direct response is to use a supported extensible enum or enumextension where the target model allows extension.
“Page extensions enhance specific UI surfaces and must consider visibility controls” concerns the alternative task “add the field in the appropriate pageextension layout section and verify ApplicationArea and permissions”, but the stated failure is that a team tries to add a new invoice state by changing a standard option field with closed choices. The required measure is to use a supported extensible enum or enumextension where the target model allows extension.
The proposed “Calculated fields derive values from data rather than storing independent copies” tests a different control: define an appropriate FlowField with a CalcFormula and use CalcFields where required. The reported condition is that a team tries to add a new invoice state by changing a standard option field with closed choices; the more direct action is to use a supported extensible enum or enumextension where the target model allows extension.