---
id: object/page/20401
type: object
title: Page 20401 "Qlty. Tests"
summary: Page 20401 "Qlty. Tests" in Quality Management (Microsoft.QualityManagement.Configuration.Template.Test). 3 public procedures. Introduced in BC29, still in BC30.
tier: official
language: en
tags:
  - page
  - quality management
versions:
  introduced: "29"
  last_changed: null
  deprecated: null
review:
  state: derived
  by: null
  at: null
  flags: []
generated:
  at: "2026-10-11T00:31:51.816Z"
  pipeline: 0.2.0
  prompts: {}
  input_hash: 6c44b50abf72fd545b7f0f1078ac686e126c840fb8eb0eaeb9805762365ee687
evidence:
  - kind: code
    url: https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Quality%20Management/app/src/Configuration/Template/Test/QltyTests.Page.al
    title: src/Apps/W1/Quality Management/app/src/Configuration/Template/Test/QltyTests.Page.al (releases/29.x)
    date: null
    commit: ea08af5ef2d6a9b5c5af4a029288abbe2c883220
    t: null
    quote: null
links:
  learn: []
  objects: []
  features: []
  topics: []
  localizations: []
  videos: []
  posts: []
  guidelines: []
object_type: page
object_id: 20401
name: Qlty. Tests
caption: Quality Tests
namespace: Microsoft.QualityManagement.Configuration.Template.Test
app: Quality Management
extends: null
first_version: "29"
last_version: "30"
present_in:
  - "29"
  - "30"
changed_in: []
source_major: "29"
obsolete: null
countries: []
ms_search_form_ids: []
counts:
  fields: 0
  procedures: 7
  events: 0
  subscribers: 0
  controls: 33
  actions: 1
relations:
  out: 2
  referenced_by: 0
  pages: 1
  extended_by: 0
  event_subscribers: 0
  calls: 3
  called_by: 0
  implements: 0
---

# Page 20401 "Qlty. Tests"

> Page 20401 "Qlty. Tests" in Quality Management (Microsoft.QualityManagement.Configuration.Template.Test). 3 public procedures. Introduced in BC29, still in BC30.

