Исправление пропущенного мержа ПлановОбмена в MDMerger#580
Merged
theshadowco merged 3 commits intodevelopfrom Feb 12, 2026
Merged
Исправление пропущенного мержа ПлановОбмена в MDMerger#580theshadowco merged 3 commits intodevelopfrom
theshadowco merged 3 commits intodevelopfrom
Conversation
Member
|
@copilot retry |
Copilot stopped work on behalf of
nixel2007 due to an error
February 11, 2026 14:53
Member
|
@copilot retry |
Copilot stopped work on behalf of
nixel2007 due to an error
February 11, 2026 15:12
Contributor
Member
|
@copilot retry |
Copilot stopped work on behalf of
nixel2007 due to an error
February 11, 2026 16:06
Member
|
@copilot retry |
Copilot stopped work on behalf of
nixel2007 due to an error
February 12, 2026 09:23
ExchangePlans (ПланОбмена) were not merged when combining configuration with extensions in multi-root mode, causing false positives in QueryToMissingMetadata diagnostic. Fixes #579
|
There was a problem hiding this comment.
Pull request overview
Исправление в MDMerger.merge() для корректного мержа коллекции метаданных Планы обмена (exchangePlans) при объединении основной конфигурации и расширений в мультирут-режиме. Это устраняет пропуск ExchangePlan в итоговой Configuration, из‑за которого возможны ложные срабатывания диагностики QueryToMissingMetadata.
Changes:
- Добавлен мердж
exchangePlansв цепочку сборки результирующей конфигурации вMDMerger.merge(). - Обновлён интеграционный тест решения
sol1: добавлены проверки поexchangePlansи скорректированы ожидаемые размерыchildren/plainChildren.
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
src/main/java/com/github/_1c_syntax/bsl/reader/MDMerger.java |
Добавляет пропущенный шаг мержа exchangePlans, чтобы планы обмена попадали в итоговую Configuration и children. |
src/test/java/com/github/_1c_syntax/bsl/mdclasses/MDClassesSolutionTest.java |
Усиливает проверку мержа для sol1 (включая планы обмена) и обновляет ожидаемые количественные метрики дерева метаданных. |
Contributor
|
Спасибо элетроболвану и его владельцам))) |
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.



Проблема
При объединении контекстов конфигурации и расширений в мультирут-режиме (
MDMerger.merge()) коллекцияexchangePlans(ПланОбмена) не мержилась — она была пропущена, в то время как все остальные типы метаданных (catalogs, documents, enums и т.д.) обрабатывались корректно.Из-за этого диагностика
QueryToMissingMetadataложно срабатывала на запросы к планам обмена, считая их несуществующими.Исправление
Добавлена одна строка в
MDMerger.merge():Аудит всех остальных коллекций метаданных показал, что других пропущенных типов нет.
Тесты
ПланОбмена1в базовую конфигурацию sol1Расш1_ПланОбмена2в расширение sol1createSolutionCf_2_extsпроверяет, что после мержа оба плана обмена видны:cf.getExchangePlans().hasSize(2)Fixes #579