Skip to content

[FP] Исправьте обращение к несуществующему метаданному ПланОбмена.ПланОбмена1 в запросе (мультирут, только при наличии расширений) #579

@johhndoe

Description

@johhndoe

Диагностика

QueryToMissingMetadata

Версия

BSLLS 0.28.4, в плагине сонаркуба 1.17.0 аналогично

Описание ложного срабатывания диагностики

В версиях сервера, использующих объединение контекстов расширений и конфигураций. Вроде бы срабатывает только на планы обмена, на другие метаданные не замечал, только при наличии расширений и указании пути к анализируемым файлам как пути к корню иерархии.
Пустая демо база с одним расширением. В конфигурации есть план обмена, к которому выполняется запросы из общего модуля основной конфигурации и модуля документа в расширении. Конфигурация и расширение выгружены в xml во вложенные каталоги каталога src. Анализ выполнялся bsl-ls analyze и через плагин сонаркуба, в качестве анализируемого каталога указывался src, поведение одинаковое: независимо от того, где находится код запроса к плану обмена (основная конфигурация или расширение, общий модуль или модуль объекта), диагностика ложно срабатывает на "отсутствие" метаданных.

Пример кода

bsl-language-server.exe --analyze --srcDir="C:\tmp\bsl-ls_test\src" --workspaceDir="C:\tmp" --outputDir="C:\tmp" --reporter=generic
{
"engineId" : "bsl-language-server",
"ruleId" : "QueryToMissingMetadata",
"severity" : "BLOCKER",
"type" : "BUG",
"primaryLocation" : {
"message" : "Исправьте обращение к несуществующему метаданному "ПланОбмена.ПланОбмена1" в запросе",
"filePath" : "bsl-ls_test\src\conf_xml\CommonModules\ОбщийМодуль1\Ext\Module.bsl",
"textRange" : {
"startLine" : 13,
"endLine" : 13,
"startColumn" : 3,
"endColumn" : 25
}
},
"effortMinutes" : 5,
"secondaryLocations" : [ ]
},{
"engineId" : "bsl-language-server",
"ruleId" : "QueryToMissingMetadata",
"severity" : "BLOCKER",
"type" : "BUG",
"primaryLocation" : {
"message" : "Исправьте обращение к несуществующему метаданному "ПланОбмена.ПланОбмена1" в запросе",
"filePath" : "bsl-ls_test\src\ext1_xml\CommonModules\ОбщийМодуль1\Ext\Module.bsl",
"textRange" : {
"startLine" : 18,
"endLine" : 18,
"startColumn" : 3,
"endColumn" : 25
}
},
"effortMinutes" : 5,
"secondaryLocations" : [ ]
}

Скриншоты

simpletest_bsl-ls_exts.zip

Дополнительная информация

Во вложении пустая демо база с примером конфигурации и ее же выгрузка в xml.
Ранее кто-то зарегистрировал частный случай 1c-syntax/bsl-language-server#3802

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions