Quality Requirements & Specifications
Release: Quality Requirements & Specifications – 27.0.9692.60729
Description
This release delivers a major functional extension of the QRS module for Business Central: Planning with Sell-By Date Restrictions and the full Integration of QRS with APL (Advanced Planning Layer). It introduces setup-driven configuration allowing the Planning Worksheet to apply lot sell-by or minimum shelf-life restrictions when evaluating lots during regenerative planning. Additionally, the release aligns QRS with the INS (Inspection Status) module by simplifying upstream event subscriber signatures. The entire codebase has been harmonized with AL coding standards (unquoted identifiers, correct temporary variable declarations), and a decimal priority attribute validation bug has been corrected.
User Stories
| Title | Description | Setup Instructions | Impact on previous version |
|---|---|---|---|
| [22587] – Integration with QRS - Calculate Regenerative Plan | Enables the Planning Worksheet to apply sell-by or minimum shelf-life restrictions when evaluating lots. Introduces a new ‘Planning’ section on QRS Setup with ‘Plan with Sell-By Restrictions’ (Boolean) and ‘Sell-By Evaluation Method’ (Enum). Six new integration procedures (GetPlanWithSellByRestrictions, GetSellByEvaluationMethod, GetMinimumShelfLifeFromQRSDocumentLine, GetLotSellByDate, GetItemMinimumShelfLife, GetQRSRequiredInspectionStatus) are wired to APL through event subscribers. | Navigate to QRS Setup and configure the new ‘Planning’ group: enable ‘Plan with Sell-By Restrictions’ and select the desired ‘Sell-By Evaluation Method’. Requires APL module (ApplicationArea = briLCMAPL). Impacted objects: Table 8086862 (QRS Setup), Page 8086862 (QRS Setup), Enum 8086871 (SellByEvaluationMethod), Codeunit 8086897 (QRSIntegrationImpl), Codeunit 8086896 (QRSIntegrationSubscr). | New fields 9 and 10 added to QRS Setup table. New enum 8086871 introduced. No breaking change for existing setups — new fields default to blank/disabled. |
| [22590] – Integration with QRS - Log Planning Information | Exposes the GetItemMinimumShelfLife method through the QRS integration layer, allowing APL to retrieve the sales minimum shelf life configured on Item records for use during planning. | No additional setup required beyond enabling Planning with Sell-By Restrictions in QRS Setup. Impacted objects: Codeunit 8086897 (QRSIntegrationImpl), Codeunit 8086896 (QRSIntegrationSubscr). | No breaking change. |
| [23232] – Integration of QRS and Inspection Status | Aligns QRS with the INS module by adapting event subscriber signatures for OnBeforeRenameLotInspectionStatus and OnBeforeDeleteLotInspectionStatus. Removes previously required parameters (LotInspectionStatusDescription, Blocked, SetPaymentOnHold) from these event subscribers. | No setup required. Impacted objects: Codeunit 8086904 (INSIntegrationSubscr). | Breaking change: extensions subscribing to OnBeforeRenameLotInspectionStatus or OnBeforeDeleteLotInspectionStatus must remove the deprecated parameters (LotInspectionStatusDescription, Blocked, SetPaymentOnHold) from their event subscriber signatures. |
Bugs
No bug fixed in this release.
Note: Work item #22637 (Set Sell-By Evaluation Method editability / Fix integration method when no setup exists) is part of User Story #22587 and addressed within the QRS Setup page and table changes described above. Work item #22609 (FIX Warnings / Translations) relates to internal code quality and translation updates — no functional bug fix.
Events
No event added or updated in this release.
Note: All event-related changes in this PR were limited to EventSubscriber parameter signature adjustments (removal of parameters on OnBeforeRenameLotInspectionStatus, OnBeforeDeleteLotInspectionStatus, and OnReRunOfCompletedAssistedSetup). Six new EventSubscriber procedures were added in QRSIntegrationSubscr to wire APL integration events — these subscribe to events defined in the external isaTLS_QRSIntegration codeunit, not new events within QRS itself.