Quality Requirements & Specifications
Release: Quality Requirements & Specifications – 26.3.9646.41511
Description
This release addresses two critical bugs in the Quality Requirements & Specifications (QRS) application for Business Central. It fixes a runtime error occurring during deviation registration when filter values exceed 250 characters, and corrects an inconsistency in the minimum shelf life expiration date validation during warehouse shipment processing for sales orders. These fixes improve reliability of quality control workflows in supply chain operations, ensuring accurate deviation recording and proper shelf life compliance checks against the correct reference dates.
User Stories
No User Story developed in this release.
Bugs
| Title | Description | Impact on previous version |
|---|---|---|
| [24051] – Deviation registration error when filter is over 250 characters | When the filter text for deviation registration exceeded 250 characters, the system threw a runtime error because the ‘Expected Value’ field on tables briQRS_QRS Deviation Buffer (8086869) and briQRS_QRS Deviation Entry (8086868) was limited to Text[250]. The fix applies explicit CopyStr truncation bounded by MaxStrLen in CreateQRSDeviationBufferEntry (codeunit briQRS_QRSValidationHelper 8086893), removing the #pragma warning disable LC0051 workaround. Both the QRS Deviation Buffer and QRS Deviation Entry tables now have the ‘Expected Value’ field marked as ObsoleteState = Pending, signaling a future extension to Text[2048]. The error message label InboundMinimumShelfLifeNotRespectedMsg was also corrected from referencing ‘Sell-By Date’ to ‘purchase minimum shelf life’. |
Low breaking risk. The ‘Expected Value’ field (field 13) on tables 8086869 and 8086868 is now marked ObsoleteState = Pending. Consumers referencing this field should prepare for its eventual replacement with a wider Text[2048] field in a future release. Strings exceeding the current Text[250] capacity will now be silently truncated instead of causing a runtime error. |
| [24075] – Inconsistent Minimum Expiration date | When processing warehouse shipments for sales orders, the minimum shelf life validation incorrectly used the warehouse shipment Due Date instead of the Planned Delivery Date from the originating Sales Line. This caused inconsistent expiration date validations and incorrect deviation flags when the two dates differed. The fix updates GetMinimumShelfReferenceDateWhseShipment in codeunit briQRS_OutbndQRSValidationMgmt (8086885) to retrieve the Sales Line Planned Delivery Date when the source type is Sales Line, falling back to the warehouse shipment Due Date only for non-Sales Line sources or when the Sales Line record cannot be found. |
Medium breaking risk. The reference date used for minimum shelf life validation during warehouse shipment processing now differs from previous behavior. Shipments previously validated against the warehouse shipment Due Date will now be validated against the Sales Line Planned Delivery Date, which may produce different validation outcomes for existing shipments where these dates differ. |
Events
No event added or updated in this release.
Note on existing obsolete events (unchanged in this release): The following integration events remain marked as Obsolete from prior versions and were not modified in this release:
Status Type Object Name Event Name Description Obsolete IntegrationEvent briQRS_OutbndQRSValidationMgmt OnAfterCheckLotNoInformationPriorityAttributes Obsolete since v26.0.0.0. Replaced by OnAfterCheckLotNoInformationPriorityAttributesV2.Obsolete IntegrationEvent briQRS_QRSValidationHelper OnElseStatementOnSetPostingDateToBeChecked Obsolete since v25.0. Replaced by OnElseStatementOnSetPostingDateToBeCheckedVariant.Obsolete IntegrationEvent briQRS_QRSValidationHelper OnBeforeGetRelatedQRSLinkEntities Obsolete since v26.0.0.0. Replaced by OnBeforeGetRelatedQRSLinkEntitiesV2.Obsolete IntegrationEvent briQRS_QRSValidationHelper OnBeforeFindApplicableQualityRequirementSpecification Obsolete since v26.0.0.0. Replaced by OnBeforeFindApplicableQRS.Obsolete IntegrationEvent briQRS_QRSValidationHelper OnAfterGetSourceDocumentValues Obsolete since v26.0.0.0. Replaced by OnAfterGetFactboxSourceDocumentValues.