---
id: change/bcquality/205
type: change
title: "#205 Preserve business filters when recommending Record.Get"
summary: The performance guidance for replacing FindFirst with Record.Get now clarifies that additional business filters must be preserved, either by keeping the filtered FindFirst or by enforcing equivalent conditions after Get.
tier: official
language: en
tags:
  - fix
  - main
system: development
review:
  state: reviewed
  by: opus
  at: "2026-10-08T02:02:43.571Z"
  flags: []
generated:
  at: "2026-10-08T01:26:53.141Z"
  pipeline: 0.2.0
  prompts:
    extract-change: 1
  input_hash: ac249ba4c95eaef14edbe9818fcdd65561bf6a2f
evidence:
  - kind: code
    url: https://github.com/microsoft/BCQuality/pull/205
    title: "microsoft/BCQuality#205: Preserve business filters when recommending Record.Get"
    date: "2026-10-02"
    commit: ac249ba4c95eaef14edbe9818fcdd65561bf6a2f
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
  changes: []
number: 205
repo: microsoft/BCQuality
source_id: bcquality-prs
url: https://github.com/microsoft/BCQuality/pull/205
kind: pr
base_branch: main
major: null
merged_at: "2026-10-02T11:07:20Z"
author: demiliani
author_type: User
community_contribution: false
labels: []
change_class: code
change_kind: fix
behavior_change: false
breaking: false
files:
  count: 4
  additions: 44
  deletions: 5
  al: 3
apps: []
objects_touched: []
objects_unjoined:
  - path: microsoft/knowledge/performance/use-get-instead-of-findfirst-on-full-primary-key.bad.al
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-get-instead-of-findfirst-on-full-primary-key.good.al
    status: modified
    reason: not-in-snapshot
  - path: microsoft/knowledge/performance/use-get-instead-of-findfirst-on-full-primary-key.md
    status: modified
    reason: not-in-snapshot
obsoletions: []
backports: []
fixes_issues: []
work_items: []
systems:
  - development
  - platform
quote: null
joined_against:
  major: null
  commit: null
---

# #205 Preserve business filters when recommending Record.Get

> The performance guidance for replacing FindFirst with Record.Get now clarifies that additional business filters must be preserved, either by keeping the filtered FindFirst or by enforcing equivalent conditions after Get.

[Pull request](https://github.com/microsoft/BCQuality/pull/205) · merged into `main` on 2026-10-02 by demiliani · 4 files (+44 -5), 3 AL · fix · tier official · reviewed (checked by Opus)

## What changed

- Guidance still recommends Get for lookups filtered only on the full primary key
- Notes that Record.Get ignores normal record filters, so a SetRange before Get does not keep a business condition
- Two valid alternatives: keep the filtered FindFirst, or check the condition explicitly after a successful Get
- FindFirst with an extra required filter is no longer flagged as a defect, avoiding false-positive review advice
- Bad and good samples extended with a Blocked filter example, and the article added to the performance evaluation fixtures

## AL objects touched

- `microsoft/knowledge/performance/use-get-instead-of-findfirst-on-full-primary-key.bad.al`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-get-instead-of-findfirst-on-full-primary-key.good.al`: modified, not in the BC? snapshot
- `microsoft/knowledge/performance/use-get-instead-of-findfirst-on-full-primary-key.md`: modified, not in the BC? snapshot

## Context

- Systems: development, platform

Source: metadata of a merged pull request in microsoft/BCQuality (bcquality): title, labels, changed paths and counts, with a summary in our words. No source text and no description beyond one short quote (D10, D61).
