Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ dependencies {

// прочее
implementation("commons-io", "commons-io", "2.18.0")
implementation("io.github.1c-syntax", "bsl-common-library", "0.9.0.9-SNAPSHOT")
implementation("io.github.1c-syntax", "bsl-common-library", "0.9.0.16-SNAPSHOT")
implementation("io.github.1c-syntax", "utils", "0.6.3")
implementation("io.github.1c-syntax", "supportconf", "0.14.3") {
exclude("io.github.1c-syntax", "bsl-common-library")
Expand Down
16 changes: 8 additions & 8 deletions docs/ru/examples.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
- [Работа с метаданными](#работа-с-метаданными)
- [Работа с формами](#работа-с-формами)
- [Работа с модулями](#работа-с-модулями)
- [Анализ описания типов данных](#анализ-типов-данных)
- [Анализ типов данных](#анализ-типов-данных)
- [Поиск и фильтрация объектов](#поиск-и-фильтрация-объектов)
- [Практические сценарии](#практические-сценарии)

Expand Down Expand Up @@ -317,11 +317,11 @@ if (childMDO.isPresent() && childMDO.get() instanceof Catalog catalog) {
// проверим наименование
assertThat(objectAttribute.getName()).isEqualTo("Реквизит2");

// описание типа `getValueType`
// описание типа доступно через getValueType()
assertThat(objectAttribute.getValueType()).isNotNull();
// убеимся в наличии примитивного типа СТРОКА в составе описания
// убедимся в наличии примитивного типа СТРОКА в составе описания
assertThat(objectAttribute.getValueType().contains(PrimitiveValueType.NUMBER)).isTrue();
// убедимся, что тип не составно
// убедимся, что тип не составной
assertThat(objectAttribute.getValueType().isComposite()).isFalse();
// убедимся, что квалификаторы прочитаны
assertThat(objectAttribute.getValueType().getQualifiers()).hasSize(1);
Expand All @@ -330,7 +330,7 @@ if (childMDO.isPresent() && childMDO.get() instanceof Catalog catalog) {
var qualifier = objectAttribute.getValueType().getQualifiers().get(0);
assertThat(qualifier).isInstanceOf(NumberQualifiers.class);

// убаимся, что квалификатор числа содожержит верную информацию
// убедимся, что квалификатор числа содежржит верную информацию
var numberQualifiers = (NumberQualifiers) qualifier;
assertThat(numberQualifiers.getPrecision()).isEqualTo(10); // длина 10
assertThat(numberQualifiers.getScale()).isEqualTo(0); // точность 0
Expand Down Expand Up @@ -380,11 +380,11 @@ if (childMDO.isPresent() && childMDO.get() instanceof DefinedType definedType) {
// квалификаторов нет
assertThat(definedType.getValueType().getQualifiers()).isEmpty();

// создадим типа по имени
// создадим тип по имени
var typeContains = MetadataValueType.fromString("EnumRef.ДополнительныеЗначенияДоступа");

assertThat(typeContains).isNotNull();
// полученый тип относится к перечислению
// полученный тип относится к перечислению
assertThat(typeContains.getKind()).isEqualTo(MDOType.ENUM);
// тип не составной
assertThat(typeContains.isComposite()).isFalse();
Expand All @@ -398,7 +398,7 @@ if (childMDO.isPresent() && childMDO.get() instanceof DefinedType definedType) {
assertThat(typeNotContains).isNotNull();
// убедимся, что первый тип входит в состав описания
assertThat(definedType.getValueType().contains(typeContains)).isTrue();
// убедимся, что второй тип нпе входит в состав
// убедимся, что второй тип не входит в состав
assertThat(definedType.getValueType().contains(typeNotContains)).isFalse();
}
```
Expand Down
19 changes: 9 additions & 10 deletions src/main/java/com/github/_1c_syntax/bsl/mdclasses/CF.java
Original file line number Diff line number Diff line change
Expand Up @@ -28,11 +28,11 @@
import com.github._1c_syntax.bsl.mdo.Subsystem;
import com.github._1c_syntax.bsl.mdo.support.ApplicationRunMode;
import com.github._1c_syntax.bsl.mdo.support.InterfaceCompatibilityMode;
import com.github._1c_syntax.bsl.mdo.support.ScriptVariant;
import com.github._1c_syntax.bsl.mdo.support.UsePurposes;
import com.github._1c_syntax.bsl.support.CompatibilityMode;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.ModuleType;
import com.github._1c_syntax.bsl.types.ScriptVariant;

import java.net.URI;
import java.util.Collections;
Expand Down Expand Up @@ -146,14 +146,11 @@ default List<Subsystem> includedSubsystems(MD md, boolean addParentSubsystem) {
}

/**
* Возвращает список подсистем, в состав которых входит ссылка
* List subsystems that include the specified metadata reference.
*
* @param mdoReference ссылка на объект метаданных
* @param addParentSubsystem - признак необходимости добавлять родительскую (текущую) подсистему в список,
* если объект присутствует в дочерних.
* Используется для кейса: раз есть в дочерней, то считаем что и ко всем родителям
* тоже относится
* @return список подсистем
* @param mdoReference the metadata object reference to search for
* @param addParentSubsystem if true, include parent (containing) subsystems when the reference is present in a child subsystem
* @return a list of subsystems that include the given reference (may be empty)
*/
default List<Subsystem> includedSubsystems(MdoReference mdoReference, boolean addParentSubsystem) {
return getSubsystems().parallelStream()
Expand All @@ -162,7 +159,9 @@ default List<Subsystem> includedSubsystems(MdoReference mdoReference, boolean ad
}

/**
* Возвращает локализованное представление ссылки на объект метаданных с учетом используемого варианта языка разработки
* Возвращает локализованное представление ссылки на объект метаданных с учетом используемого варианта языка
* разработки
*
* @param md Объект метаданных, принадлежащий MDClasses
* @return Строковое представление ссылки
*/
Expand Down Expand Up @@ -194,4 +193,4 @@ default Optional<MD> findChild(MdoReference ref) {
default Optional<CommonModule> findCommonModule(String name) {
return Optional.ofNullable(getCommonModulesByName().get(name));
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,8 @@
import com.github._1c_syntax.bsl.mdo.support.ApplicationRunMode;
import com.github._1c_syntax.bsl.mdo.support.DataLockControlMode;
import com.github._1c_syntax.bsl.mdo.support.InterfaceCompatibilityMode;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.support.ObjectBelonging;
import com.github._1c_syntax.bsl.mdo.support.RoleRight;
import com.github._1c_syntax.bsl.mdo.support.ScriptVariant;
import com.github._1c_syntax.bsl.mdo.support.UseMode;
import com.github._1c_syntax.bsl.mdo.support.UsePurposes;
import com.github._1c_syntax.bsl.mdo.utils.LazyLoader;
Expand All @@ -86,6 +84,8 @@
import com.github._1c_syntax.bsl.types.ConfigurationSource;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.ModuleType;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import com.github._1c_syntax.bsl.types.ScriptVariant;
import com.github._1c_syntax.utils.Lazy;
import lombok.Builder;
import lombok.Builder.Default;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,17 +74,17 @@
import com.github._1c_syntax.bsl.mdo.support.ApplicationRunMode;
import com.github._1c_syntax.bsl.mdo.support.ConfigurationExtensionPurpose;
import com.github._1c_syntax.bsl.mdo.support.InterfaceCompatibilityMode;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.support.ObjectBelonging;
import com.github._1c_syntax.bsl.mdo.support.RoleRight;
import com.github._1c_syntax.bsl.mdo.support.ScriptVariant;
import com.github._1c_syntax.bsl.mdo.support.UsePurposes;
import com.github._1c_syntax.bsl.mdo.utils.LazyLoader;
import com.github._1c_syntax.bsl.support.CompatibilityMode;
import com.github._1c_syntax.bsl.support.SupportVariant;
import com.github._1c_syntax.bsl.types.ConfigurationSource;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.ModuleType;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import com.github._1c_syntax.bsl.types.ScriptVariant;
import com.github._1c_syntax.utils.Lazy;
import lombok.Builder;
import lombok.Builder.Default;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@
import com.github._1c_syntax.bsl.mdo.children.ObjectCommand;
import com.github._1c_syntax.bsl.mdo.children.ObjectForm;
import com.github._1c_syntax.bsl.mdo.children.ObjectTemplate;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.utils.LazyLoader;
import com.github._1c_syntax.bsl.types.ConfigurationSource;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import com.github._1c_syntax.utils.Lazy;
import lombok.Builder;
import lombok.Builder.Default;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,10 @@
import com.github._1c_syntax.bsl.mdo.children.ObjectCommand;
import com.github._1c_syntax.bsl.mdo.children.ObjectForm;
import com.github._1c_syntax.bsl.mdo.children.ObjectTemplate;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.utils.LazyLoader;
import com.github._1c_syntax.bsl.types.ConfigurationSource;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import com.github._1c_syntax.utils.Lazy;
import lombok.Builder;
import lombok.Builder.Default;
Expand Down
55 changes: 31 additions & 24 deletions src/main/java/com/github/_1c_syntax/bsl/mdclasses/MDClasses.java
Original file line number Diff line number Diff line change
@@ -1,25 +1,25 @@
/*
* This file is a part of MDClasses.
*
* Copyright (c) 2019 - 2025
* Tymko Oleg <olegtymko@yandex.ru>, Maximov Valery <maximovvalery@gmail.com> and contributors
*
* SPDX-License-Identifier: LGPL-3.0-or-later
*
* MDClasses is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* MDClasses is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with MDClasses.
*/
package com.github._1c_syntax.bsl.mdclasses;
/*
* This file is a part of MDClasses.
*
* Copyright (c) 2019 - 2025
* Tymko Oleg <olegtymko@yandex.ru>, Maximov Valery <maximovvalery@gmail.com> and contributors
*
* SPDX-License-Identifier: LGPL-3.0-or-later
*
* MDClasses is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* MDClasses is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with MDClasses.
*/
package com.github._1c_syntax.bsl.mdclasses;

import com.github._1c_syntax.bsl.reader.MDOReader;
import com.github._1c_syntax.bsl.types.MDOType;
Expand Down Expand Up @@ -190,13 +190,20 @@ private List<Path> findFiles(Path sourcePath, Pattern pattern) {
return listPath;
}

/**
* Collects the group names of MDO types to be used for exclusion filters.
*
* <p>Excludes the EXTERNAL_REPORT, EXTERNAL_DATA_PROCESSOR, and UNKNOWN types.</p>
*
* @return a set of group-name strings for all included MDOType values
*/
private Set<String> mdoTypeGroupNames() {
return Arrays.stream(MDOType.values())
.filter(type -> type != MDOType.EXTERNAL_REPORT
&& type != MDOType.EXTERNAL_DATA_PROCESSOR
&& type != MDOType.UNKNOWN
)
.map(MDOType::getGroupName)
.map(MDOType::groupName)
.collect(Collectors.toSet());
}
}
}
46 changes: 23 additions & 23 deletions src/main/java/com/github/_1c_syntax/bsl/mdo/AccountingRegister.java
Original file line number Diff line number Diff line change
@@ -1,37 +1,37 @@
/*
* This file is a part of MDClasses.
*
* Copyright (c) 2019 - 2025
* Tymko Oleg <olegtymko@yandex.ru>, Maximov Valery <maximovvalery@gmail.com> and contributors
*
* SPDX-License-Identifier: LGPL-3.0-or-later
*
* MDClasses is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* MDClasses is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with MDClasses.
*/
package com.github._1c_syntax.bsl.mdo;
/*
* This file is a part of MDClasses.
*
* Copyright (c) 2019 - 2025
* Tymko Oleg <olegtymko@yandex.ru>, Maximov Valery <maximovvalery@gmail.com> and contributors
*
* SPDX-License-Identifier: LGPL-3.0-or-later
*
* MDClasses is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3.0 of the License, or (at your option) any later version.
*
* MDClasses is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with MDClasses.
*/
package com.github._1c_syntax.bsl.mdo;

import com.github._1c_syntax.bsl.mdo.children.Dimension;
import com.github._1c_syntax.bsl.mdo.children.ObjectCommand;
import com.github._1c_syntax.bsl.mdo.children.ObjectForm;
import com.github._1c_syntax.bsl.mdo.children.ObjectTemplate;
import com.github._1c_syntax.bsl.mdo.children.Resource;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.support.ObjectBelonging;
import com.github._1c_syntax.bsl.mdo.support.RoleRight;
import com.github._1c_syntax.bsl.mdo.utils.LazyLoader;
import com.github._1c_syntax.bsl.support.SupportVariant;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import com.github._1c_syntax.utils.Lazy;
import lombok.Builder;
import lombok.Builder.Default;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,12 +26,12 @@
import com.github._1c_syntax.bsl.mdo.children.ObjectForm;
import com.github._1c_syntax.bsl.mdo.children.ObjectTemplate;
import com.github._1c_syntax.bsl.mdo.children.Resource;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.support.ObjectBelonging;
import com.github._1c_syntax.bsl.mdo.support.RoleRight;
import com.github._1c_syntax.bsl.mdo.utils.LazyLoader;
import com.github._1c_syntax.bsl.support.SupportVariant;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import com.github._1c_syntax.utils.Lazy;
import lombok.Builder;
import lombok.Builder.Default;
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/com/github/_1c_syntax/bsl/mdo/Bot.java
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,10 @@
*/
package com.github._1c_syntax.bsl.mdo;

import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.support.ObjectBelonging;
import com.github._1c_syntax.bsl.support.SupportVariant;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import lombok.Builder;
import lombok.Builder.Default;
import lombok.EqualsAndHashCode;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,12 +24,12 @@
import com.github._1c_syntax.bsl.mdo.children.ObjectCommand;
import com.github._1c_syntax.bsl.mdo.children.ObjectForm;
import com.github._1c_syntax.bsl.mdo.children.ObjectTemplate;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.support.ObjectBelonging;
import com.github._1c_syntax.bsl.mdo.support.RoleRight;
import com.github._1c_syntax.bsl.mdo.utils.LazyLoader;
import com.github._1c_syntax.bsl.support.SupportVariant;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import com.github._1c_syntax.utils.Lazy;
import lombok.Builder;
import lombok.Builder.Default;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@
import com.github._1c_syntax.bsl.mdo.children.ObjectTemplate;
import com.github._1c_syntax.bsl.mdo.children.Recalculation;
import com.github._1c_syntax.bsl.mdo.children.Resource;
import com.github._1c_syntax.bsl.mdo.support.MultiLanguageString;
import com.github._1c_syntax.bsl.mdo.support.ObjectBelonging;
import com.github._1c_syntax.bsl.mdo.support.RoleRight;
import com.github._1c_syntax.bsl.mdo.utils.LazyLoader;
import com.github._1c_syntax.bsl.support.SupportVariant;
import com.github._1c_syntax.bsl.types.MdoReference;
import com.github._1c_syntax.bsl.types.MultiLanguageString;
import com.github._1c_syntax.utils.Lazy;
import lombok.Builder;
import lombok.Builder.Default;
Expand Down
Loading
Loading