Skip to content

Исправление пропущенного мержа ПлановОбмена в MDMerger#580

Merged
theshadowco merged 3 commits intodevelopfrom
copilot/fix-missing-metadata-query
Feb 12, 2026
Merged

Исправление пропущенного мержа ПлановОбмена в MDMerger#580
theshadowco merged 3 commits intodevelopfrom
copilot/fix-missing-metadata-query

Conversation

Copy link
Contributor

Copilot AI commented Feb 11, 2026

Проблема

При объединении контекстов конфигурации и расширений в мультирут-режиме (MDMerger.merge()) коллекция exchangePlans (ПланОбмена) не мержилась — она была пропущена, в то время как все остальные типы метаданных (catalogs, documents, enums и т.д.) обрабатывались корректно.

Из-за этого диагностика QueryToMissingMetadata ложно срабатывала на запросы к планам обмена, считая их несуществующими.

Исправление

Добавлена одна строка в MDMerger.merge():

.clearExchangePlans().exchangePlans(mergeMD(cf, extension, CF::getExchangePlans, newChildren))

Аудит всех остальных коллекций метаданных показал, что других пропущенных типов нет.

Тесты

  • Добавлен ПланОбмена1 в базовую конфигурацию sol1
  • Добавлен Расш1_ПланОбмена2 в расширение sol1
  • Тест createSolutionCf_2_exts проверяет, что после мержа оба плана обмена видны: cf.getExchangePlans().hasSize(2)
  • Все 284 теста проходят

Fixes #579

@nixel2007
Copy link
Member

@copilot retry

@nixel2007
Copy link
Member

@copilot retry

@github-actions
Copy link
Contributor

github-actions bot commented Feb 11, 2026

Test Results

  603 files  ±0    603 suites  ±0   9m 55s ⏱️ +54s
  284 tests ±0    284 ✅ ±0  0 💤 ±0  0 ❌ ±0 
2 646 runs  ±0  2 646 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit fd945de. ± Comparison against base commit 6184df7.

♻️ This comment has been updated with latest results.

@nixel2007
Copy link
Member

@copilot retry

@nixel2007
Copy link
Member

@copilot retry

ExchangePlans (ПланОбмена) were not merged when combining configuration
with extensions in multi-root mode, causing false positives in
QueryToMissingMetadata diagnostic.

Fixes #579
@nixel2007 nixel2007 changed the title [WIP] Fix query to nonexistent metadata in ПланОбмена Fix missing ExchangePlans merge in MDMerger Feb 12, 2026
@nixel2007 nixel2007 changed the title Fix missing ExchangePlans merge in MDMerger Исправление пропущенного мержа ПлановОбмена в MDMerger Feb 12, 2026
@nixel2007 nixel2007 marked this pull request as ready for review February 12, 2026 16:44
@sonarqubecloud
Copy link

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 (включая планы обмена) и обновляет ожидаемые количественные метрики дерева метаданных.

@theshadowco theshadowco merged commit ab85c11 into develop Feb 12, 2026
30 checks passed
@theshadowco theshadowco deleted the copilot/fix-missing-metadata-query branch February 12, 2026 16:59
@johnnyshut
Copy link
Contributor

Спасибо элетроболвану и его владельцам)))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

4 participants

Comments