✏️ Explanatory Question

What are Best-Practice (BP) checks in Dynamics 365 Finance & Operations? How do you enable them, why must errors and warnings be resolved before Go-Live, and what is the correct use of BPSuppressions?

👁 1 Views
📘 Detailed Answer
🟢 Easy
💡

Answer with Explanation

D365 F&O • X++ INTERVIEW

Best-Practice (BP) Checks & Suppressions in Dynamics 365 Finance & Operations

Question 25 — Enabling BP rules, resolving errors/warnings, and using BPSuppressions correctly.

Interview Question

What are Best-Practice (BP) checks in Dynamics 365 Finance & Operations? How do you enable them, why must errors and warnings be resolved before Go-Live, and what is the correct use of BPSuppressions?

Model Answer (Short)

Best-Practice checks are a set of static analysis rules that the compiler runs against your code and metadata to enforce Microsoft and project coding standards. You enable them under Dynamics 365 > Options > Best Practices (checking all rules against your models) and turn on "Run best practice checks" on the Build tab. All BP errors and warnings should be resolved for every development, because unresolved warnings can block the Go-Live check from approval. When a warning is genuinely ignorable at project level, it can be recorded in the BPSuppressions file rather than left unaddressed — this documents the deliberate suppression.

Detailed Explanation

Enabling BP checks

  • Go to Dynamics 365 menu > Options > Dynamics 365 > Best Practices and ensure all rules are checked against your modules.
  • On the Build tab, enable "Run best practice checks" so BP runs on every build.
  • Developers must enable BP rules for every model that contains code.

Resolving errors & warnings

  • All BP errors and warnings should be resolved for all development.
  • Unresolved warnings can prevent Go-Live check approval.
  • Warnings that are genuinely ignorable at project level can be listed in BPSuppressions.
  • Suppression should be a deliberate, documented decision — never a way to hide real issues.
GOLDEN RULE
Fix BP errors & warnings  •  Suppress only when justified  •  Document in BPSuppressions

Related: the CAR Report

  • The Customization Analysis Report (CAR) runs a predefined set of BP rules across your models.
  • It is a requirement of the solution certification process and is produced as an Excel workbook.
  • Developers should run the CAR report regularly (e.g. weekly) to keep code quality high.

Prerequisites (Rule 5)

  • Visual Studio with the Dynamics 365 developer tools.
  • A custom model / package with BP rules enabled.
  • Access to the xppbp.exe tool for generating the CAR report.

Command — Generating a CAR report

Run the BP analysis tool from the packages bin folder:

xppbp.exe -metadata= -all -model= ^
          -xmlLog=C:\BPCheckLog.xml -module= -car=

A BPSuppressions entry (concept)



  

Suppressing a single BP warning in code

// Inline suppression attribute for a specific, justified case
[SuppressBPWarning('BPParameterNotUsed', 'Reserved for future use')]
public void abcReservedMethod(str _futureParam)
{
    // implementation
}

Points the interviewer wants to hear

  • BP checks are static analysis rules enforcing coding standards.
  • Enable via Options > Best Practices and "Run best practice checks" on Build.
  • Resolve all errors and warnings — unresolved ones can block Go-Live.
  • Use BPSuppressions only for justified, documented ignores.
  • Run the CAR report regularly for certification and code quality.

Likely Follow-up Questions

  • Why can unresolved BP warnings block a Go-Live check?
  • When is it acceptable to add a BPSuppression?
  • What is the CAR report and why is it needed for certification?
  • How do you run BP checks automatically on every build?

Key Takeaway

Best-Practice checks keep customizations standards-compliant. Enable them for every model, resolve all errors and warnings (they can block Go-Live), and reserve BPSuppressions for genuinely justified, documented cases — backed by regular CAR report runs for certification.