Table 20404 "Qlty. Inspection Gen. Rule"
Quality Management · Microsoft.QualityManagement.Configuration.GenerationRule
Across versions
- BC23-28not present
- BC29present
- BC30changed
Neighbourhood 4 connected objects and pages
Quality Management · Microsoft.QualityManagement.Configuration.GenerationRule · captioned “Quality Inspection Generation Rule” · BC29-30 · source at ea08af5e · facts from BC29
Properties
| Property | Value |
|---|---|
| Caption | Quality Inspection Generation Rule |
| DataClassification | CustomerContent |
| LookupPageId | Qlty. Inspection Gen. Rules |
| DrillDownPageId | Qlty. Inspection Gen. Rules |
| Permissions | tabledata “Qlty. Management Setup” = r, tabledata “Qlty. Inspection Template Hdr.” = r |
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 | Entry No. | Integer | — | |
| 2 | Sort Order | Integer | Specifies the order to look for matches. The smallest value will get looked at first. | |
| 3 | Intent | Enum “Qlty. Gen. Rule Intent” | Specifies the intent of this rule. This is used for categorization and to help control the editability of various trigger fields. | enum Enum 20460 “Qlty. Gen. Rule Intent” |
| 4 | Schedule Group | Code[20] | Specifies a group which allows a schedule to refer to multiple inspection generation rules. | |
| 10 | Template Code | Code[20] | Specifies the Quality Inspection Template to use when the conditions match. | TableRelation Table 20402 “Qlty. Inspection Template Hdr.” (“Qlty. Inspection Template Hdr.”.Code); NotBlank |
| 12 | Source Table No. | Integer | Specifies the table for this rule. For example for receiving to a Purchase Line, you would use table 39. For production typically 5409 for Production Order Routing Line. | TableRelation AllObjWithCaption.“Object ID” where(“Object Type” = const(Table), “Object ID” = field(“Table ID Filter”)) |
| 13 | Condition Filter | Text[2048] | Specifies the criteria for defining when to use this template. For example, if you wanted to only use a template for a certain item then you would define that item here. | |
| 14 | Description | Text[100] | Specifies an explanation of this rule. | |
| 15 | Table Caption | Text[250] | Specifies the table for this rule. For example for receiving to a Purchase Line, you would use table 39. For production typically 5409 for Production Order Routing Line. | FlowField: lookup(AllObjWithCaption.“Object Caption” where(“Object Type” = const(Table), “Object ID” = field(“Source Table No.”))); not editable |
| 18 | Table ID Filter | Integer | — | FlowFilter |
| 19 | Item Filter | Text[2048] | Specifies the item specific criteria for defining when to use this template. | |
| 20 | Item Attribute Filter | Text[2048] | Specifies the item attribute specific criteria for defining when to use this template. | |
| 21 | Activation Trigger | Enum “Qlty. Gen. Rule Act. Trigger” | Specifies whether the generation rule is active for manually created inspections only, automatically created inspections only, both, or disabled entirely. | enum Enum 20459 “Qlty. Gen. Rule Act. Trigger” |
| 22 | Warehouse Receipt Trigger | Enum “Qlty. Whse. Receipt Trigger” | Specifies whether the generation rule should be used to automatically create inspections based on a Warehouse Receipt Trigger. | enum Enum 20450 “Qlty. Whse. Receipt Trigger” |
| 23 | Purchase Order Trigger | Enum “Qlty. Purchase Order Trigger” | Specifies whether the generation rule should be used to automatically create inspections based on a purchase receive trigger. | enum Enum 20452 “Qlty. Purchase Order Trigger” |
| 24 | Sales Return Trigger | Enum “Qlty. Sales Return Trigger” | Specifies whether the generation rule should be used to automatically create inspections based on a sales return receive trigger. | enum Enum 20453 “Qlty. Sales Return Trigger” |
| 25 | Transfer Order Trigger | Enum “Qlty. Transfer Order Trigger” | Specifies whether the generation rule should be used to automatically create inspections based on a transfer receive trigger. | enum Enum 20454 “Qlty. Transfer Order Trigger” |
| 26 | Production Order Trigger | Enum “Qlty. Production Order Trigger” | Specifies whether the generation rule should be used to automatically create inspections based on a Production Order Trigger. | enum Enum 20406 “Qlty. Production Order Trigger” |
| 27 | Assembly Trigger | Enum “Qlty. Assembly Trigger” | Specifies whether the generation rule should be used to automatically create inspections based on an assembly trigger. | enum Enum 20457 “Qlty. Assembly Trigger” |
| 28 | Warehouse Movement Trigger | Enum “Qlty. Warehouse Trigger” | Specifies whether the generation rule should be used to automatically create inspections based on a warehouse movement trigger. | enum Enum 20438 “Qlty. Warehouse Trigger” |
Keys
- Key1: Entry No. (clustered)
- Key2: Sort Order
- Key3: Sort Order, Intent
- Key4: Template Code, Source Table No., Sort Order
- Key5: Source Table No.
- Key6: Activation Trigger, Sort Order
- Key7: Template Code, Schedule Group, Description
Procedures
SetEntryNo()(internal): Assigns the next entry number when the generation rule has no entry number.UpdateSortOrder()(internal): Assigns a sort order after the current highest value when the sort order is zero or one.HandleOnAssistEditSourceTable()(internal): Looks up a source table from configured tables and validates the selected table number.AssistEditConditionTableFilter(): Boolean: Provides the ability to assist edit a condition filter.AssistEditConditionItemFilter(): Boolean: Provides the ability to assist edit an item filter.AssistEditConditionAttributeFilter(): Provides the ability to assist edit an attribute filter.GetTemplateCodeFromRecordOrFilter(OnlyFilters: Boolean): Code[20]: Gets the template code from either the selected record, or the filter.SetIntentAndDefaultTriggerValuesFromSetup()(internal): Sets the default automatic inspection creation triggers for generation rules based on the values set in Quality Management SetupTryInferGenerationRuleIntent(var QltyGenRuleIntent: Enum "Qlty. Gen. Rule Intent"; var QltyCertainty: Enum "Qlty. Certainty")(internal): Attempts to infer the generation rule intent and certainty without propagating inference errors.InferGenerationRuleIntent(var QltyGenRuleIntent: Enum "Qlty. Gen. Rule Intent"; var QltyCertainty: Enum "Qlty. Certainty"): Gets the intent of the generation rule if it can be determined
Plus 9 local procedures.
Triggers
OnInsert, OnModify
Relations
- drill-down page Page 20405 “Qlty. Inspection Gen. Rules”
- lookup page Page 20405 “Qlty. Inspection Gen. Rules”
- Template Code: TableRelation Table 20402 “Qlty. Inspection Template Hdr.”
Pages and codeunits on this table
- Page 20405 “Qlty. Inspection Gen. Rules” (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 20403 “Qlty. Filter Helpers” (9 calls:
AssistEditConditionAttributeFilter → BuildItemAttributeFilter2048,AssistEditConditionItemFilter → BuildFilter,AssistEditConditionTableFilter → BuildFilter, …) - Codeunit 20405 “Qlty. Inspec. Gen. Rule Mgmt.” (1 call:
HandleOnAssistEditSourceTable → GetFilterForAvailableConfigurations)
Recent changes
- 2026-09-10 #11121 Fix generation rule source table validation (main, BC30, fix)
- 2026-08-20 #10270 [Quality Management] Repair and improve XML documentation of procedures (main, BC30, refactor)
- 2026-07-16 #7938 Bugs/632378 make quality inspection gen rule warning actionable (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 Gen. Rule"), then bcatlas_get_procedure_body or bcatlas_get_neighbors on the returned id.