Quality Management · Microsoft.QualityManagement.Configuration.Template.Test · captioned "Quality Tests" · BC29-30 · [source at ea08af5e](https://github.com/microsoft/BCApps/blob/ea08af5ef2d6a9b5c5af4a029288abbe2c883220/src/Apps/W1/Quality%20Management/app/src/Configuration/Template/Test/QltyTests.Page.al) · facts from BC29

## Properties

| Property | Value |
|---|---|
| Caption | Quality Tests |
| SourceTable | Qlty. Test |
| PageType | List |
| UsageCategory | Administration |
| ApplicationArea | QualityManagement |

## Fields on this page

Layout controls in source order, grouped by the container they sit in. Shows: the table field a control is bound to (or its expression as written); ToolTip: the control's own, else the bound field's (marked).

| Group | Control | Shows | ToolTip |
|---|---|---|---|
| GroupTests | Code | [Code](../table/20401.md#fields) | Specifies the short code to identify the test. You can enter a maximum of 20 characters, both numbers and letters. <small>from the table field</small> |
|  | Description | [Description](../table/20401.md#fields) | Specifies the friendly description for the test. You can enter a maximum of 100 characters, both numbers and letters. <small>from the table field</small> |
|  | Test Value Type | [Test Value Type](../table/20401.md#fields) | Specifies the type of data that can be entered for this test. Options include: Decimal or Integer for numeric measurements, Date or Date and Time for date-based entries, Boolean for yes/no questions, Option for predefined options, Table Lookup to select from existing records,Text for free-form entri... <small>from the table field</small> |
|  | Allowable Values | [Allowable Values](../table/20401.md#fields) | Specifies an expression for the range of values you can enter or select for the Test. Depending on the Test Value Type, the expression format varies. For example if you want a measurement such as a percentage that collects between 0 and 100 you would enter 0..100. This is not the pass or acceptable ... <small>from the table field</small> |
|  | Default Value | [Default Value](../table/20401.md#fields) | Specifies a default value to set on the inspection. <small>from the table field</small> |
|  | Unit of Measure Code | [Unit of Measure Code](../table/20401.md#fields) | Specifies the unit of measure for the measurement. <small>from the table field</small> |
|  | Expression Formula | [Expression Formula](../table/20401.md#fields) | Specifies the formula for the expression content when using expression field types. <small>from the table field</small> |
|  | Case Sensitive | [Case Sensitive](../table/20401.md#fields) | Specifies if case sensitivity will be enabled for text-based tests. <small>from the table field</small> |
|  | Field1 | `MatrixArrayConditionCellData[1]` | Specifies the passing condition for this result. If you had a result of Pass being 80 to 100, you would then configure 80..100 here. |
|  | Field1_Desc | `MatrixArrayConditionDescriptionCellData[1]` | Specifies a description for people of this result condition. If you had a result of Pass being 80 to 100, you would put in text describing this. This text will be visible when recording inspections and will show up on the Certificate of Analysis. |
|  | Field2 | `MatrixArrayConditionCellData[2]` | Specifies the passing condition for this result. If you had a result of Pass being 80 to 100, you would then configure 80..100 here. |
|  | Field2_Desc | `MatrixArrayConditionDescriptionCellData[2]` | Specifies a description for people of this result condition. If you had a result of Pass being 80 to 100, you would put in text describing this. This text will be visible when recording inspections and will show up on the Certificate of Analysis. |
|  | Field3 | `MatrixArrayConditionCellData[3]` | Specifies the passing condition for this result. If you had a result of Pass being 80 to 100, you would then configure 80..100 here. |
|  | Field3_Desc | `MatrixArrayConditionDescriptionCellData[3]` | Specifies a description for people of this result condition. If you had a result of Pass being 80 to 100, you would put in text describing this. This text will be visible when recording inspections and will show up on the Certificate of Analysis. |
|  | Field4 | `MatrixArrayConditionCellData[4]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 4. |
|  | Field4_Desc | `MatrixArrayConditionDescriptionCellData[4]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 4. |
|  | Field5 | `MatrixArrayConditionCellData[5]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 5. |
|  | Field5_Desc | `MatrixArrayConditionDescriptionCellData[5]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 5. |
|  | Field6 | `MatrixArrayConditionCellData[6]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 6. |
|  | Field6_Desc | `MatrixArrayConditionDescriptionCellData[6]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 6. |
|  | Field7 | `MatrixArrayConditionCellData[7]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 7. |
|  | Field7_Desc | `MatrixArrayConditionDescriptionCellData[7]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 7. |
|  | Field8 | `MatrixArrayConditionCellData[8]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 8. |
|  | Field8_Desc | `MatrixArrayConditionDescriptionCellData[8]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 8. |
|  | Field9 | `MatrixArrayConditionCellData[9]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 9. |
|  | Field9_Desc | `MatrixArrayConditionDescriptionCellData[9]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 9. |
|  | Field10 | `MatrixArrayConditionCellData[10]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 10. |
|  | Field10_Desc | `MatrixArrayConditionDescriptionCellData[10]` | Specifies a test condition for a promoted result. This is dynamic based on the promoted results, this is result condition 10. |
|  | Lookup Table No. | [Lookup Table No.](../table/20401.md#fields) | Specifies which table you are looking up when using a table lookup as a data type. For example, if you want to show a list of available reason codes from the reason code table, then you would use table 231 "Reason Code" here. <small>from the table field</small> |
|  | Lookup Table Name | [Lookup Table Caption](../table/20401.md#fields) | Specifies the name of the lookup table. When using a table lookup as a data type then this is the name of the table that you are looking up. For example, if you want to show a list of available reason codes from the reason code table then you would use table 231 "Reason Code" here. <small>from the table field</small> |
|  | Lookup Field No. | [Lookup Field No.](../table/20401.md#fields) | Specifies the field within the Lookup Table to use for the lookup. For example if you had table 231 "Reason Code" as your lookup table, then you could use from the "Reason Code" table field "1" which represents the field "Code" on that table. When someone is recording an inspection, and choosing the... <small>from the table field</small> |
|  | Lookup Field Name | [Lookup Field Caption](../table/20401.md#fields) | Specifies the name of the field within the Lookup Table to use for the lookup. For example if you had table 231 "Reason Code" as your lookup table, and also were using field "1" as the Lookup Field (which represents the field "Code" on that table) then this would show "Code" <small>from the table field</small> |
|  | Lookup Table Filter | [Lookup Table Filter](../table/20401.md#fields) | Specifies which data are available from the Lookup Table by using a standard Business Central filter expression. For example, if you were using table 231 "Reason Code" as your lookup table and wanted to restrict the options to codes that started with "R", then you could enter: where("Code"=filter(R*... <small>from the table field</small> |

## Actions

| Group | Action | ToolTip | Runs |
|---|---|---|---|
| Processing | Delete <small>obsolete Pending 29.0; #if not CLEAN29</small> | Deletes this test. A test can only be deleted if it is not being used on an existing inspection. |  |

## Procedures

- `AssistEditCondition(Matrix: Integer)`: Opens the expression editor for a promoted result condition.
- `AssistEditConditionDescription(Matrix: Integer)`: Opens the expression editor for a promoted result condition description.
- `GetSelectionFilter(): Text` (internal): Gets a code filter for the currently selected tests.

Plus 4 local procedures.

## Triggers

OnOpenPage, OnAfterGetRecord

## Relations

- card page [Page 20479 "Qlty. Test Card"](../page/20479.md)
- source table [Table 20401 "Qlty. Test"](../table/20401.md)

## Pages and codeunits on this table

- [Table 20401 "Qlty. Test"](../table/20401.md) (drill-down page)

## Calls

From the extracted call graph of BC29 (graphify-al on the snapshot checkout): calls whose target is known from a declared type or an `Object::"Name"` argument. Interface dispatch and calls through events are not counted, so the list is not complete.

- [Codeunit 20409 "Qlty. Result Condition Mgmt."](../codeunit/20409.md) (2 calls: `OnOpenPage → GetDefaultPromotedResults`, `UpdateRowData → GetPromotedResultsForTest`)
- [Codeunit 20458 "Qlty. Mgmt. Feature Telemetry"](../codeunit/20458.md) (1 call: `OnOpenPage → LogFeatureUptakeDiscovered`)
- [Codeunit 46 "SelectionFilterManagement"](../codeunit/46.md) (1 call: `GetSelectionFilterForTest → GetSelectionFilter`)

## Across versions

- Present in: BC29-30
- Changed (declaration) in: none

Source: AL metadata extracted from the code (names, ids, signatures, properties); no code bodies (D10).

## Ask your agent

Procedure bodies are not stored here (D10). The call sections above are our own, per object, from the BC29 call graph. For a procedure body or the calls of one procedure, ask bc-code-atlas (external, by Stefan Maron, MIT; default corpus w1-28), which the bc-observatory plugin connects: `bcatlas_resolve_node(object_type: "page", object_name: "Qlty. Tests")`, then `bcatlas_get_procedure_body` or `bcatlas_get_neighbors` on the returned id.
