Table 20405 "Qlty. Inspection Header"
Quality Management · Microsoft.QualityManagement.Document
Across versions
- BC23-28not present
- BC29-30present
Neighbourhood 46 connected objects and pages
Quality Management · Microsoft.QualityManagement.Document · captioned “Quality Inspection Header” · BC29-30 · source at ea08af5e · facts from BC29
Learn documents this table through its pages: Page 20408 “Qlty. Inspection List” (11 Learn pages), Page 20406 “Qlty. Inspection” (1).
Properties
| Property | Value |
|---|---|
| Caption | Quality Inspection Header |
| DataClassification | CustomerContent |
| LookupPageId | Qlty. Inspection List |
| DrillDownPageId | Qlty. Inspection List |
| Permissions | tabledata “Qlty. Management Setup” = r, tabledata “Qlty. Inspection Result” = r, tabledata “Qlty. Inspection Template Hdr.” = r, tabledata “Qlty. Inspection Template Line” = r, tabledata “Qlty. Inspection Header” = rm, tabledata “Qlty. Inspection Line” = rmd, tabledata “Qlty. I. Result Condit. Conf…. |
Fields
Explanation: the field’s ToolTip in the code; without one, the ToolTip of a page control bound to the field (marked via the page); without that, its Caption (marked caption) when that differs from the name.
| No. | Name | Type | Explanation | Notes |
|---|---|---|---|---|
| 1 | No. | Code[20] | Specifies the quality inspection document number. | |
| 2 | Re-inspection No. | Integer | Specifies the re-inspection counter. | |
| 4 | Most Recent Re-inspection | Boolean | Specifies if this is the most recent re-inspection for the same inspection. | not editable |
| 5 | Template Code | Code[20] | Specifies which template this inspection was created from. | TableRelation Table 20402 “Qlty. Inspection Template Hdr.” (Qlty. Inspection Template Hdr.); NotBlank |
| 6 | Description | Text[250] | Specifies a description of the Quality Inspection itself. | |
| 8 | Status | Enum “Qlty. Inspection Status” | Specifies the status of the inspection. No additional changes can be made to a finished Quality Inspection. | enum Enum 20422 “Qlty. Inspection Status”; not editable |
| 11 | Source Quantity (Base) | Decimal | Specifies a reference to the quantity involved. Only users with the Quality Admin & Supervisor role can change this value. | |
| 13 | Pass Quantity | Decimal | Specifies the quantity that passed quality inspection. When the inspection is finished with acceptable results, this value is automatically derived from sample size or source quantity. It is reset to zero when the inspection is reopened. Only users with the Quality Admin & Supervisor role are allowe… | |
| 15 | Fail Quantity | Decimal | Specifies the quantity that failed quality inspection. When the inspection is finished with non-acceptable results, this value is automatically derived from sample size or source quantity. It is reset to zero when the inspection is reopened. Only users with the Quality Admin & Supervisor role are al… | |
| 17 | Sample Size | Integer | Specifies the number of units that must be inspected. This will be used to fill out the sample size field on a Quality Inspection when possible based on the other characteristics that were applied. Only users with the Quality Admin & Supervisor role can change this value. | |
| 21 | Assigned User ID | Code[50] | Specifies the user this inspection is assigned to. Changing another user’s assignment requires the Quality Admin & Supervisor role. | TableRelation User.“User Name”; not editable; DataClassification EndUserIdentifiableInformation |
| 23 | Planned Start Date | DateTime | Specifies the last planned start time of the inspection. | not editable |
| 25 | Finished Date | DateTime | Specifies the date that the inspection was finished. | not editable |
| 26 | Finished By User ID | Code[50] | Specifies the user that finished the inspection. | not editable; DataClassification EndUserIdentifiableInformation |
| 31 | Result Code | Code[20] | Specifies the result automatically calculated from inspection test lines based on their evaluation sequence. The calculation prioritizes lines that failed the acceptable quality level and then lines that have the lowest evaluation sequence. | TableRelation Table 20411 “Qlty. Inspection Result” (“Qlty. Inspection Result”.Code); not editable |
| 32 | Result Description | Text[100] | Specifies the description of the inspection result. This value is automatically retrieved from the result definition based on the Result Code field. | FlowField: lookup(“Qlty. Inspection Result”.“Description” where(“Code” = field(“Result Code”))); not editable |
| 33 | Evaluation Sequence | Integer | Specifies the associated evaluation sequence of the inspection result. The value is automatically determined from the result definition based on the Result Code field. | not editable |
| 35 | Location Code | Code[10] | Specifies the location of the inspection. | TableRelation Location.Code |
| 41 | Most Recent Picture | Media | Specifies the most recent picture. Additionally, pictures can be uploaded to document attachments and OneDrive automatically. | |
| 45 | Existing Inspections This Rec. | Integer | Specifies whether or not there are existing quality inspections for this same record. | FlowField: count(“Qlty. Inspection Header” where(“Source Table No.” = field(“Source Table No.”), “Source Type” = field(“Source Type”), “Source Sub Type” = field(“Source Sub Type”), “Source Document No.” = field(“Source Document No.”), “Source Document Line No.” = field(“Source Document Line No.”), “Source Lot …; not editable |
| 46 | Existing Inspections This Item | Integer | Specifies whether or not there are existing existing inspections for this same item. | FlowField: count(“Qlty. Inspection Header” where(“Source Item No.” = field(“Source Item No.”), “Source Variant Code” = field(“Source Variant Code”), “Source Lot No.” = field(“Source Lot No.”), “Source Serial No.” = field(“Source Serial No.”), “Source Package No.” = field(“Source Package No.”))); not editable |
| 51 | Source Table No. | Integer | Specifies a reference to the table that the quality inspection is for. | TableRelation AllObjWithCaption.“Object ID” where(“Object Type” = const(Table)); not editable |
| 52 | Source Table Name | Text[249] | Specifies the target table. If a table is referenced, the name of the table. | FlowField: lookup(AllObjWithCaption.“Object Caption” where(“Object Type” = const(Table), “Object ID” = field(“Source Table No.”))); not editable |
| 53 | Source Type | Integer | Specifies an optional field used to track the source type for the source record. | |
| 54 | Source Sub Type | Integer | Specifies an optional field used to track the source sub type for the source record. | |
| 55 | Source Document No. | Code[20] | Specifies a reference to the document that this Quality Inspection is referring to. This typically refers to a production order document number. | not editable; NotBlank |
| 56 | Source Document Line No. | Integer | Specifies a reference to the source document line no. that this Quality Inspection is referring to. This typically refers to a production order line no. | not editable |
| 58 | Source Task No. | Code[20] | Specifies a reference to the source task no. that this Quality Inspection is referring to. This typically refers to an operation. | |
| 61 | Source Item No. | Code[20] | Specifies the item that the Quality Inspection is for. When used with production orders this typically refers to the item being produced. | TableRelation Item.“No.” |
| 62 | Source Variant Code | Code[10] | Specifies the item variant that the Quality Inspection is for. When used with production orders this typically refers to the item being produced. | TableRelation Table 5401 “Item Variant” (“Item Variant”.“Code” where(“Item No.” = field(“Source Item No.”))) |
| 65 | Source Serial No. | Code[50] | Specifies the serial number that the quality inspection is for. This is only used for serial tracked items. | |
| 66 | Source Lot No. | Code[50] | Specifies the lot number that the quality inspection is for. This is only used for lot tracked items. | |
| 67 | Source Package No. | Code[50] | Specifies the package number that the quality inspection is for. This is only used for package tracked items. | |
| 71 | Trigger Record Table No. | Integer | Specifies the table no. of the triggering record that caused this Quality Inspection to be created. | NotBlank |
| 72 | Trigger RecordId | RecordId | Specifies the triggering record that caused this Quality Inspection to be created. | NotBlank |
| 75 | Source Record Table No. | Integer | Specifies the table no. of the source record this Quality Inspection is for. | NotBlank |
| 76 | Source RecordId | RecordId | Specifies the source record this Quality Inspection is for. | NotBlank |
| 78 | Source RecordId 2 | RecordId | Specifies the secondary source record this Quality Inspection is for. | NotBlank |
| 79 | Source RecordId 3 | RecordId | Specifies the tertiary source record this Quality Inspection is for. | NotBlank |
| 80 | Source RecordId 4 | RecordId | Specifies the fourth source record this Quality Inspection is for. | NotBlank |
| 90 | Source Custom 1 | Text[60] | Specifies additional information from a source record. | not editable |
| 91 | Source Custom 2 | Text[60] | Specifies additional information from a source record. | not editable |
| 92 | Source Custom 3 | Text[60] | Specifies additional information from a source record. | not editable |
| 93 | Source Custom 4 | Text[60] | Specifies additional information from a source record. | not editable |
| 94 | Source Custom 5 | Text[60] | Specifies additional information from a source record. | not editable |
| 95 | Source Custom 6 | Text[60] | Specifies additional information from a source record. | not editable |
| 96 | Source Custom 7 | Integer | Specifies additional information from a source record. | not editable |
| 97 | Source Custom 8 | Integer | Specifies additional information from a source record. | not editable |
| 98 | Source Custom 9 | Decimal | Specifies additional information from a source record. | not editable |
| 99 | Source Custom 10 | Decimal | Specifies additional information from a source record. | not editable |
Keys
- Key1: No., Re-inspection No. (clustered)
- Key2: Template Code, Source Table No., Source Type, Source Sub Type, Source Document No., Source Document Line No., Source Item No., Source Variant Code, Source Lot No., Source Serial No., Source Package No., Source Task No.
- Key3: Template Code, Source Custom 1, Source Custom 2, Source Custom 3, Source Custom 4, Source Custom 5, Source Custom 6, Source Item No., Source Variant Code, Source Lot No., Source Serial No., Source Package No.
- Key4: Template Code, Source Table No., Source Type, Source Sub Type, Source Document No., Source Document Line No., Source Item No., Source Variant Code, Source Lot No., Source Serial No., Source Package No., Source Task No., Source Custom 1, Source Custom 2, Source Custom 3, Source Custom 4, Source Custom 5, Source Custom 6
- Key5: Source Item No., Source Variant Code, Source Lot No., Source Serial No., Source Package No., Template Code
- Key6: Source Record Table No., Source RecordId, Trigger Record Table No., Trigger RecordId
- Key7: Template Code, Source RecordId, Source Record Table No.
- Key8: SystemCreatedBy, SystemCreatedAt, Template Code
- Key9: Source Document No., Source Document Line No., Source Item No., Source Variant Code
- Key10: SystemModifiedAt, SystemCreatedAt, SystemModifiedBy, SystemCreatedBy, Source Item No., Source Variant Code, Source Lot No., Source Serial No., Source Package No.
- Key11: Status, Assigned User ID, Planned Start Date
Events published
OnBeforeSetRecordFiltersToFindInspectionFor(var QltyInspectionHeader: Record "Qlty. Inspection Header"; ErrorIfMissingFilter: Boolean; RecordVariant: Variant; UseItem: Boolean; UseTracking: Boolean; var UseDocument: Boolean; var IsHandled: Boolean)(integration): Allows subscribers to change or replace source-derived inspection filtering.OnAfterSetRecordFiltersToFindInspectionFor(var QltyInspectionHeader: Record "Qlty. Inspection Header"; ErrorIfMissingFilter: Boolean; RecordVariant: Variant; UseItem: Boolean; UseTracking: Boolean; var UseDocument: Boolean)(integration): Notifies subscribers after source-derived inspection filters are applied.OnInspectionFinished(var QltyInspectionHeader: Record "Qlty. Inspection Header")(integration): Notifies subscribers after an inspection is finished.OnInspectionReopen(var QltyInspectionHeader: Record "Qlty. Inspection Header")(integration): Notifies subscribers after an inspection is reopened.OnBeforeReopenInspection(var QltyInspectionHeader: Record "Qlty. Inspection Header"; var IsHandled: Boolean)(integration): Allows subscribers to replace reopening an inspection.OnBeforeFinishInspection(var QltyInspectionHeader: Record "Qlty. Inspection Header"; var IsHandled: Boolean)(integration): Allows subscribers to replace finishing an inspection.OnAfterFindLineUpdateResultFromLines(var QltyInspectionHeader: Record "Qlty. Inspection Header"; var QltyInspectionLine: Record "Qlty. Inspection Line")(integration): Notifies subscribers after the inspection result is selected from its lines.OnBeforeFindLineUpdateResultFromLines(var QltyInspectionHeader: Record "Qlty. Inspection Header"; var QltyInspectionLine: Record "Qlty. Inspection Line"; var IsHandled: Boolean)(integration): Allows subscribers to change line filters or replace inspection result selection from lines.
Procedures
SetTestValue(NumberOrNameOfTestCode: Text; NumberOrNameOfTestValue: Text): Sets the test value on the uniquely matching line of the current inspection.AssistEditTest(NumberOrNameOfTestCode: Text): Opens assist edit for the uniquely matching test line of the current inspection.UpdateResultFromLines(): Updates the inspection result from the first applicable line result, prioritizing acceptable-quality-level failures.InitInspectionNumber()(internal): Assigns the next inspection number when the current inspection has no number.SetIsCreating(IsCreating: Boolean)(internal): Stores whether the current inspection is being created in session state.GetIsCreating(): Boolean(internal): Gets whether the current inspection is being created from session state.AssignToSelf(): Assigns the inspection to the current user after verifying permission when replacing another assignee.ReopenInspection(): Reopens a finished inspection after permission, reinspection, and confirmation checks.FinishInspection(): Logs feature usage and finishes the inspection with interactive confirmation.VerifyTrackingBeforeFinish()(internal): Verifies that required item tracking exists and satisfies the configured posted or reserved inventory policy.GetPostedInventory(): Decimal(internal): Calculates posted inventory for the inspection’s source item, variant, and required tracking values.GetReservedInventory(): Decimal(internal): Calculates reserved inventory for the inspection’s source item, variant, and required tracking values.CreateReinspection(): Creates a reinspection for the current inspection.CreateReinspection(var ReinspectionQltyInspectionHeader: Record "Qlty. Inspection Header"): Finishes the current inspection when required and creates a confirmed reinspection.HasMoreRecentReinspection(): Boolean(internal): Determines whether a later reinspection exists for the current inspection number.IsItemTrackingUsed(): Boolean(internal): Determines whether the source item uses any item tracking.IsItemTrackingUsed(var TempItemTrackingSetup: Record "Item Tracking Setup" temporary): Boolean(internal): Determines the item-tracking requirements of the source item.GetControlCaptionClass(Input: Text): Text(internal): Gets the caption class for a source-information control.GetControlVisibleState(Input: Text): Boolean(internal): Gets whether a source-information control should be visible.DetermineControlInformation(Input: Text)(internal): Determines and caches caption and visibility information for a source field.AssistEditLotNo(): Opens item tracking selection for the source lot number and stores the selected value.AssistEditPackageNo(): Opens item tracking selection for the source package number and stores the selected value.AssistEditSerialNo(): Opens item tracking selection for the source serial number and stores the selected value.SetRecordFiltersToFindInspectionFor(ErrorIfMissingFilter: Boolean; RecordVariant: Variant; UseItem: Boolean; UseTracking: Boolean; UseDocument: Boolean): Derives source values from a record and applies the requested item, tracking, and document filters.GetMostRecentInspectionFor(RecordVariant: Variant): Boolean(internal): Finds the most recent inspection matching the supplied record’s item, tracking, and document values.PrintCertificateOfAnalysis()(internal): Prints the certificate of analysis for the current inspection.PrintNonConformance()(internal): Prints the nonconformance report for the current inspection.PrintGeneralPurposeInspection()(internal): Prints the general-purpose inspection report for the current inspection.GetReferenceRecordId(): Guid(internal): Gets the system identifier of the first available trigger or source record in priority order. Intended for use with PowerAutomate and Dataverse. It will return the ‘best’ reference in the order of preference of: – triggering record – otherwise primary source record – otherwise secondary source re…SetPreventAutoAssignment(ShouldPrevent: Boolean)(internal): Stores whether automatic assignment should be prevented for the current inspection.GetPreventAutoAssignment(): Boolean: Gets whether automatic assignment should be prevented for the current inspection.GetRelatedItem(var Item: Record Item): Boolean: Gets the inspection’s source item or an item related to its trigger and source records.GetItemAttributeValue(ItemAttributeName: Text): Text: Gets an attribute value for the inspection’s source item by attribute name.RunModalRelatedTransfers()(internal): Opens the related transfer orders page for the current inspection.GetFriendlyIdentifier(): Text: Formats the inspection number with its nonzero reinspection number.GetStatusStyleExpression(): Text: Gets the display style for the current inspection status.GetResultStyle(): Text(internal): Gets the display style configured for the current result.TakeNewMostRecentPicture()(internal): Captures a picture, stores it as the inspection’s most recent picture, and applies configured additional handling.ImportMostRecentPicture()(internal): Imports a picture, stores it as the inspection’s most recent picture, and applies configured additional handling.DeleteMostRecentPicture()(internal): Deletes the inspection’s most recent picture.
Plus 14 local procedures.
Triggers
OnDelete, OnInsert, OnModify
Relations
- drill-down page Page 20408 “Qlty. Inspection List”
- lookup page Page 20408 “Qlty. Inspection List”
- Template Code: TableRelation Table 20402 “Qlty. Inspection Template Hdr.”
- Existing Inspections This Item: CalcFormula Table 20405 “Qlty. Inspection Header”
- Existing Inspections This Rec.: CalcFormula Table 20405 “Qlty. Inspection Header”
- Result Description: CalcFormula Table 20411 “Qlty. Inspection Result”
- Result Code: TableRelation Table 20411 “Qlty. Inspection Result”
- Source Variant Code: TableRelation Table 5401 “Item Variant”
Referenced by
25 fields in 13 objects relate to this table (TableRelation or CalcFormula).
- Table 20414 “Qlty. Mgmt. Role Center Cue”: All Finished Inspections, All Open and Due Inspections, All Open Inspections, My Finished Inspections, My Open and Due Inspections, My Open Inspections, Unassigned Inspections
- Table 20405 “Qlty. Inspection Header”: Existing Inspections This Item, Existing Inspections This Rec.
- Table extension 20404 “Qlty. Avail. Info. Buffer”: Qlty. Inspection Count, Qlty. Inspection for Lot Count
- Table extension 20409 “Qlty. Transfer Header”: Qlty. Inspection No., Qlty. Re-inspection No.
- Table extension 20410 “Qlty. Direct Trans. Header”: Qlty. Inspection No., Qlty. Re-inspection No.
- Table extension 20411 “Qlty. Transfer Shipment Header”: Qlty. Inspection No., Qlty. Re-inspection No.
- Table extension 20412 “Qlty. Transfer Receipt Header”: Qlty. Inspection No., Qlty. Re-inspection No.
- Table 20406 “Qlty. Inspection Line”: Template Code
- Table 20412 “Qlty. I. Result Condit. Conf.”: Target Code
- Table extension 20403 “Qlty. Entry Summary”: Qlty. Inspection Count
- Table extension 20405 “Qlty. Lot No. Information”: Qlty. Inspection Count
- Table extension 20406 “Qlty. Serial No. Information”: Qlty. Inspection Count
- Table extension 20407 “Qlty. Package No. Information”: Qlty. Inspection Count
Pages and codeunits on this table
- Page 20406 “Qlty. Inspection” (source table)
- Page 20408 “Qlty. Inspection List” (source table)
- Page 20414 “Qlty. Inspections API” (source table)
- Page 20431 “Qlty. Most Recent Picture” (source table)
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 20430 “Qlty. Session Helper” (19 calls:
AssistEditLotNo → GetTrackingFormFlagValueAllDocs,AssistEditLotNo → GetTrackingFormFlagValueSourceDoc,AssistEditLotNo → GetTrackingFormModeFlag, …) - Codeunit 20406 “Qlty. Permission Mgmt.” (9 calls:
AssignToSelf → VerifyCanChangeOtherInspections,AssistEditLotNo → VerifyCanChangeItemTracking,AssistEditPackageNo → VerifyCanChangeItemTracking, …) - Codeunit 20408 “Qlty. Traversal” (5 calls:
DetermineControlInformation → DetermineControlInformation,GetControlCaptionClass → GetControlCaptionClass,GetControlVisibleState → GetControlVisibleState, …) - Codeunit 20428 “Qlty. Item Tracking” (4 calls:
AssistEditLotNo → IsItemTrackingUsed,AssistEditPackageNo → IsItemTrackingUsed,AssistEditSerialNo → IsItemTrackingUsed, …) - Codeunit 20426 “Qlty. Start Workflow” (3 calls:
OnModify → StartWorkflowInspectionChanged,ProcessFinishInspection → StartWorkflowInspectionFinished,ProcessReopenInspection → StartWorkflowInspectionReopens) - Codeunit 20437 “Qlty. Notification Mgmt.” (3 calls:
FinishInspectionAndPrompt → GetSourceSummaryText,OnModify → NotifyDoYouWantToAssignToYourself,ReopenInspection → GetSourceSummaryText) - Codeunit 20440 “Qlty. Report Mgmt.” (3 calls:
PrintCertificateOfAnalysis → PrintCertificateOfAnalysis,PrintGeneralPurposeInspection → PrintGeneralPurposeInspection,PrintNonConformance → PrintNonConformance) - Codeunit 6501 “Item Tracking Data Collection” (3 calls:
AssistEditLotNo → AssistEditTrackingNo,AssistEditPackageNo → AssistEditTrackingNo,AssistEditSerialNo → AssistEditTrackingNo) - Codeunit 1907 “Camera” (2 calls:
TakeNewMostRecentPicture → GetPicture,TakeNewMostRecentPicture → IsAvailable) - Codeunit 20599 “Qlty. Misc Helpers” (2 calls:
GetRelatedItem → GetRecordRefFromVariant,SetRecordFiltersToFindInspectionFor → GetRecordRefFromVariant) - Codeunit 419 “File Management” (2 calls:
ImportMostRecentPicture → GetExtension,ImportMostRecentPicture → GetFileName) - Codeunit 9510 “Document Service Management” (2 calls:
ProcessAdditionalPictureHandling → IsConfigured,ProcessAdditionalPictureHandling → ShareWithOneDrive) - Codeunit 20433 “Qlty. File Import” (1 call:
ImportMostRecentPicture → PromptAndImportIntoInStream) - Codeunit 20458 “Qlty. Mgmt. Feature Telemetry” (1 call:
FinishInspection → LogFeatureUsage) - Codeunit 710 “Math” (1 call:
UpdateSampleSize → Truncate) - Page 456 “No. Series” (1 call:
InitInspectionNumber → (object))
Recent changes
- 2026-10-05 #11129 [Quality Management] Refactor permission management (main, BC30, refactor)
- 2026-08-20 #10270 [Quality Management] Repair and improve XML documentation of procedures (main, BC30, refactor)
- 2026-08-19 #10367 [Quality Management] Add OptimizeForTextSearch to searchable Qlty. Inspection Header fields (AB#620381) (main, BC30, performance)
- 2026-08-19 #9077 [Quality Management] Bug 620326: Reset IsChangingStatus on handled Reopen/Finish early-exit (main, BC30, fix)
- 2026-08-17 #10065 [Quality Management] Quality Inspection User assignment fixes (main, BC30, fix)
- 2026-07-10 #8924 [QM] Fixed overflow runtime error (main, BC30, fix)
- 2026-07-08 #8556 [Quality Management] Enforce rules and restrictions with indirect and implicit permissions (main, BC30, feature)
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: "table", object_name: "Qlty. Inspection Header"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.