Новые типы MDO и тесты для 25-27#533
Conversation
2. реализовано чтение дочерних типов для ExternalDataSource
WalkthroughДобавлены новые MDO: WebSocketClient, ExternalDataSourceFunction, ExternalDataSourceCube, ExternalDataSourceCubeDimensionTable. Расширены модели Configuration/ConfigurationExtension/ConfigurationTree для WebSocket‑клиентов. Перестроены чтение EDT/Designer и конвертеры для новых сущностей. ExternalDataSource получил новые дочерние коллекции и ленивую агрегацию детей. Обновлён Changes
Sequence Diagram(s)sequenceDiagram
autonumber
actor Dev as Source/Test
participant R as Reader (Designer/EDT)
participant XS as XStream
participant C as Converter (ExternalDataSourceConverter / MDChildConverter)
participant M as MDO model (ExternalDataSource, Cube, Function, Table)
Dev->>R: Load metadata files
R->>XS: Register aliases (Cube, Function, DimensionTable, fields)
R->>XS: Deserialize XML/EDT
XS-->>R: Instances of real classes
R->>C: Unmarshal external data structures
C->>C: Determine MDOType by class/name
C->>M: Instantiate MDO objects (Table/Cube/Function/DimensionTable)
M-->>R: Objects with lazy children/plainChildren
note over M: ExternalDataSource.getChildren() aggregates tables+functions+cubes lazily via LazyLoader
R-->>Dev: Configuration tree with new MDO nodes
sequenceDiagram
autonumber
participant CFG as Configuration/Tree
participant CL as Client code
participant WS as WebSocketClient
CL->>CFG: getWebSocketClients()
CFG-->>CL: List<WebSocketClient>
CL->>WS: Read properties (serverURL, timeout, modules)
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Poem
Pre-merge checks and finishing touches❌ Failed checks (1 warning)
✅ Passed checks (2 passed)
✨ Finishing touches
🧪 Generate unit tests (beta)
📜 Recent review detailsConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro 📒 Files selected for processing (2)
🚧 Files skipped from review as they are similar to previous changes (1)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (18)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
в этом проекте игнорируй файлы фикстур в каталоге "src/test/resources/**", не надо их ревьювить |
|
Tip For best results, initiate chat on the files or code changes. 🧩 Analysis chain@theshadowco, я понял вашу просьбу. Однако для исключения файлов из автоматического ревью лучше использовать конфигурацию Позвольте мне получить текущую конфигурацию, чтобы предоставить вам точные инструкции по настройке: 🛠 Debug Information Gathered @theshadowco, я получил текущую конфигурацию. Для исключения файлов фикстур из автоматического ревью лучше всего использовать параметр Добавьте следующую строку в секцию reviews:
path_filters:
- "!src/test/resources/**"Если у вас уже есть файл reviews:
path_filters:
- "!src/test/resources/**"Пояснение:
После того как вы добавите эту конфигурацию и закоммитите файл Если у вас есть другие каталоги или файлы, которые нужно исключить, вы можете добавить их в тот же список. |
There was a problem hiding this comment.
Actionable comments posted: 8
🧹 Nitpick comments (8)
src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет1/Ext/Template.txt (1)
1-1: Уточнить необходимость пустого файлаФайл содержит лишь BOM без содержимого. Если шаблон действительно нужен, стоит добавить осмысленные данные; иначе лучше удалить файл, чтобы не вводить в заблуждение.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/WebServices/WebСервис1/Ext/Module.bsl (1)
2-4: Проверьте необходимость экспорта и возвращаемого значения.Функция
Операция1может требовать ключевое словоЭкспортдля корректной работы в качестве операции веб-сервиса. Кроме того, операции веб-сервисов обычно возвращают значение.Если этот тестовый файл используется только для проверки парсинга метаданных, текущая реализация приемлема. Однако, если тесты проверяют функциональность веб-сервиса, рассмотрите следующие изменения:
-Функция Операция1() +Функция Операция1() Экспорт // Вставить содержимое обработчика. + Возврат Неопределено; КонецФункцииsrc/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDReaderContext.java (1)
105-108: Специальная обработка ExternalDataSourceTableField.Логика корректно обрабатывает сопоставление класса
ExternalDataSourceTableFieldс алиасом "Field" для правильного разрешенияMDOType. Реализация согласуется с регистрацией алиасов в DesignerReader.Если в будущем потребуется аналогичная обработка для других типов, рассмотрите возможность обобщения этого подхода через конфигурируемое сопоставление классов и алиасов.
src/main/java/com/github/_1c_syntax/bsl/reader/common/context/AbstractReaderContext.java (1)
148-160: Неэффективная реализация накопления значений в списки.Текущая реализация создаёт новую обёртку
Collections.synchronizedList()при каждом добавлении значения в существующий список (строка 151), что неэффективно:
- При каждом вызове
setValueдля списка создаётся новыйArrayListиз существующего списка, затем оборачивается в синхронизированную обёртку.- Это приводит к лишним аллокациям памяти и копированию данных.
- Логика не переиспользует существующий синхронизированный список.
Рекомендуется оптимизировать логику накопления:
public void setValue(String methodName, Object value) { if (value != null) { TransformationUtils.setValue(builder, methodName, value); var key = methodName.toLowerCase(Locale.ROOT); - var cacheValue = cache.get(key); - if (cacheValue instanceof List<?> list) { - List<Object> newValue = Collections.synchronizedList(new ArrayList<>(list)); - if (value instanceof List<?> valueList) { - newValue.addAll(valueList); - } else { - newValue.add(value); - } - cache.put(key, newValue); - } else { - cache.put(key, value); - } + cache.compute(key, (k, existing) -> { + if (existing instanceof List<?> existingList) { + @SuppressWarnings("unchecked") + List<Object> list = (List<Object>) existingList; + if (value instanceof List<?> valueList) { + list.addAll(valueList); + } else { + list.add(value); + } + return list; + } else if (existing != null) { + return value; // Replace non-list value + } else { + // First value - wrap in synchronized list if needed for accumulation + if (value instanceof List<?>) { + return Collections.synchronizedList(new ArrayList<>((List<?>) value)); + } + return value; + } + }); } }Альтернативно, если известно, что определённые ключи всегда требуют накопления, можно инициализировать их синхронизированными списками сразу при создании кэша.
src/test/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationTest2.java (1)
108-183: Бrittle-проверка суммы детейСуммирование размеров всех коллекций для проверки
getChildren()хрупко: при добавлении новых коллекций тест упадет. Это допустимо, но на будущее можно вычислять ожидаемое значение через единый список источников или параметризовать ожидания.src/test/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSourceTest.java (1)
53-81: Расширенные проверки структуры ExternalDataSource — окПроверки детей/плоскости/атрибутов согласованы с новой моделью. При желании можно добавить проверки содержимого
getFunctions().get(0)(имя/модуль) для большей уверенности.src/main/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSource.java (1)
102-103: Удалить устаревший TODO
// todo сделать функции и кубыбольше не актуален — стоит удалить.src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаПоиска/Ext/Form/Module.bsl (1)
15-51: Рассмотрите вынос магических чисел в константы.Значение
РазмерПорции = 10жестко закодировано в нескольких местах модуля (строки 20, 57, 87). Рекомендуется вынести это значение в константу или параметр формы для упрощения последующих изменений.Пример:
+Перем РазмерПорции Экспорт; + &НаСервере Процедура СформироватьСтрокуНавигации(ВсегоСтраниц, ПолноеКоличество) Перем РазмерПорции; Перем ТекущаяСтраница; - РазмерПорции = 10; + Если РазмерПорции = 0 Тогда + РазмерПорции = 10; + КонецЕсли;
📜 Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro
⛔ Files ignored due to path filters (243)
src/test/resources/ext/designer/mdclasses_3_25/src/cf/AccountingRegisters/РегистрБухгалтерии1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/AccumulationRegisters/РегистрНакопления1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/AccumulationRegisters/РегистрНакопления2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Bots/Бот1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/BusinessProcesses/БизнесПроцесс1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CalculationRegisters/РегистрРасчета1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CalculationRegisters/РегистрРасчета1/Recalculations/Перерасчет1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CalculationRegisters/РегистрРасчета1/Templates/Макет.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1/Forms/ФормаВыбора.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1/Forms/ФормаВыбора/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1/Forms/ФормаСписка.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1/Forms/ФормаСписка/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1/Forms/ФормаЭлемента.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1/Forms/ФормаЭлемента/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник3/Forms/ФормаВыбораГруппы.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник3/Forms/ФормаВыбораГруппы/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник3/Forms/ФормаГруппы.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник3/Forms/ФормаГруппы/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ChartsOfAccounts/ПланСчетов1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета1/Forms/ФормаВидаРасчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета1/Forms/ФормаВидаРасчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета2/Forms/ФормаВидаРасчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета2/Forms/ФормаВидаРасчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ChartsOfCharacteristicTypes/ПланВидовХарактеристик1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommandGroups/ГруппаКоманд1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonAttributes/ОбщийРеквизит1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonAttributes/ОбщийРеквизит2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonCommands/ОбщаяКоманда1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаВариантаОтчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаВариантаОтчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаДанныхВерсииИсторииДанных.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаДанныхВерсииИсторииДанных/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаИсторииИзмененийИсторииДанных.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаИсторииИзмененийИсторииДанных/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаИсторииИзмененийИсторииДанных/Ext/Form/Items/Версии/RowsPicture.zipis excluded by!**/*.zip,!**/*.zipsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаКонстант.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаКонстант/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаНастроекДинамическогоСписка.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаНастроекДинамическогоСписка/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаНастроекОтчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаНастроекОтчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаОтчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаОтчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаПоиска.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаПоиска/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаРазличийВерсийИсторииДанных.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаРазличийВерсийИсторииДанных/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonModules/ОбщийМодуль1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonModules/ОбщийМодуль2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonModules/ОбщийМодуль3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonModules/ОбщийМодуль4.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonPictures/ОбщаяКартинка1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonPictures/ОбщаяКартинка1/Ext/Picture.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonPictures/ОбщаяКартинка1/Ext/Picture/Picture.jpgis excluded by!**/*.jpg,!**/*.jpgsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет2/Ext/Template.binis excluded by!**/*.bin,!**/*.binsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет3/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет4.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет4/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет5.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет5/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет6.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет6/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет7.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет7/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет8.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет8/Ext/Template.binis excluded by!**/*.bin,!**/*.binsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Configuration.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Constants/Константа1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Constants/Константа2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Constants/Константа3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Constants/Константа4.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/DataProcessors/Обработка1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/DataProcessors/Обработка1/Forms/Форма.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/DataProcessors/Обработка1/Forms/Форма/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/DefinedTypes/ОпределяемыйТип1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/DocumentJournals/ЖурналДокументов1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/DocumentNumerators/НумераторДокументов1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Documents/Документ1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Documents/Документ1/Templates/Макет.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Documents/Документ2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Enums/Перечисление1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/EventSubscriptions/ПодпискаНаСобытие1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExchangePlans/ПланОбмена1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExchangePlans/ПланОбмена2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Cubes/Куб1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Cubes/Куб1/DimensionTables/ddddd.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Cubes/Куб1/DimensionTables/ddddd/Forms/ФормаОбъекта.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Cubes/Куб1/DimensionTables/ddddd/Forms/ФормаОбъекта/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Cubes/Куб1/Forms/ФормаСписка.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Cubes/Куб1/Forms/ФормаСписка/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Tables/Таблица1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Tables/Таблица1/Forms/ФормаОбъекта.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Tables/Таблица1/Forms/ФормаОбъекта/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Tables/Таблица1/Templates/Макет.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/FilterCriteria/КритерийОтбора1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/FunctionalOptions/ФункциональнаяОпция1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/FunctionalOptions/ФункциональнаяОпция2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/FunctionalOptionsParameters/ПараметрФункциональныхОпций1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/HTTPServices/HTTPСервис1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/InformationRegisters/РегистрСведений1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/InformationRegisters/РегистрСведений2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/IntegrationServices/СервисИнтеграции1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Languages/Русский.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Languages/Язык1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Reports/Отчет1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Reports/Отчет1/Forms/ФормаОтчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Reports/Отчет1/Forms/ФормаОтчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Reports/Отчет1/Templates/ОсновнаяСхемаКомпоновкиДанных.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Reports/Отчет1/Templates/ОсновнаяСхемаКомпоновкиДанных/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Roles/Роль1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Roles/Роль1/Ext/Rights.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Roles/Роль2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Roles/Роль2/Ext/Rights.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ScheduledJobs/РегламентноеЗадание1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ScheduledJobs/РегламентноеЗадание1/Ext/Schedule.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/ScheduledJobs/РегламентноеЗадание2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Sequences/Последовательность1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/SessionParameters/ОбщийРеквизит2Значение.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/SessionParameters/ОбщийРеквизит2Использование.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/SessionParameters/ПараметрСеанса1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/SessionParameters/ПараметрСеанса2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/SettingsStorages/ХранилищеНастроек1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/SettingsStorages/ХранилищеНастроек2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/StyleItems/ЭлементСтиля1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/StyleItems/ЭлементСтиля2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/StyleItems/ЭлементСтиля3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Styles/Стиль1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Styles/Стиль2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Styles/Стиль2/Ext/Style.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Subsystems/Подсистема1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Subsystems/Подсистема2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Subsystems/Подсистема3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Subsystems/Подсистема4.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/Tasks/Задача1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/WSReferences/WSСсылка1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/WSReferences/WSСсылка1/Ext/WSDefinition.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/WebServices/WebСервис1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/XDTOPackages/ПакетXDTO1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_25/src/cf/XDTOPackages/ПакетXDTO1/Ext/Package.binis excluded by!**/*.bin,!**/*.binsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/AccountingRegisters/РегистрБухгалтерии1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/AccumulationRegisters/РегистрНакопления1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/AccumulationRegisters/РегистрНакопления2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Bots/Бот1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/BusinessProcesses/БизнесПроцесс1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CalculationRegisters/РегистрРасчета1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CalculationRegisters/РегистрРасчета1/Recalculations/Перерасчет1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CalculationRegisters/РегистрРасчета1/Templates/Макет.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник1/Ext/AdditionalIndexes.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник1/Forms/ФормаВыбора.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник1/Forms/ФормаВыбора/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник1/Forms/ФормаСписка.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник1/Forms/ФормаСписка/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник1/Forms/ФормаЭлемента.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник1/Forms/ФормаЭлемента/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник3/Ext/Predefined.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник3/Forms/ФормаВыбораГруппы.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник3/Forms/ФормаВыбораГруппы/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник3/Forms/ФормаГруппы.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Catalogs/Справочник3/Forms/ФормаГруппы/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfAccounts/ПланСчетов1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета1/Forms/ФормаВидаРасчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета1/Forms/ФормаВидаРасчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета2/Forms/ФормаВидаРасчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfCalculationTypes/ПланВидовРасчета2/Forms/ФормаВидаРасчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfCharacteristicTypes/ПланВидовХарактеристик1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/ChartsOfCharacteristicTypes/ПланВидовХарактеристик1/Ext/Predefined.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommandGroups/ГруппаКоманд1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonAttributes/ОбщийРеквизит1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonAttributes/ОбщийРеквизит2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonCommands/ОбщаяКоманда1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаВариантаОтчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаВариантаОтчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаДанныхВерсииИсторииДанных.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаДанныхВерсииИсторииДанных/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаИсторииИзмененийИсторииДанных.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаИсторииИзмененийИсторииДанных/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаИсторииИзмененийИсторииДанных/Ext/Form/Items/Версии/RowsPicture.zipis excluded by!**/*.zip,!**/*.zipsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаКонстант.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаКонстант/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаНастроекДинамическогоСписка.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаНастроекДинамическогоСписка/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаНастроекОтчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаНастроекОтчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаОтчета.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаОтчета/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаПоиска.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаПоиска/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаРазличийВерсийИсторииДанных.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonForms/ФормаРазличийВерсийИсторииДанных/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonModules/ОбщийМодуль1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonModules/ОбщийМодуль2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonModules/ОбщийМодуль3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonModules/ОбщийМодуль4.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonPictures/ОбщаяКартинка1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonPictures/ОбщаяКартинка1/Ext/Picture.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonPictures/ОбщаяКартинка1/Ext/Picture/Picture.jpgis excluded by!**/*.jpg,!**/*.jpgsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет2/Ext/Template.binis excluded by!**/*.bin,!**/*.binsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет3/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет4.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет4/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет5.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет5/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет6.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет6/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет7.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет7/Ext/Template.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет8.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/CommonTemplates/Макет8/Ext/Template.binis excluded by!**/*.bin,!**/*.binsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Configuration.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Constants/Константа1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Constants/Константа2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Constants/Константа3.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Constants/Константа4.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/DataProcessors/Обработка1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/DataProcessors/Обработка1/Forms/Форма.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/DataProcessors/Обработка1/Forms/Форма/Ext/Form.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/DefinedTypes/ОпределяемыйТип1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/DocumentJournals/ЖурналДокументов1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/DocumentNumerators/НумераторДокументов1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Documents/Документ1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Documents/Документ1/Templates/Макет.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Documents/Документ2.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/Enums/Перечисление1.xmlis excluded by!**/*.xmlsrc/test/resources/ext/designer/mdclasses_3_27/src/cf/EventSubscriptions/ПодпискаНаСобытие1.xmlis excluded by!**/*.xml
📒 Files selected for processing (43)
build.gradle.kts(1 hunks)src/main/java/com/github/_1c_syntax/bsl/mdclasses/Configuration.java(2 hunks)src/main/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationExtension.java(2 hunks)src/main/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationTree.java(2 hunks)src/main/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSource.java(5 hunks)src/main/java/com/github/_1c_syntax/bsl/mdo/WebSocketClient.java(1 hunks)src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCube.java(1 hunks)src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCubeDimensionTable.java(1 hunks)src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceFunction.java(1 hunks)src/main/java/com/github/_1c_syntax/bsl/mdo/utils/LazyLoader.java(4 hunks)src/main/java/com/github/_1c_syntax/bsl/reader/common/context/AbstractReaderContext.java(1 hunks)src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDReaderContext.java(2 hunks)src/main/java/com/github/_1c_syntax/bsl/reader/common/context/std_attributes/StdAttributeFiller.java(1 hunks)src/main/java/com/github/_1c_syntax/bsl/reader/designer/DesignerReader.java(2 hunks)src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/MDChildConverter.java(2 hunks)src/main/java/com/github/_1c_syntax/bsl/reader/edt/EDTReader.java(2 hunks)src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ExternalDataSourceConverter.java(2 hunks)src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/MDChildConverter.java(2 hunks)src/test/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationTest2.java(1 hunks)src/test/java/com/github/_1c_syntax/bsl/mdclasses/MDClassesTest.java(2 hunks)src/test/java/com/github/_1c_syntax/bsl/mdo/CatalogTest.java(2 hunks)src/test/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSourceTest.java(2 hunks)src/test/java/com/github/_1c_syntax/bsl/mdo/WebSocketClientTest.java(1 hunks)src/test/java/com/github/_1c_syntax/bsl/smoke/RightTest.java(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CalculationRegisters/РегистрРасчета1/Templates/Макет/Ext/Template.txt(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1/Forms/ФормаВыбора/Ext/Form/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonCommands/ОбщаяКоманда1/Ext/CommandModule.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаВариантаОтчета/Ext/Form/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаДанныхВерсииИсторииДанных/Ext/Form/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаИсторииИзмененийИсторииДанных/Ext/Form/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаПоиска/Ext/Form/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаРазличийВерсийИсторииДанных/Ext/Form/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonModules/ОбщийМодуль1/Ext/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonModules/ОбщийМодуль3/Ext/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет1/Ext/Template.txt(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет3/Ext/Template/ru.html(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/DataProcessors/Обработка1/Forms/Форма/Ext/Form/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/Documents/Документ1/Commands/Команда1/Ext/CommandModule.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/ExternalDataSources/ВнешнийИсточникДанных1/Tables/Таблица1/Templates/Макет/Ext/Template.txt(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/HTTPServices/HTTPСервис1/Ext/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/IntegrationServices/СервисИнтеграции1/Ext/Module.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/Reports/Отчет1/Commands/Команда1/Ext/CommandModule.bsl(1 hunks)src/test/resources/ext/designer/mdclasses_3_25/src/cf/WebServices/WebСервис1/Ext/Module.bsl(1 hunks)
🧰 Additional context used
🧬 Code graph analysis (6)
src/test/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationTest2.java (2)
src/main/java/com/github/_1c_syntax/bsl/reader/designer/DesignerReader.java (1)
Slf4j(83-291)src/main/java/com/github/_1c_syntax/bsl/reader/edt/EDTReader.java (1)
Slf4j(80-294)
src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCube.java (4)
src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDReaderContext.java (1)
EqualsAndHashCode(58-186)src/main/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSource.java (1)
Value(44-138)src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCubeDimensionTable.java (1)
Value(52-176)src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceFunction.java (1)
Value(43-106)
src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ExternalDataSourceConverter.java (1)
src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/MDChildConverter.java (1)
EDTConverter(36-52)
src/main/java/com/github/_1c_syntax/bsl/mdo/WebSocketClient.java (4)
src/main/java/com/github/_1c_syntax/bsl/reader/common/context/MDReaderContext.java (1)
EqualsAndHashCode(58-186)src/main/java/com/github/_1c_syntax/bsl/mdclasses/Configuration.java (1)
Value(106-442)src/main/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationExtension.java (1)
Value(105-349)src/main/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSource.java (1)
Value(44-138)
src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceFunction.java (2)
src/main/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSource.java (1)
Value(44-138)src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCube.java (1)
Value(52-197)
src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCubeDimensionTable.java (2)
src/main/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSource.java (1)
Value(44-138)src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCube.java (1)
Value(52-197)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (13)
- GitHub Check: build (17, windows-latest)
- GitHub Check: build (21, macOS-latest)
- GitHub Check: build (21, windows-latest)
- GitHub Check: QA
- GitHub Check: build (23, macOS-latest)
- GitHub Check: build (23, windows-latest)
- GitHub Check: build (17, ubuntu-latest)
- GitHub Check: build (23, ubuntu-latest)
- GitHub Check: build (17, macOS-latest)
- GitHub Check: build (21, ubuntu-latest)
- GitHub Check: build (21, windows-latest)
- GitHub Check: build (23, windows-latest)
- GitHub Check: build (17, windows-latest)
🔇 Additional comments (40)
src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonTemplates/Макет3/Ext/Template/ru.html (1)
1-1: Всё в порядкеРесурс добавлен корректно, критичных замечаний нет.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/IntegrationServices/СервисИнтеграции1/Ext/Module.bsl (1)
2-4: Подтвердите, что заглушка намеренная для тестовых целей.Структура процедуры корректна. Поскольку файл находится в тестовых ресурсах (
src/test/resources), пустая реализация с шаблонным комментарием вероятно используется для проверки структуры метаданных без необходимости в логике обработчика.Пожалуйста, подтвердите, что это намеренная заглушка для тестирования. При желании можно добавить пояснительный комментарий, указывающий на назначение этой заглушки.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/HTTPServices/HTTPСервис1/Ext/Module.bsl (1)
2-20: Реализация корректна для тестового ресурса.Файл представляет собой тестовый модуль HTTP-сервиса с заглушками для проверки парсинга метаданных. Все четыре функции имеют идентичную реализацию, что допустимо для тестовых фикстур, где важна структура, а не функциональность. Неиспользуемый параметр
Запроссоответствует требованиям фреймворка 1C для обработчиков HTTP-сервисов.src/test/resources/ext/designer/mdclasses_3_25/src/cf/Documents/Документ1/Commands/Команда1/Ext/CommandModule.bsl (1)
1-7: Валидный тестовый шаблон обработчика команды документа.Структура файла соответствует шаблону, генерируемому 1C:Enterprise Designer для команд документов. Все элементы на месте: клиентская директива, процедура-обработчик с корректными параметрами и комментариями-заглушками.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/Reports/Отчет1/Commands/Команда1/Ext/CommandModule.bsl (1)
1-7: Валидный тестовый шаблон обработчика команды отчета.Структура файла соответствует шаблону, генерируемому 1C:Enterprise Designer для команд отчетов. Реализация идентична шаблону для документов, с корректным путем к форме отчета.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonCommands/ОбщаяКоманда1/Ext/CommandModule.bsl (1)
1-7: Проверьте корректность незавершенного пути формы.Структура модуля команды соответствует шаблону Designer, однако строка 6 содержит неполный путь формы:
"ОбщаяФорма."без указания имени формы после точки. В отличие от команд документа и отчета, где пути форм указаны полностью, здесь отсутствует финальная часть пути.Убедитесь, что это соответствует тому, как Designer генерирует шаблоны для общих команд в версии 8.3.25.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonModules/ОбщийМодуль1/Ext/Module.bsl (1)
1-4: Тестовая заглушка корректна.Файл представляет собой валидную заглушку для тестирования парсинга метаданных общего модуля с экспортной процедурой регламентного задания. Синтаксис BSL корректен, структура соответствует стандартам 1С:Предприятие.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonModules/ОбщийМодуль3/Ext/Module.bsl (1)
1-8: Тестовые заглушки корректны.Файл содержит две валидные заглушки для тестирования:
- Обработчик события подписки с правильной сигнатурой параметров
- Процедуру регламентного задания
Синтаксис BSL корректен, структура соответствует стандартам 1С:Предприятие. Файл подходит для использования в качестве тестового ресурса.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/CalculationRegisters/РегистрРасчета1/Templates/Макет/Ext/Template.txt (1)
1-1: LGTM! Стандартный тестовый файл-заглушка.Файл является типичным заполнителем для тестовых ресурсов, содержащим только BOM-маркер. Соответствует аналогичным файлам в других тестовых ресурсах PR.
src/main/java/com/github/_1c_syntax/bsl/mdo/utils/LazyLoader.java (3)
33-33: LGTM! Корректное добавление импортов.Импорты
ExternalDataSourceиExternalDataSourceCubeнеобходимы для новой функциональности обработки дочерних элементов внешних источников данных.Also applies to: 42-42
106-114: LGTM! Логика обработки дочерних элементов корректна.Добавлена поддержка дочерних элементов для
ExternalDataSource(таблицы, кубы, функции) иExternalDataSourceCube(таблицы измерений). Реализация соответствует существующим паттернам в методеcomputeChildren.
191-194: LGTM! Корректная агрегация атрибутов куба.Добавлена обработка
ExternalDataSourceCubeдля включения ресурсов и измерений в список всех атрибутов. Логика согласуется с обработкой регистров и планов счетов выше.src/test/java/com/github/_1c_syntax/bsl/mdo/CatalogTest.java (1)
57-57: LGTM! Корректное обновление тестовых проверок.Добавлены проверки наличия
StandardAttributeв коллекцияхgetChildren(),getStorageFields()иgetPlainStorageFields(). Изменения согласуются с расширенной поддержкой стандартных атрибутов в остальной части PR.Also applies to: 76-76, 84-84
src/test/resources/ext/designer/mdclasses_3_25/src/cf/DataProcessors/Обработка1/Forms/Форма/Ext/Form/Module.bsl (1)
1-10: LGTM! Стандартный тестовый модуль BSL.Модуль демонстрирует типичный паттерн клиент-серверного взаимодействия в 1C BSL: клиентская процедура
Команда1вызывает серверную процедуруКоманда1НаСервере. Структура соответствует стандартам платформы 1C и подходит для тестовых ресурсов.src/test/java/com/github/_1c_syntax/bsl/smoke/RightTest.java (1)
47-47: LGTM! Корректное обновление ожидаемого количества классов.Увеличение ожидаемого количества классов, реализующих
AccessRightsOwner, с 44 до 47 соответствует добавлению новых типов MDO в рамках данного PR (например,WebSocketClientи типы, связанные сExternalDataSource).src/main/java/com/github/_1c_syntax/bsl/reader/designer/converter/MDChildConverter.java (2)
25-26: LGTM! Корректное добавление импортов.Импорты
ExternalDataSourceCubeиExternalDataSourceCubeDimensionTableнеобходимы для новых маппингов типов в методеcomputeTypes.
80-81: LGTM! Корректное добавление маппингов типов.Добавлены маппинги для новых типов
ExternalDataSourceCubeиExternalDataSourceCubeDimensionTableна соответствующие значения enumMDOType. Реализация согласуется с существующими маппингами в методеcomputeTypes.src/main/java/com/github/_1c_syntax/bsl/reader/common/context/std_attributes/StdAttributeFiller.java (1)
276-276: Вручную проверьте согласованность регистра ключа "attributes"Скрипт не нашёл ни одного вхождения
getChildrenContexts().put("Attributes"/"attributes"). Пожалуйста, убедитесь вручную, что во всех местах добавления дочерних контекстов атрибутов используется ключ"attributes"в нижнем регистре.src/main/java/com/github/_1c_syntax/bsl/reader/designer/DesignerReader.java (1)
35-37: Регистрация новых типов MDO выполнена корректно.Импорты и регистрация алиасов XStream для новых типов ExternalDataSource (Cube, Function, DimensionTable) следуют установленным паттернам и согласуются с целями PR.
Also applies to: 271-273
src/main/java/com/github/_1c_syntax/bsl/mdclasses/Configuration.java (1)
73-73: Добавление поддержки WebSocket-клиентов выполнено корректно.Новое поле
webSocketClientsследует установленным паттернам и согласуется с аналогичными изменениями в ConfigurationExtension и ConfigurationTree.Also applies to: 206-207
src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/MDChildConverter.java (1)
25-26: Исключения для новых типов ExternalDataSource добавлены корректно.Расширение логики
canConvertследует установленному паттерну исключения специальных типов из обработки MDChildConverter.Also applies to: 47-48
src/main/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationTree.java (1)
71-71: Методы доступа к WebSocket-клиентам реализованы последовательно.Добавленные методы
getWebSocketClients()иfindWebSocketClient()следуют единому шаблону интерфейса ConfigurationTree.Also applies to: 670-681
src/main/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationExtension.java (1)
73-73: Добавление WebSocket-клиентов и исправление консистентности аннотаций.Поле
webSocketClientsдобавлено согласованно с Configuration. Аннотация@Singularтакже добавлена к полюhttpServicesдля единообразия с Configuration.Also applies to: 199-200
src/test/java/com/github/_1c_syntax/bsl/mdclasses/ConfigurationTest2.java (2)
45-70: Тест 8.3.25 выглядит корректноПокрытие свойств и состав детей согласованы; замечаний нет.
79-106: Тест 8.3.27: корректно проверяет WebSocket-клиентыПроверка
getWebSocketClients()и суммарного состава детей валидна.src/test/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSourceTest.java (1)
39-42: Smoke-тест MDO типа — окТип корректно проверяется.
src/test/java/com/github/_1c_syntax/bsl/mdo/WebSocketClientTest.java (1)
41-56: Проверьте имя константы ModuleType
ModuleType.WEBSocketClientModuleвыглядит нетипично по стилю именования. Убедитесь, что это точное имя константы вModuleType(возможноWebSocketClientModuleили иное). Остальные проверки валидны.src/test/resources/ext/designer/mdclasses_3_25/src/cf/Catalogs/Справочник1/Forms/ФормаВыбора/Ext/Form/Module.bsl (1)
1-20: Ок для тестовых ресурсовЗаглушки обработчиков и вызовы серверных процедур корректны.
src/main/java/com/github/_1c_syntax/bsl/reader/edt/EDTReader.java (1)
274-281: Новые alias для EDT — окМаппинги для кубов/функций/таблиц измерений добавлены корректно. Нужен ли также singular alias для
Functionв EDT (по аналогии сCube/DimensionTable), или формат EDT всегда использует множественноеfunctions?src/main/java/com/github/_1c_syntax/bsl/mdo/WebSocketClient.java (1)
37-93: Класс WebSocketClient реализован корректноСтруктура данных, интеграция с ModuleOwner и дефолты — без замечаний.
src/main/java/com/github/_1c_syntax/bsl/mdo/ExternalDataSource.java (1)
71-107: Ленивая агрегация детей и новые коллекции — ок
children/plainChildrenчерезLazyLoaderи коллекцииfunctions/cubesдобавлены корректно.src/main/java/com/github/_1c_syntax/bsl/reader/edt/converter/ExternalDataSourceConverter.java (1)
75-79: Покрытие Function в EDT-конвертереКонвертер исключает
ExternalDataSourceFunction(его обрабатываетMDChildConverter?), подтвердите, что для EDT-функций не требуется аналогичная маршрутизация по файлам (как для Table/Cube/DimensionTable).src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаИсторииИзмененийИсторииДанных/Ext/Form/Module.bsl (1)
1-428: Тестовый ресурс для версии 8.3.25 выглядит корректно.Модуль формы истории изменений данных реализует стандартную функциональность 1С для работы с историей данных. Код содержит:
- Инициализацию с проверкой прав доступа
- Выборку и отображение версий
- Фильтрацию и навигацию по версиям
- Сравнение версий
- Управление комментариями
Синтаксических ошибок и критических проблем не обнаружено.
src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCube.java (1)
52-197: Реализация класса ExternalDataSourceCube выглядит отлично.Класс корректно реализован с соблюдением всех паттернов MDO:
- Присутствуют все необходимые интерфейсы и поля
- Используется ленивая загрузка для children, plainChildren, allAttributes и allModules
- Правильно определены коллекции атрибутов: dimensions, resources, dimensionTables
- Права доступа (READ, VIEW) соответствуют аналитическому объекту с режимом только для чтения
Структура класса согласована с аналогичными MDO-классами в кодовой базе.
src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceFunction.java (1)
43-106: Класс ExternalDataSourceFunction реализован корректно.Реализация функции внешнего источника данных соответствует требованиям:
- Правильно реализованы интерфейсы MDChild, ValueTypeOwner, AccessRightsOwner
- Поле
typeкорректно скрыто (AccessLevel.NONE) с публичным методомgetValueType()- Специфичные поля
returnValueиexpressionInDataSourceсоответствуют функциональности- Права доступа (VIEW, USE) подходят для объекта-функции
Класс не содержит избыточной функциональности, что правильно для простого объекта без дочерних элементов.
src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаДанныхВерсииИсторииДанных/Ext/Form/Module.bsl (1)
1-779: Тестовый ресурс модуля формы данных версии выглядит корректно.Модуль реализует полнофункциональное отображение данных версии истории с поддержкой:
- Различных типов метаданных (регистры, константы, объекты)
- Проверки прав доступа на уровне полей и табличных частей
- Отображения изменений с визуальным выделением
- Табличных частей с отслеживанием изменений строк
- Навигации между версиями и сравнения
Код соответствует стандартам 1С:Предприятие 8 для работы с историей данных. Критических проблем не обнаружено.
src/main/java/com/github/_1c_syntax/bsl/mdo/children/ExternalDataSourceCubeDimensionTable.java (1)
82-82: Проверьте необходимость поляplainChildrenи методаgetPlainChildren()
ВExternalDataSourceCubeDimensionTable.javaэти элементы отсутствуют, тогда как вExternalDataSourceCube.javaони есть – убедитесь, что для таблиц измерений это архитектурно оправданный пропуск.src/test/resources/ext/designer/mdclasses_3_25/src/cf/CommonForms/ФормаПоиска/Ext/Form/Module.bsl (3)
1-13: Инициализация формы реализована корректно.Процедура правильно загружает предыдущие поисковые запросы из хранилища настроек с проверкой на Неопределено.
53-179: Отсутствует обработка ошибок при работе с полнотекстовым поиском.Процедура не содержит обработку исключений для операций полнотекстового поиска и парсинга XML. При возникновении ошибок (например, недоступность полнотекстового индекса, некорректный XML) форма аварийно завершит работу.
Рекомендуется добавить обработку ошибок:
&НаСервере Процедура ВыполнитьПоискНаСервере() + Попытка // ... существующий код ... + Исключение + Сообщить("Ошибка при выполнении поиска: " + ОписаниеОшибки()); + Элементы.СтраницыРезультатов.ТекущаяСтраница = Элементы.СтраницаПоиска; + КонецПопытки; КонецПроцедуры
332-356: Реализация истории поиска выполнена корректно.Обработчики для работы с историей поиска правильно реализуют функциональность:
- Заполнение выпадающего списка из истории запросов
- Отображение меню истории
- Выполнение выбранного запроса
Логика корректна, включая проверки на Неопределено.
| // прочее | ||
| implementation("commons-io", "commons-io", "2.18.0") | ||
| implementation("io.github.1c-syntax", "bsl-common-library", "0.9.0.18-SNAPSHOT") | ||
| implementation("io.github.1c-syntax", "bsl-common-library", "0.9.0.21-SNAPSHOT") |
There was a problem hiding this comment.
🧩 Analysis chain
Проверьте доступность версии SNAPSHOT-зависимости.
Убедитесь, что версия 0.9.0.21-SNAPSHOT библиотеки bsl-common-library доступна в репозитории Maven и не содержит критических проблем.
Выполните следующий скрипт для проверки доступности версии:
🏁 Script executed:
#!/bin/bash
# Проверка доступности версии 0.9.0.21-SNAPSHOT в Maven Central Snapshots
curl -s "https://central.sonatype.com/repository/maven-snapshots/io/github/1c-syntax/bsl-common-library/0.9.0.21-SNAPSHOT/" | head -20Length of output: 907
🏁 Script executed:
#!/bin/bash
# Проверка наличия JAR-артефакта через Sonatype redirect API
curl -s -o /dev/null -w '%{http_code}' \
"https://oss.sonatype.org/service/local/artifact/maven/redirect?r=snapshots&g=io.github.1c-syntax&a=bsl-common-library&v=0.9.0.21-SNAPSHOT&p=jar"Length of output: 3
Версия SNAPSHOT отсутствует в репозитории
При попытке загрузить JAR-артефакт 0.9.0.21-SNAPSHOT получен HTTP 404. В build.gradle.kts (строка 62) укажите существующую версию или задеплойте 0.9.0.21-SNAPSHOT.
🤖 Prompt for AI Agents
В build.gradle.kts около строки 62, зависимость
implementation("io.github.1c-syntax","bsl-common-library","0.9.0.21-SNAPSHOT")
указывает на несуществующий SNAPSHOT (HTTP 404). Исправьте это либо заменив
версию на валидную опубликованную (например последнюю релизную версию в
репозитории артефактов), либо задеплойте артефакт 0.9.0.21-SNAPSHOT в
используемый репозиторий; после изменения синхронизируйте/перезапустите сборку
чтобы убедиться, что артефакт разрешается корректно.
| // здесь только имя после третьей точки | ||
| var childName = SPLITTER_PATTERN.split(reader.getValue())[POSITION_CHILD_NAME]; | ||
| return ExtendXStream.read(reader, dataPath(ExtendXStream.getCurrentPath(reader), childName)); | ||
| var childName = SPLITTER_PATTERN.split(reader.getValue())[position]; | ||
| return ExtendXStream.read(reader, dataPath(ExtendXStream.getCurrentPath(reader), mdoType, childName)); | ||
| } |
There was a problem hiding this comment.
Риск IndexOutOfBounds при разборе имени дочернего объекта
Жесткая индексация split(".")[position] упадет при ином формате строки/дополнительных точках в имени. Добавьте проверку границ и/или запасной вариант (последний сегмент).
Пример доработки:
- var childName = SPLITTER_PATTERN.split(reader.getValue())[position];
+ var parts = SPLITTER_PATTERN.split(reader.getValue());
+ int idx = position < parts.length ? position : parts.length - 1;
+ if (idx < 0) {
+ throw new IllegalArgumentException("Некорректное значение узла: " + reader.getValue());
+ }
+ var childName = parts[idx];📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| // здесь только имя после третьей точки | |
| var childName = SPLITTER_PATTERN.split(reader.getValue())[POSITION_CHILD_NAME]; | |
| return ExtendXStream.read(reader, dataPath(ExtendXStream.getCurrentPath(reader), childName)); | |
| var childName = SPLITTER_PATTERN.split(reader.getValue())[position]; | |
| return ExtendXStream.read(reader, dataPath(ExtendXStream.getCurrentPath(reader), mdoType, childName)); | |
| } | |
| // здесь только имя после третьей точки | |
| var parts = SPLITTER_PATTERN.split(reader.getValue()); | |
| int idx = position < parts.length ? position : parts.length - 1; | |
| if (idx < 0) { | |
| throw new IllegalArgumentException("Некорректное значение узла: " + reader.getValue()); | |
| } | |
| var childName = parts[idx]; | |
| return ExtendXStream.read(reader, dataPath(ExtendXStream.getCurrentPath(reader), mdoType, childName)); | |
| } |
|



Описание
Связанные задачи
Closes
Чеклист
Общие
gradlew precommit)Дополнительно
Summary by CodeRabbit