Conversation
…and remove setup table usage - Replace usage of the "EDoc Historical Matching Setup" table with experiment/config-based control: - Add ConfigurationManagement usage and read HistoricalMatchingConfig in the historical-matching codeunit. - Pass HistoricalMatchingConfig through prepare/load/create-user-message flows and use it to decide vendor scope and matching behavior. - Adjust telemetry and JSON payload to reflect experiment-based settings. - Mark "EDoc Historical Matching Setup" table obsolete and add pragma restore. - Remove IsEDocHistoricalMatchingWithLLMActive and related setup checks from E-Documents setup and subscribers. - Remove EDoc Historical Matching Setup from permission sets and data-classification handling. - Simplify CopilotLineMatching: stop passing VendorNo and always invoke the "E-Doc. Historical Matching" codeunit for non-empty lines. Refactor and cleanup to move from setup-table-driven behavior to experiment/config-driven historical matching.
…ching Setup table
- Grant table access ("EDoc Historical Matching Setup" = X) in "E-Doc. Core - Objects"
- Grant read access (tabledata = R) in "E-Doc. Core - Read"
- Grant IMD access (tabledata = IMD) in "E-Doc. Core - User"
… historical matching setup Set ObsoleteTag to '28.0' for vendor/line matching enums and update table handling. Wrap files with CLEANSCHEMA28 conditional and introduce CLEAN28 branch for the table to mark it as Removed with ObsoleteTag '33.0' when appropriate. Remove AL0432 pragma disable/restore lines.
…9-update-historical-matching-to-be-experiment-2
… config, and telemetry - Guard references to "EDoc Historical Matching Setup" with #if not CLEAN28 and surround them with #pragma warning disable/restore AL0432 in permission sets, subscribers and table usages to avoid AL0432 when the table is removed. - Add/restore #pragma warning disable/restore AS0105 around enum field declarations and internal procedure in EDocHistoricalMatchingSetup table to satisfy analyzer. - Add using Microsoft.eServices.EDocument.Processing.AI in E-Document Subscribers and conditionally call DataClassificationEvalData.SetTableFieldsToNormal for the historical matching setup. - Update E-Doc. Historical Matching codeunit: - Clarify error label to reference "e-document line" instead of "e-document". - Use FeatureConfiguration.GetConfiguration instead of ConfigurationManagement.GetConfiguration. - Rename telemetry dimension 'Duration (ms)' to 'Duration'.
…dayland/604259-update-historical-matching-to-be-experiment-2
nikolakukrika
approved these changes
Oct 29, 2025
darjoo
approved these changes
Oct 30, 2025
mazhelez
added a commit
that referenced
this pull request
Oct 30, 2025
…5227)" (#5372) This reverts commit e0e273b. as it break the CICD build: > Compilation started for project 'E-Document Core' containing '294' files at '11:52:20.590'. Error: AS0074 Found Obsolete Tag with value '27.0' in the baseline and value '28.0' in current branch for Enum 'EDoc Vendor Matching Scope'. Obsolete Tag must be the same across branches. Error: AS0074 Found Obsolete Tag with value '27.0' in the baseline and value '28.0' in current branch for Table 'EDoc Historical Matching Setup'. Obsolete Tag must be the same across branches. Error: AS0074 Found Obsolete Tag with value '27.0' in the baseline and value '28.0' in current branch for Enum 'EDoc Line Matching Scope'. Obsolete Tag must be the same across branches. Compilation ended at '11:52:41.248'. [AB#604259](https://dynamicssmb2.visualstudio.com/1fcb79e7-ab07-432a-a3c6-6cf5a88ba4a5/_workitems/edit/604259)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This pull request removes the legacy
EDoc Historical Matching Setupconfiguration and related enums, replacing them with a new experiment-based configuration system for historical matching. The changes simplify the matching logic and centralize configuration management, making it easier to run experiments and maintain the codebase. Permissions and data classification for the old setup are removed, and code has been refactored to use the new configuration approach.Removal of legacy configuration and permissions
EDoc Historical Matching Setuptable and related enums (EDoc Vendor Matching Scope,EDoc Line Matching Scope) are marked as obsolete and removed from permissionsets and data classification. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Refactoring to experiment-based configuration
EDocHistoricalMatching.Codeunit.alis refactored to use experiment configuration viaConfiguration Managementinstead of the legacy setup table, affecting data loading, telemetry, and user message generation. [1] [2] [3] [4] [5] [6] [7] [8]Simplification of matching logic
Update to draft preparation logic
PreparePurchaseEDocDraft.Codeunit.alcode is simplified to remove references to the legacy setup and now always uses the new experiment-based matching for historical data. [1] [2]Obsolete attributes and warnings
Fixes AB#604259