-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added functions for setting a mark for deletion and code refactoring #91
Conversation
WalkthroughThe changes introduce significant updates to the management of predefined values across multiple modules. The previous methods for creating these values have been replaced with direct processing calls, enhancing efficiency. New parameters have been added for improved functionality, and several public entity declarations have been modified to support these enhancements, ensuring better integration throughout the system. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant ManagerModule
participant PredefinedValues
User->>ManagerModule: Request Predefined Value Processing
ManagerModule->>PredefinedValues: ОбработатьПредопределенныеЗначения()
PredefinedValues->>ManagerModule: Return Processed Values
ManagerModule->>User: Provide Processed Values
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
CodeRabbit Configuration File (
|
1 similar comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 1
Outside diff range, codebase verification and nitpick comments (2)
docs/ПредопределенныеЗначения.md (2)
3-3
: Adjust heading level to h2.The heading level should increment by one level at a time. Change the heading level from h4 to h2.
Apply this diff to fix the heading level:
-#### Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения" +## Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения"Tools
Markdownlint
3-3: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time(MD001, heading-increment)
5-5
: Remove trailing punctuation from heading.Avoid trailing punctuation in headings. Remove the period from the heading.
Apply this diff to remove the trailing punctuation:
-#### При коментировании или удалении из кода предопределенных элементов и последующем перезаполнении, элемент будет помечен на удаление, включая все его подчиненные элементы. +#### При коментировании или удалении из кода предопределенных элементов и последующем перезаполнении, элемент будет помечен на удаление, включая все его подчиненные элементыTools
Markdownlint
5-5: Punctuation: '.'
Trailing punctuation in heading(MD026, no-trailing-punctuation)
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (7)
- docs/ПредопределенныеЗначения.md (1 hunks)
- src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Ext/ManagerModule.bsl (1 hunks)
- src/cf/Catalogs/пбп_МетодыИнтеграции/Ext/ManagerModule.bsl (1 hunks)
- src/cf/Catalogs/пбп_НастройкиИнтеграции/Ext/ManagerModule.bsl (1 hunks)
- src/cf/Catalogs/пбп_ТипСоответствияОбъектовИБ/Ext/ManagerModule.bsl (1 hunks)
- src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (7 hunks)
- src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl (1 hunks)
Additional context used
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl
[notice] 43-43: src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl#L43
Возможная опечатка в "локал"src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl
[warning] 153-153: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L153
Необходимо удалить описания параметров "ТаблицаПредопределенныхЗначений", отсутствующих в сигнатуре метода
[warning] 149-149: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L149
Длина строки 128 превышает максимально допустимую 120
[warning] 153-153: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L153
Необходимо добавить описание параметра "ТаблицаПредопределенных"
[notice] 284-284: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L284
Возможная опечатка в "пбп"
Markdownlint
docs/ПредопределенныеЗначения.md
3-3: Expected: h2; Actual: h4
Heading levels should only increment by one level at a time(MD001, heading-increment)
5-5: Punctuation: '.'
Trailing punctuation in heading(MD026, no-trailing-punctuation)
Additional comments not posted (13)
src/cf/Catalogs/пбп_НастройкиИнтеграции/Ext/ManagerModule.bsl (1)
29-31
: Verify the behavior ofОбработатьПредопределенныеЗначения
.The method
ОбработатьПредопределенныеЗначения
replaces the previous call toПредопределенныеЗначенияКСозданию
. Ensure that this new method encapsulates the necessary logic to handle predefined values correctly.Consider verifying the implementation of
ОбработатьПредопределенныеЗначения
to ensure it meets the intended functionality.src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Ext/ManagerModule.bsl (1)
29-31
: Ensure consistent behavior withОбработатьПредопределенныеЗначения
.The method
ОбработатьПредопределенныеЗначения
is now used to handle predefined values. Verify that this change maintains the intended behavior across different modules.Consider reviewing the documentation or implementation of
ОбработатьПредопределенныеЗначения
to ensure it aligns with the desired functionality.src/cf/Catalogs/пбп_ТипСоответствияОбъектовИБ/Ext/ManagerModule.bsl (1)
56-58
: Review the impact of usingОбработатьПредопределенныеЗначения
.The method
ОбработатьПредопределенныеЗначения
is now used for processing predefined values. Ensure that this change aligns with the overall system requirements and functionality.It might be beneficial to conduct a review of the method's implementation or documentation to confirm its appropriateness for the task.
src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl (1)
43-43
: Verify the change in theРодитель
property.The change from
"Интеграции"
to"Интеграции_локал"
might be a typo as suggested by static analysis tools. Please confirm if this change is intentional.Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[notice] 43-43: src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl#L43
Возможная опечатка в "локал"src/cf/Catalogs/пбп_МетодыИнтеграции/Ext/ManagerModule.bsl (1)
29-31
: Verify the impact of changing the method call.The change from
ПредопределенныеЗначенияКСозданию
toОбработатьПредопределенныеЗначения
suggests a shift in functionality. Ensure that this change aligns with the intended behavior and does not introduce any unintended side effects.src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (8)
27-27
: LGTM!The procedure
ИнициализироватьПредопределенныеЗначения
correctly callsОбработатьПредопределенныеЗначения
.
Line range hint
39-84
: LGTM!The procedure
СоздатьПредопределенныеЗначения
has been updated to include a new parameterПолноеИмяОбъекта
, enhancing its flexibility.
94-123
: LGTM!The procedure
ОбработатьНеиспользуемыеЭлементы
effectively handles unused elements by marking them for deletion.
135-143
: LGTM!The function
ПараметрыМенеджераОбъекта
correctly initializes and returns the parameters.
Line range hint
173-210
: LGTM!The function
ПредопределенныеЗначенияКСозданию
has been updated to include a new parameterПолноеИмяОбъекта
, enhancing its flexibility.
257-281
: LGTM!The procedure
ПометитьНаУдалениеВсеВложения
correctly marks all attachments for deletion if they are not in the provided table.
287-300
: LGTM!The procedure
СообщитьОПомеченномНаУдалениеЭлементе
correctly constructs and sends a notification message.
283-285
: Verify potential typo inПолноеИмяОбъекта
.The function returns a predefined string. Verify if "пбп" is correct or if it is a typo.
Run the following script to verify the usage of "пбп" in the codebase:
Verification successful
Let's update the script to search for "пбп" across all files in the repository without specifying a file type.
"пбп" is consistently used across the codebase and is not a typo.
The prefix "пбп" appears frequently and consistently in various files and contexts, indicating it is an intentional part of the naming convention. No further action is needed.
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of "пбп" in the codebase. # Test: Search for "пбп" usage. Expect: Consistent usage across the codebase. rg --type bsl 'пбп'Length of output: 71
Script:
#!/bin/bash # Description: Verify the usage of "пбп" in the codebase. # Test: Search for "пбп" usage across all files. rg 'пбп'Length of output: 162158
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[notice] 284-284: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L284
Возможная опечатка в "пбп"
Процедура ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт | ||
|
||
Параметры = ПараметрыМенеджераОбъекта(МенеджерОбъекта); | ||
ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); | ||
|
||
ТаблицаПредопределенных = ПредопределенныеЗначенияКСозданию( | ||
ТаблицаПредопределенных, | ||
Параметры.ПолноеИмя); | ||
|
||
СоздатьПредопределенныеЗначения( | ||
ТаблицаПредопределенных, | ||
Параметры.Менеджер, | ||
Параметры.ПолноеИмя); | ||
|
||
КонецПроцедуры |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Update parameter descriptions.
The procedure ОбработатьПредопределенныеЗначения
has outdated parameter descriptions. Update them to match the current signature.
Apply this diff to fix the parameter descriptions:
// Параметры:
-// ТаблицаПредопределенныхЗначений - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных,
+// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных,
// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных.
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.
Процедура ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт | |
Параметры = ПараметрыМенеджераОбъекта(МенеджерОбъекта); | |
ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); | |
ТаблицаПредопределенных = ПредопределенныеЗначенияКСозданию( | |
ТаблицаПредопределенных, | |
Параметры.ПолноеИмя); | |
СоздатьПредопределенныеЗначения( | |
ТаблицаПредопределенных, | |
Параметры.Менеджер, | |
Параметры.ПолноеИмя); | |
КонецПроцедуры | |
// Параметры: | |
// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, | |
// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных. | |
Процедура ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) Экспорт | |
Параметры = ПараметрыМенеджераОбъекта(МенеджерОбъекта); | |
ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, Параметры.ПолноеИмя); | |
ТаблицаПредопределенных = ПредопределенныеЗначенияКСозданию( | |
ТаблицаПредопределенных, | |
Параметры.ПолноеИмя); | |
СоздатьПредопределенныеЗначения( | |
ТаблицаПредопределенных, | |
Параметры.Менеджер, | |
Параметры.ПолноеИмя); | |
КонецПроцедуры |
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[warning] 153-153: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L153
Необходимо удалить описания параметров "ТаблицаПредопределенныхЗначений", отсутствующих в сигнатуре метода
[warning] 153-153: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L153
Необходимо добавить описание параметра "ТаблицаПредопределенных"
…tBitSportivnaya/PSSL into update-subsystem-predefined
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (3)
- src/cf/CommonModules/пбп_ОбновлениеИнформационнойБазыПБП/Ext/Module.bsl (1 hunks)
- src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (7 hunks)
- src/cf/Configuration.xml (1 hunks)
Files skipped from review due to trivial changes (2)
- src/cf/CommonModules/пбп_ОбновлениеИнформационнойБазыПБП/Ext/Module.bsl
- src/cf/Configuration.xml
Additional comments not posted (10)
src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (10)
27-27
: Integration ofОбработатьПредопределенныеЗначения
is appropriate.The integration of the new procedure into the initialization process appears correct and aligns with the intended functionality.
34-37
: Parameter descriptions updated correctly.The updated parameter descriptions accurately reflect the new function signature and enhance clarity.
Line range hint
39-76
: Changes toСоздатьПредопределенныеЗначения
are well-implemented.The logic for handling the new parameter and processing table rows is correctly implemented.
86-123
: New procedureОбработатьНеиспользуемыеЭлементы
is effectively implemented.The procedure correctly identifies and marks unused elements for deletion using hierarchical selection.
125-143
: New functionПараметрыМенеджераОбъекта
is well-implemented.The function correctly prepares and returns parameters necessary for processing predefined elements.
145-167
: ProcedureОбработатьПредопределенныеЗначения
is well-structured.The procedure effectively consolidates operations related to processing predefined values using helper functions.
Line range hint
173-210
: FunctionПредопределенныеЗначенияКСозданию
changes are appropriate.The function correctly handles the new parameter and processes the table using query logic.
257-281
: New procedureПометитьНаУдалениеВсеВложения
is effectively implemented.The recursive approach to marking elements for deletion using hierarchical selection is correct.
283-285
: New functionПолноеИмяОбъекта
is correctly implemented.The function provides a straightforward way to retrieve the full name of the metadata object.
287-300
: New procedureСообщитьОПомеченномНаУдалениеЭлементе
is well-implemented.The procedure correctly constructs and sends a notification message about elements marked for deletion.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- .bsl-language-server.json (1 hunks)
Additional comments not posted (1)
.bsl-language-server.json (1)
8-11
: Approved addition of theTypo
parameter.The addition of the
Typo
parameter withuserWordsToIgnore
enhances typo handling capabilities, which aligns with the PR's objectives of improving functionality.However, ensure that the value
"пбп"
is appropriate for the intended use case.Run the following script to verify the appropriateness of the value
"пбп"
:
docs/ПредопределенныеЗначения.md
Outdated
@@ -1,6 +1,8 @@ | |||
# Подсистема "предопределенные значения" | |||
|
|||
Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения" | |||
#### Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Тут нужно переписать как по мне, сейчас может ввести в заблуждение этот пункт. Нужно написать следующее:
По стандартам разработки поиск ссылочных объектов в программном коде по наименованию, коду, гуиду и т.д. не рекомендуется. Для возможности получения ссылок из программного кода предлагается использовать элементы плана видов характеристик. Чтобы избежать необходимости реструктуризации при добавлении новых элементов в ПВХ, формирование иерархии и элементов делается программно и обновляется в пользовательском режиме. Получение элементов стандартизируется через общий модуль с возможностью кэширования.
docs/ПредопределенныеЗначения.md
Outdated
Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения" | ||
#### Для обращения к ссылкам из кода используем предопределенные значения, добавляем их в план видов характеристик (ПВХ) "пбп_ПредопределенныеЗначения" | ||
|
||
#### При коментировании или удалении из кода предопределенных элементов и последующем перезаполнении, элемент будет помечен на удаление, включая все его подчиненные элементы. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Не очень понял зачем тут и выше ты добавил форматирование заголовка. Если нужно выделить жирным используются символы **. В целом стоит разделить на заголовки 2 уровня (2 решётки) этот файл:
- Описание подсистемы
- Добавление новых элементов
- Получение значения элементов
Ну и распределить текст по этим заголовкам
@@ -26,12 +26,8 @@ | |||
|
|||
ТЗПредопределенныхЗначений = пбп_ИнтеграцииПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Может быть для минимизации дублирования кода сделать только вызов одной процедуры? Типа пбп_ПредопределенныеЗначения.ОбработатьПредопределенныеЗначения(МодульМенеджера) и там в зависимости уже от имени метаданного получать таблицу предопределенных значений
@@ -40,7 +40,7 @@ | |||
НоваяНастройка.Пароль = Ложь; | |||
НоваяНастройка.СписокЗначений = Ложь; | |||
НоваяНастройка.ТипЗначения = ОписаниеЧисло; | |||
НоваяНастройка.Родитель = "Интеграции"; | |||
НоваяНастройка.Родитель = "Интеграции_локал"; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
А зачем ты в локал перенёс? Это ж прям глобальная настройка которая используется для очистки справочника история интеграции. Если нужен какой-то пример то добавь просто отдельный элемент
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 9
Outside diff range, codebase verification and nitpick comments (3)
src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl (3)
2508-2516
: Add descriptions for all parameters.The procedure is correctly implemented, but the parameter descriptions are missing.
Add descriptions for the
ПолноеИмя
parameter to improve code documentation.// Аналог метода БСП. // // Параметры: // ПолноеИмя - Строка - полное имя объекта метаданных. Процедура ПроверитьОбъектМетаданныхСуществует(ПолноеИмя)Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[warning] 2508-2508: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L2508
Необходимо добавить описание всех параметров метода
57-74
: Update Documentation and Code References to Use the New Parameter NameThe parameter name change from
Имя
toИдентификатор
in the functionПолучитьПредопределенноеЗначение
has not been fully updated in the documentation and some code references. Please update these to ensure consistency:
- Documentation: Update references in
docs/ПредопределенныеЗначения.md
to useИдентификатор
instead ofИмя
.- Code References: Verify and update any remaining code that still uses the old parameter name.
Analysis chain
LGTM! But verify the function usage in the codebase.
The function is correctly implemented. However, ensure that all function calls to
ПолучитьПредопределенноеЗначение
match the new signature.The code changes are approved.
Run the following script to verify the function usage:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `ПолучитьПредопределенноеЗначение` match the new signature. # Test: Search for the function usage. Expect: Only occurrences of the new signature. rg --type bsl -A 5 $'ПолучитьПредопределенноеЗначение'Length of output: 308
Script:
#!/bin/bash # Description: Verify all function calls to `ПолучитьПредопределенноеЗначение` without specifying the file type. # Test: Search for the function usage. Expect: Only occurrences of the new signature. rg -A 5 $'ПолучитьПредопределенноеЗначение'Length of output: 3585
Inconsistent Parameter Naming Across Modules and Documentation
The parameter name change from
Имена
toИдентификаторы
in the functionПолучитьПредопределенныеЗначения
is not consistently applied across the codebase. Theпбп_ОбщегоНазначенияПовтИсп
module and documentation still use the old parameter nameИмена
. Please update these to ensure consistency and avoid potential confusion or errors.
- Module:
src/cf/CommonModules/пбп_ОбщегоНазначенияПовтИсп/Ext/Module.bsl
still usesИмена
.- Documentation:
docs/ПредопределенныеЗначения.md
referencesИмена
.Analysis chain
Line range hint
80-97
: LGTM! But verify the function usage in the codebase.The function is correctly implemented. However, ensure that all function calls to
ПолучитьПредопределенныеЗначения
match the new signature.The code changes are approved.
Run the following script to verify the function usage:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all function calls to `ПолучитьПредопределенныеЗначения` match the new signature. # Test: Search for the function usage. Expect: Only occurrences of the new signature. rg --type bsl -A 5 $'ПолучитьПредопределенныеЗначения'Length of output: 308
Script:
#!/bin/bash # Description: Verify all function calls to `ПолучитьПредопределенныеЗначения` match the new signature. # Test: Search for the function usage across all files. rg -A 5 $'ПолучитьПредопределенныеЗначения'Length of output: 3059
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (13)
- docs/ПредопределенныеЗначения.md (2 hunks)
- src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Ext/ManagerModule.bsl (1 hunks)
- src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Forms/ФормаСписка/Ext/Form/Module.bsl (1 hunks)
- src/cf/Catalogs/пбп_МетодыИнтеграции/Ext/ManagerModule.bsl (1 hunks)
- src/cf/Catalogs/пбп_МетодыИнтеграции/Forms/ФормаСписка/Ext/Form/Module.bsl (1 hunks)
- src/cf/Catalogs/пбп_НастройкиИнтеграции/Ext/ManagerModule.bsl (1 hunks)
- src/cf/Catalogs/пбп_НастройкиИнтеграции/Forms/ФормаСписка/Ext/Form/Module.bsl (1 hunks)
- src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl (1 hunks)
- src/cf/CommonModules/пбп_ОбщегоНазначенияПовтИсп/Ext/Module.bsl (1 hunks)
- src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl (3 hunks)
- src/cf/CommonModules/пбп_ОбщегоНазначенияСлужебный/Ext/Module.bsl (1 hunks)
- src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (7 hunks)
- src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl (2 hunks)
Additional context used
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl
[warning] 17-17: src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl#L17
Длина строки 125 превышает максимально допустимую 120src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl
[notice] 65-65: src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl#L65
Добавьте описание метода программного интерфейса
[notice] 79-79: src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl#L79
Добавьте описание метода программного интерфейса
[notice] 93-93: src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl#L93
Добавьте описание метода программного интерфейсаsrc/cf/CommonModules/пбп_ОбщегоНазначенияСлужебный/Ext/Module.bsl
[warning] 152-152: src/cf/CommonModules/пбп_ОбщегоНазначенияСлужебный/Ext/Module.bsl#L152
Добавьте описание возвращаемого значения функции
[warning] 152-152: src/cf/CommonModules/пбп_ОбщегоНазначенияСлужебный/Ext/Module.bsl#L152
Необходимо добавить описание всех параметров методаsrc/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl
[notice] 23-23: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L23
Добавьте описание метода программного интерфейса
[warning] 29-29: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L29
Длина строки 123 превышает максимально допустимую 120
[warning] 33-33: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L33
Длина строки 122 превышает максимально допустимую 120src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl
[failure] 1831-1831: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1831
Уменьшите когнитивную сложность "МенеджерОбъектаПоПолномуИмени" с 31 до 15
[warning] 1837-1837: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1837
Создайте константу с понятным названием, присвойте ей значение "2" и используйте эту константу вместо магического числа.
[warning] 1885-1885: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1885
Создайте константу с понятным названием, присвойте ей значение "2" и используйте эту константу вместо магического числа.
[warning] 1888-1888: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1888
Создайте константу с понятным названием, присвойте ей значение "4" и используйте эту константу вместо магического числа.
[failure] 1831-1831: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1831
Уменьшите цикломатическую сложность "МенеджерОбъектаПоПолномуИмени" с 29 до 20
[warning] 2508-2508: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L2508
Необходимо добавить описание всех параметров метода
Markdownlint
docs/ПредопределенныеЗначения.md
67-67: Expected: 0; Actual: 1
Unordered list indentation(MD007, ul-indent)
68-68: Expected: 2; Actual: 3
Unordered list indentation(MD007, ul-indent)
69-69: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
70-70: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
71-71: Expected: 2; Actual: 3
Unordered list indentation(MD007, ul-indent)
72-72: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
73-73: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
74-74: Expected: 0; Actual: 1
Unordered list indentation(MD007, ul-indent)
75-75: Expected: 2; Actual: 3
Unordered list indentation(MD007, ul-indent)
76-76: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
77-77: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
78-78: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
79-79: Expected: 2; Actual: 3
Unordered list indentation(MD007, ul-indent)
80-80: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
81-81: Expected: 6; Actual: 7
Unordered list indentation(MD007, ul-indent)
82-82: Expected: 6; Actual: 7
Unordered list indentation(MD007, ul-indent)
83-83: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
Additional comments not posted (20)
src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Ext/ManagerModule.bsl (1)
1-1
: Empty file.The file does not contain any meaningful code changes.
src/cf/Catalogs/пбп_НастройкиИнтеграции/Ext/ManagerModule.bsl (1)
1-1
: Empty file.The file does not contain any meaningful code changes.
src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl (2)
Line range hint
4-6
: LGTM!The code changes are approved.
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[warning] 17-17: src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl#L17
Длина строки 125 превышает максимально допустимую 120
Line range hint
21-27
: LGTM!The code changes are approved.
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[warning] 17-17: src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl#L17
Длина строки 125 превышает максимально допустимую 120src/cf/Catalogs/пбп_МетодыИнтеграции/Forms/ФормаСписка/Ext/Form/Module.bsl (1)
29-29
: LGTM! But verify the procedure usage in the codebase.The procedure is correctly implemented. However, ensure that all calls to
ЗаполнитьПредопределенныеНаСервере
are correctly updated to reflect the new logic.The code changes are approved.
Run the following script to verify the procedure usage:
Verification successful
Verification Successful: Procedure Usage Updated Consistently
The procedure
ЗаполнитьПредопределенныеНаСервере
has been updated across multiple modules to use the new logic for initializing predefined values. The changes appear consistent throughout the codebase. However, it is recommended to manually verify all instances to ensure completeness.
- Locations where the procedure is used:
src/cf/Catalogs/пбп_ТипСоответствияОбъектовИБ/Forms/ФормаСписка/Ext/Form/Module.bsl
src/cf/Catalogs/пбп_НастройкиИнтеграции/Forms/ФормаСписка/Ext/Form/Module.bsl
src/cf/Catalogs/пбп_МетодыИнтеграции/Forms/ФормаСписка/Ext/Form/Module.bsl
src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Forms/ФормаСписка/Ext/Form/Module.bsl
src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all calls to `ЗаполнитьПредопределенныеНаСервере` reflect the new logic. # Test: Search for the procedure usage. Expect: Only occurrences of the new logic. rg --type bsl -A 5 $'ЗаполнитьПредопределенныеНаСервере'Length of output: 324
Script:
#!/bin/bash # Description: Verify all calls to `ЗаполнитьПредопределенныеНаСервере` reflect the new logic. # Test: Search for the procedure usage in all files. Expect: Only occurrences of the new logic. rg -A 5 'ЗаполнитьПредопределенныеНаСервере'Length of output: 6855
src/cf/Catalogs/пбп_НастройкиИнтеграции/Forms/ФормаСписка/Ext/Form/Module.bsl (1)
29-29
: LGTM! But verify the procedure usage in the codebase.The procedure is correctly implemented. However, ensure that all calls to
ЗаполнитьПредопределенныеНаСервере
are correctly updated to reflect the new logic.The code changes are approved.
Run the following script to verify the procedure usage:
Verification successful
Procedure usage verified and consistent across the codebase.
The procedure
ЗаполнитьПредопределенныеНаСервере
is correctly implemented and used consistently with the new logic in multiple modules. No further action is required.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all calls to `ЗаполнитьПредопределенныеНаСервере` reflect the new logic. # Test: Search for the procedure usage. Expect: Only occurrences of the new logic. rg --type bsl -A 5 $'ЗаполнитьПредопределенныеНаСервере'Length of output: 324
Script:
#!/bin/bash # Description: Search for all occurrences of the procedure `ЗаполнитьПредопределенныеНаСервере` in the codebase. # Test: Search for the procedure usage without specifying file type. Expect: Occurrences of the new logic. rg -A 5 'ЗаполнитьПредопределенныеНаСервере'Length of output: 6855
src/cf/Catalogs/пбп_ИнтегрируемыеСистемы/Forms/ФормаСписка/Ext/Form/Module.bsl (1)
29-29
: LGTM! But verify the procedure usage in the codebase.The procedure is correctly implemented. However, ensure that all calls to
ЗаполнитьПредопределенныеНаСервере
are correctly updated to reflect the new logic.The code changes are approved.
Run the following script to verify the procedure usage:
Verification successful
Procedure usage is consistent and correct across the codebase.
The procedure
ЗаполнитьПредопределенныеНаСервере
is used consistently in multiple files, and the changes reflect the new logic as intended. No further action is required.
- Files checked include various modules under
src/cf/Catalogs
andsrc/cf/ChartsOfCharacteristicTypes
.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify all calls to `ЗаполнитьПредопределенныеНаСервере` reflect the new logic. # Test: Search for the procedure usage. Expect: Only occurrences of the new logic. rg --type bsl -A 5 $'ЗаполнитьПредопределенныеНаСервере'Length of output: 324
Script:
#!/bin/bash # Description: Search for the procedure `ЗаполнитьПредопределенныеНаСервере` in the codebase without specifying a file type. # Test: Search for the procedure usage. Expect: Occurrences of the procedure name. rg -A 5 'ЗаполнитьПредопределенныеНаСервере'Length of output: 6855
src/cf/Catalogs/пбп_МетодыИнтеграции/Ext/ManagerModule.bsl (2)
Line range hint
14-41
: LGTM!The code changes are approved.
Line range hint
44-63
: LGTM!The code changes are approved.
src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl (3)
139-147
: LGTM!The code changes are approved.
149-157
: LGTM!The code changes are approved.
159-167
: LGTM!The code changes are approved.
docs/ПредопределенныеЗначения.md (2)
3-7
: LGTM!The changes are approved.
Line range hint
8-63
: LGTM!The changes are approved.
src/cf/CommonModules/пбп_ОбщегоНазначенияПовтИсп/Ext/Module.bsl (2)
30-38
: LGTM!The code changes are approved.
42-54
: LGTM!The code changes are approved.
src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (4)
Line range hint
45-93
: LGTM!The code changes are approved.
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[notice] 23-23: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L23
Добавьте описание метода программного интерфейса
[warning] 29-29: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L29
Длина строки 123 превышает максимально допустимую 120
[warning] 33-33: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L33
Длина строки 122 превышает максимально допустимую 120
136-154
: LGTM!The code changes are approved.
Line range hint
178-219
: LGTM!The code changes are approved.
156-172
: Add descriptions for parameters.The function
ОбработатьПредопределенныеЗначения
lacks descriptions for its parameters. Adding these descriptions will improve the readability and maintainability of the code.Apply this diff to add the descriptions:
+// Параметры: +// ТаблицаПредопределенных - Таблица значений предопределенных элементов. +// МенеджерОбъекта - Менеджер объекта, для которого обрабатываются предопределенные значения. Процедура ОбработатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта) ЭкспортLikely invalid or redundant comment.
@@ -14,7 +14,7 @@ | |||
|
|||
&НаСервереБезКонтекста | |||
Процедура ЗаполнитьПредопределенныеНаСервере() | |||
пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(); | |||
пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Split the line to adhere to the maximum line length limit.
The line length exceeds the maximum limit of 120 characters.
Apply this diff to split the line:
-пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения);
+пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(
+ ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения
+);
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.
пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения(ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); | |
пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения( | |
ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения | |
); |
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[warning] 17-17: src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl#L17
Длина строки 125 превышает максимально допустимую 120
## Получение значения элементов | ||
|
||
Для удобной работы с ПВХ у нас есть следующие функции: | ||
- **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш)** - если это единичное значение, возвращается сразу оно, если установлен флаг "Список значений" то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина. | ||
- Параметры: | ||
- Имя - Строка | ||
- ИспользоватьКэш - Булево | ||
- Возвращаемое значение: | ||
- ПроизвольныйТип - Значение переменной ПВХ. | ||
- Массив - Массив значений переменной ПВХ. | ||
- **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей, ИспользоватьКэш)** - если "ВРазрезеКлючей" то возвращает соответствие нескольких элементов ПВХ, если ВРазрезеКлючей = ложь, то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина. | ||
- Параметры: | ||
- Имена - Строка - Имена переменных ПВХ, перечисленные через запятую. | ||
- ВРазрезеКлючей - Булево | ||
- ИспользоватьКэш - Булево | ||
- Возвращаемое значение: | ||
- Соответствие - Соответствие имен и значений переменных ПВХ. | ||
- Ключ - Строка - имя значения | ||
- Значение - ПроизвольныйТип | ||
- Массив - ПроизвольныйТип | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fix unordered list indentation.
The section has unordered list indentation issues. Fix the indentation to improve readability.
Apply this diff to fix the unordered list indentation:
- - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш)** - если это единичное значение, возвращается сразу оно, если установлен флаг "Список значений" то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина.
- - Параметры:
- - Имя - Строка
- - ИспользоватьКэш - Булево
- - Возвращаемое значение:
- - ПроизвольныйТип - Значение переменной ПВХ.
- - Массив - Массив значений переменной ПВХ.
- - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей, ИспользоватьКэш)** - если "ВРазрезеКлючей" то возвращает соответствие нескольких элементов ПВХ, если ВРазрезеКлючей = ложь, то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина.
- - Параметры:
- - Имена - Строка - Имена переменных ПВХ, перечисленные через запятую.
- - ВРазрезеКлючей - Булево
- - ИспользоватьКэш - Булево
- - Возвращаемое значение:
- - Соответствие - Соответствие имен и значений переменных ПВХ.
- - Ключ - Строка - имя значения
- - Значение - ПроизвольныйТип
- - Массив - ПроизвольныйТип
+ - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенноеЗначение(Имя, ИспользоватьКэш)** - если это единичное значение, возвращается сразу оно, если установлен флаг "Список значений" то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина.
+ - Параметры:
+ - Имя - Строка
+ - ИспользоватьКэш - Булево
+ - Возвращаемое значение:
+ - ПроизвольныйТип - Значение переменной ПВХ.
+ - Массив - Массив значений переменной ПВХ.
+ - **пбп_ОбщегоНазначенияСервер.ПолучитьПредопределенныеЗначения(Имена, ВРазрезеКлючей, ИспользоватьКэш)** - если "ВРазрезеКлючей" то возвращает соответствие нескольких элементов ПВХ, если ВРазрезеКлючей = ложь, то возвращает массив значений. Для получения часто используемых предопределенных значений, установите ИспользоватьКэш = Истина.
+ - Параметры:
+ - Имена - Строка - Имена переменных ПВХ, перечисленные через запятую.
+ - ВРазрезеКлючей - Булево
+ - ИспользоватьКэш - Булево
+ - Возвращаемое значение:
+ - Соответствие - Соответствие имен и значений переменных ПВХ.
+ - Ключ - Строка - имя значения
+ - Значение - ПроизвольныйТип
+ - Массив - ПроизвольныйТип
Committable suggestion was skipped due to low confidence.
Tools
Markdownlint
67-67: Expected: 0; Actual: 1
Unordered list indentation(MD007, ul-indent)
68-68: Expected: 2; Actual: 3
Unordered list indentation(MD007, ul-indent)
69-69: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
70-70: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
71-71: Expected: 2; Actual: 3
Unordered list indentation(MD007, ul-indent)
72-72: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
73-73: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
74-74: Expected: 0; Actual: 1
Unordered list indentation(MD007, ul-indent)
75-75: Expected: 2; Actual: 3
Unordered list indentation(MD007, ul-indent)
76-76: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
77-77: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
78-78: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
79-79: Expected: 2; Actual: 3
Unordered list indentation(MD007, ul-indent)
80-80: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
81-81: Expected: 6; Actual: 7
Unordered list indentation(MD007, ul-indent)
82-82: Expected: 6; Actual: 7
Unordered list indentation(MD007, ul-indent)
83-83: Expected: 4; Actual: 5
Unordered list indentation(MD007, ul-indent)
Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт | ||
|
||
Модуль = ПолучитьМодуль(); | ||
Возврат Модуль.МенеджерОбъектаПоПолномуИмени(ПолноеИмя); | ||
|
||
КонецФункции |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add descriptions for parameter and return value.
The function МенеджерОбъектаПоПолномуИмени
lacks descriptions for its parameter and return value. Adding these descriptions will improve the readability and maintainability of the code.
Apply this diff to add the descriptions:
+// Параметры:
+// ПолноеИмя - Строка - Полное имя объекта.
+//
+// Возвращаемое значение:
+// - ПроизвольныйТип - Менеджер объекта по полному имени.
Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт
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.
Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт | |
Модуль = ПолучитьМодуль(); | |
Возврат Модуль.МенеджерОбъектаПоПолномуИмени(ПолноеИмя); | |
КонецФункции | |
// Параметры: | |
// ПолноеИмя - Строка - Полное имя объекта. | |
// | |
// Возвращаемое значение: | |
// - ПроизвольныйТип - Менеджер объекта по полному имени. | |
Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт | |
Модуль = ПолучитьМодуль(); | |
Возврат Модуль.МенеджерОбъектаПоПолномуИмени(ПолноеИмя); | |
КонецФункции |
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[warning] 152-152: src/cf/CommonModules/пбп_ОбщегоНазначенияСлужебный/Ext/Module.bsl#L152
Добавьте описание возвращаемого значения функции
[warning] 152-152: src/cf/CommonModules/пбп_ОбщегоНазначенияСлужебный/Ext/Module.bsl#L152
Необходимо добавить описание всех параметров метода
Процедура ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт | ||
|
||
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); | ||
|
||
ТЗПредопределенныхЗначенийКСозданию = ПредопределенныеЗначенияКСозданию(ТЗПредопределенныхЗначений); | ||
ТипЗначения = ТипЗнч(МенеджерОбъекта); | ||
Если ТипЗначения = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда | ||
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); | ||
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтегрируемыеСистемы") Тогда | ||
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы(); | ||
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_МетодыИнтеграции") Тогда | ||
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции(); | ||
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_НастройкиИнтеграции") Тогда | ||
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции(); | ||
Иначе | ||
Возврат; | ||
КонецЕсли; | ||
|
||
СоздатьПредопределенныеЗначения( | ||
ТЗПредопределенныхЗначенийКСозданию, | ||
ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); | ||
ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, МенеджерОбъекта); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Add a description for the method.
The function ИнициализироватьПредопределенныеЗначения
lacks a description. Adding a description will improve the readability and maintainability of the code.
Apply this diff to add the description:
+// Инициализирует предопределенные значения на основании менеджера объекта.
+//
+// Параметры:
+// МенеджерОбъекта - Менеджер объекта, для которого инициализируются предопределенные значения.
Процедура ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт
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.
Процедура ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); | |
ТЗПредопределенныхЗначенийКСозданию = ПредопределенныеЗначенияКСозданию(ТЗПредопределенныхЗначений); | |
ТипЗначения = ТипЗнч(МенеджерОбъекта); | |
Если ТипЗначения = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); | |
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтегрируемыеСистемы") Тогда | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы(); | |
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_МетодыИнтеграции") Тогда | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции(); | |
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_НастройкиИнтеграции") Тогда | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции(); | |
Иначе | |
Возврат; | |
КонецЕсли; | |
СоздатьПредопределенныеЗначения( | |
ТЗПредопределенныхЗначенийКСозданию, | |
ПланыВидовХарактеристик.пбп_ПредопределенныеЗначения); | |
ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, МенеджерОбъекта); | |
// Инициализирует предопределенные значения на основании менеджера объекта. | |
// | |
// Параметры: | |
// МенеджерОбъекта - Менеджер объекта, для которого инициализируются предопределенные значения. | |
Процедура ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) Экспорт | |
ТипЗначения = ТипЗнч(МенеджерОбъекта); | |
Если ТипЗначения = Тип("ПланВидовХарактеристикМенеджер.пбп_ПредопределенныеЗначения") Тогда | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначения(); | |
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_ИнтегрируемыеСистемы") Тогда | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияИнтегрируемыеСистемы(); | |
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_МетодыИнтеграции") Тогда | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияМетодыИнтеграции(); | |
ИначеЕсли ТипЗначения = Тип("СправочникМенеджер.пбп_НастройкиИнтеграции") Тогда | |
ТЗПредопределенныхЗначений = пбп_ПредопределенныеЗначенияПереопределяемый.ПредопределенныеЗначенияНастройкиИнтеграции(); | |
Иначе | |
Возврат; | |
КонецЕсли; | |
ОбработатьПредопределенныеЗначения(ТЗПредопределенныхЗначений, МенеджерОбъекта); |
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[notice] 23-23: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L23
Добавьте описание метода программного интерфейса
[warning] 29-29: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L29
Длина строки 123 превышает максимально допустимую 120
[warning] 33-33: src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl#L33
Длина строки 122 превышает максимально допустимую 120
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 7
Outside diff range, codebase verification and nitpick comments (1)
src/cf/Configuration.xml (1)
60-60
: Issue Found: Reference to Removed<CommonModule>
EntryThe module
пбп_ТипСоответствияОбъектовИБПереопределяемый
is still referenced in the following file, which may lead to issues if it is removed without proper refactoring:
src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl
Please investigate and refactor the code to ensure that the removal of this module does not impact the application's functionality. No references were found for
пбп_ИнтеграцииПереопределяемый
, suggesting it might be safe to remove.Analysis chain
Verify Removal of
<CommonModule>
EntriesThe entries
пбп_ИнтеграцииПереопределяемый
andпбп_ТипСоответствияОбъектовИБПереопределяемый
have been removed. Ensure that these modules are not required by other parts of the application or that their functionality has been suitably replaced or refactored.Run the following script to verify the impact of these removals:
Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the removed CommonModule entries are not referenced elsewhere in the application. # Test: Search for references to the removed CommonModule entries. Expect: No occurrences. rg --type xml -A 5 $'пбп_ИнтеграцииПереопределяемый' rg --type xml -A 5 $'пбп_ТипСоответствияОбъектовИБПереопределяемый'Length of output: 635
Script:
#!/bin/bash # Description: Verify that the removed CommonModule entries are not referenced elsewhere in the application across all file types. # Test: Search for references to the removed CommonModule entries across all file types. Expect: No occurrences. rg -A 5 'пбп_ИнтеграцииПереопределяемый' rg -A 5 'пбп_ТипСоответствияОбъектовИБПереопределяемый'Length of output: 2782
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (9)
- src/cf/Catalogs/пбп_ТипСоответствияОбъектовИБ/Ext/ManagerModule.bsl (1 hunks)
- src/cf/Catalogs/пбп_ТипСоответствияОбъектовИБ/Forms/ФормаСписка/Ext/Form/Module.bsl (1 hunks)
- src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl (1 hunks)
- src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl (3 hunks)
- src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (7 hunks)
- src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl (3 hunks)
- src/cf/Configuration.xml (3 hunks)
- src/cf/Subsystems/пбп_СоответствиеОбъектовИБ.xml (1 hunks)
- src/cf/Subsystems/пбп_УправлениеИнтеграциями.xml (1 hunks)
Files skipped from review as they are similar to previous changes (1)
- src/cf/ChartsOfCharacteristicTypes/пбп_ПредопределенныеЗначения/Forms/ФормаСписка/Ext/Form/Module.bsl
Additional context used
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl
[failure] 1831-1831: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1831
Уменьшите когнитивную сложность "МенеджерОбъектаПоПолномуИмени" с 31 до 15
[warning] 1885-1885: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1885
Создайте константу с понятным названием, присвойте ей значение "2" и используйте эту константу вместо магического числа.
[failure] 1831-1831: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1831
Уменьшите цикломатическую сложность "МенеджерОбъектаПоПолномуИмени" с 29 до 20
[warning] 1837-1837: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1837
Создайте константу с понятным названием, присвойте ей значение "2" и используйте эту константу вместо магического числа.
[warning] 1888-1888: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1888
Создайте константу с понятным названием, присвойте ей значение "4" и используйте эту константу вместо магического числа.
Additional comments not posted (5)
src/cf/Catalogs/пбп_ТипСоответствияОбъектовИБ/Forms/ФормаСписка/Ext/Form/Module.bsl (1)
29-29
: Refactor to modular initialization method inЗаполнитьПредопределенныеНаСервере
.The change to use
пбп_ПредопределенныеЗначения.ИнициализироватьПредопределенныеЗначения
instead of directly populating predefined correspondences is a positive shift towards modularity. This should enhance maintainability and flexibility in managing predefined values. However, ensure that this new method is compatible with all parts of the system that interact with predefined values.The code changes are approved.
src/cf/Subsystems/пбп_СоответствиеОбъектовИБ.xml (1)
29-29
: Change in XML configuration reference.The replacement of the module reference with a new identifier (
f49cf4ad-0522-4614-b522-500afecfbe5a
) needs careful validation to ensure that it correctly points to the intended module and does not disrupt any existing functionalities.Verify the correctness and impact of the new identifier in the XML configuration.
src/cf/Subsystems/пбп_УправлениеИнтеграциями.xml (1)
41-41
: Verify the correctness and impact of the UUID reference.The change from a named reference to a UUID (
10964c81-8622-47e4-8243-0dc1fc8068de
) needs verification to ensure it correctly identifies the intended object. Additionally, it's crucial to assess the impact of this change on other parts of the system where this reference is used.Verification successful
UUID Reference Verification Complete
The UUID
10964c81-8622-47e4-8243-0dc1fc8068de
is only referenced in the filesrc/cf/Subsystems/пбп_УправлениеИнтеграциями.xml
and does not appear elsewhere in the codebase. This indicates that the change to a UUID does not affect other parts of the system. No further action is required.Scripts executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the UUID reference and its impact on the system. # Test: Search for the UUID in the codebase. Expect: References to this UUID should be consistent and correct. rg --type xml -A 5 $'10964c81-8622-47e4-8243-0dc1fc8068de'Length of output: 517
Script:
#!/bin/bash # Description: Broaden the search for the UUID reference across different file types. # Test: Search for the UUID in the entire codebase. Expect: To find any additional references or documentation. rg '10964c81-8622-47e4-8243-0dc1fc8068de' -A 5Length of output: 506
src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (1)
23-48
: Ensure proper implementation and documentation for the procedureИнициализироватьПредопределенныеЗначения
.This procedure initializes predefined values from a table based on the object manager provided. Ensure that the implementation is correct and consider adding a detailed description for better maintainability.
+// Initializes predefined values from a table based on the object manager provided. +// +// Parameters: +// МенеджерОбъекта - The object manager used to initialize the predefined values. Процедура ИнициализироватьПредопределенныеЗначения(МенеджерОбъекта) ЭкспортLikely invalid or redundant comment.
src/cf/Configuration.xml (1)
60-60
: Version Update ApprovedThe version number has been updated from
1.0.1.2
to1.0.1.3
. This change is typically indicative of minor updates or patches, which seems consistent with the removal of some<CommonModule>
entries as part of a cleanup or deprecation effort.The version update is approved as it follows standard versioning practices.
Функция ПредопределенныеЗначенияНастройкиИнтеграции() Экспорт | ||
|
||
Результат = ТаблицаПредопределенныхНастройкиИнтеграции(); | ||
|
||
// Добавление | ||
НоваяНастройка = Результат.Добавить(); | ||
НоваяНастройка.Наименование = "Интеграция с системой N"; | ||
НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN"; | ||
// КонецДобавления | ||
|
||
Возврат Результат; | ||
|
||
КонецФункции |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure proper implementation and documentation for the function ПредопределенныеЗначенияНастройкиИнтеграции
.
This function initializes a table with predefined values for integration settings. Ensure that the implementation is correct and consider adding a detailed description for better maintainability.
+// Initializes a table with predefined values for integration settings.
+//
+// Returns:
+// ТаблицаЗначений - A table filled with predefined values for integration settings.
Функция ПредопределенныеЗначенияНастройкиИнтеграции() Экспорт
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.
Функция ПредопределенныеЗначенияНастройкиИнтеграции() Экспорт | |
Результат = ТаблицаПредопределенныхНастройкиИнтеграции(); | |
// Добавление | |
НоваяНастройка = Результат.Добавить(); | |
НоваяНастройка.Наименование = "Интеграция с системой N"; | |
НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN"; | |
// КонецДобавления | |
Возврат Результат; | |
КонецФункции | |
// Initializes a table with predefined values for integration settings. | |
// | |
// Returns: | |
// ТаблицаЗначений - A table filled with predefined values for integration settings. | |
Функция ПредопределенныеЗначенияНастройкиИнтеграции() Экспорт | |
Результат = ТаблицаПредопределенныхНастройкиИнтеграции(); | |
// Добавление | |
НоваяНастройка = Результат.Добавить(); | |
НоваяНастройка.Наименование = "Интеграция с системой N"; | |
НоваяНастройка.ИдентификаторНастройки = "ИнтеграцияССистемойN"; | |
// КонецДобавления | |
Возврат Результат; | |
КонецФункции |
Функция ПредопределенныеЗначенияИнтегрируемыеСистемы() Экспорт | ||
|
||
Результат = ТаблицаПредопределенныхИнтегрируемыеСистемы(); | ||
|
||
// Добавление | ||
НоваяСистема = Результат.Добавить(); | ||
НоваяСистема.Наименование = "Система N"; | ||
НоваяСистема.ИдентификаторНастройки = "СистемаN"; | ||
// КонецДобавления | ||
|
||
Возврат Результат; | ||
|
||
КонецФункции |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure proper implementation and documentation for the function ПредопределенныеЗначенияИнтегрируемыеСистемы
.
This function initializes a table with predefined values for integrated systems. Ensure that the implementation is correct and consider adding a detailed description for better maintainability.
+// Initializes a table with predefined values for integrated systems.
+//
+// Returns:
+// ТаблицаЗначений - A table filled with predefined values for integrated systems.
Функция ПредопределенныеЗначенияИнтегрируемыеСистемы() Экспорт
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.
Функция ПредопределенныеЗначенияИнтегрируемыеСистемы() Экспорт | |
Результат = ТаблицаПредопределенныхИнтегрируемыеСистемы(); | |
// Добавление | |
НоваяСистема = Результат.Добавить(); | |
НоваяСистема.Наименование = "Система N"; | |
НоваяСистема.ИдентификаторНастройки = "СистемаN"; | |
// КонецДобавления | |
Возврат Результат; | |
КонецФункции | |
// Initializes a table with predefined values for integrated systems. | |
// | |
// Returns: | |
// ТаблицаЗначений - A table filled with predefined values for integrated systems. | |
Функция ПредопределенныеЗначенияИнтегрируемыеСистемы() Экспорт | |
Результат = ТаблицаПредопределенныхИнтегрируемыеСистемы(); | |
// Добавление | |
НоваяСистема = Результат.Добавить(); | |
НоваяСистема.Наименование = "Система N"; | |
НоваяСистема.ИдентификаторНастройки = "СистемаN"; | |
// КонецДобавления | |
Возврат Результат; | |
КонецФункции |
Функция ПредопределенныеЗначенияТипСоответствияОбъектовИБ() Экспорт | ||
|
||
Результат = ТаблицаПредопределенныхТипСоответствияОбъектовИБ(); | ||
|
||
// Добавление | ||
НоваяНастройка = Результат.Добавить(); | ||
НоваяНастройка.Наименование = "Тест"; | ||
НоваяНастройка.ИдентификаторНастройки = "Тест"; | ||
// КонецДобавления | ||
|
||
Возврат Результат; | ||
|
||
КонецФункции |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure proper implementation and documentation for the function ПредопределенныеЗначенияТипСоответствияОбъектовИБ
.
This function initializes a table with predefined values for object type correspondences. Ensure that the implementation is correct and consider adding a detailed description for better maintainability.
+// Initializes a table with predefined values for object type correspondences.
+//
+// Returns:
+// ТаблицаЗначений - A table filled with predefined values for object type correspondences.
Функция ПредопределенныеЗначенияТипСоответствияОбъектовИБ() Экспорт
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.
Функция ПредопределенныеЗначенияТипСоответствияОбъектовИБ() Экспорт | |
Результат = ТаблицаПредопределенныхТипСоответствияОбъектовИБ(); | |
// Добавление | |
НоваяНастройка = Результат.Добавить(); | |
НоваяНастройка.Наименование = "Тест"; | |
НоваяНастройка.ИдентификаторНастройки = "Тест"; | |
// КонецДобавления | |
Возврат Результат; | |
КонецФункции | |
// Initializes a table with predefined values for object type correspondences. | |
// | |
// Returns: | |
// ТаблицаЗначений - A table filled with predefined values for object type correspondences. | |
Функция ПредопределенныеЗначенияТипСоответствияОбъектовИБ() Экспорт | |
Результат = ТаблицаПредопределенныхТипСоответствияОбъектовИБ(); | |
// Добавление | |
НоваяНастройка = Результат.Добавить(); | |
НоваяНастройка.Наименование = "Тест"; | |
НоваяНастройка.ИдентификаторНастройки = "Тест"; | |
// КонецДобавления | |
Возврат Результат; | |
КонецФункции |
Функция ПредопределенныеЗначенияМетодыИнтеграции() Экспорт | ||
|
||
Результат = ТаблицаПредопределенныхМетодыИнтеграции(); | ||
|
||
// Добавление | ||
НовыйМетод = Результат.Добавить(); | ||
НовыйМетод.Наименование = "Метод интеграции системы N"; | ||
НовыйМетод.ИдентификаторНастройки = "МетодИнтеграцииСистемыN"; | ||
// КонецДобавления | ||
|
||
Возврат Результат; | ||
|
||
КонецФункции |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure proper implementation and documentation for the function ПредопределенныеЗначенияМетодыИнтеграции
.
This function initializes a table with predefined values for integration methods. Ensure that the implementation is correct and consider adding a detailed description for better maintainability.
+// Initializes a table with predefined values for integration methods.
+//
+// Returns:
+// ТаблицаЗначений - A table filled with predefined values for integration methods.
Функция ПредопределенныеЗначенияМетодыИнтеграции() Экспорт
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.
Функция ПредопределенныеЗначенияМетодыИнтеграции() Экспорт | |
Результат = ТаблицаПредопределенныхМетодыИнтеграции(); | |
// Добавление | |
НовыйМетод = Результат.Добавить(); | |
НовыйМетод.Наименование = "Метод интеграции системы N"; | |
НовыйМетод.ИдентификаторНастройки = "МетодИнтеграцииСистемыN"; | |
// КонецДобавления | |
Возврат Результат; | |
КонецФункции | |
// Initializes a table with predefined values for integration methods. | |
// | |
// Returns: | |
// ТаблицаЗначений - A table filled with predefined values for integration methods. | |
Функция ПредопределенныеЗначенияМетодыИнтеграции() Экспорт | |
Результат = ТаблицаПредопределенныхМетодыИнтеграции(); | |
// Добавление | |
НовыйМетод = Результат.Добавить(); | |
НовыйМетод.Наименование = "Метод интеграции системы N"; | |
НовыйМетод.ИдентификаторНастройки = "МетодИнтеграцииСистемыN"; | |
// КонецДобавления | |
Возврат Результат; | |
КонецФункции |
// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, | ||
// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных | ||
// МенеджерОбъекта - СправочникМенеджер, ДокументМенеджер, ОбработкаМенеджер, РегистрСведенийМенеджер - менеджер объекта. | ||
// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. | ||
// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. | ||
// | ||
Процедура СоздатьПредопределенныеЗначения(Таблица, МенеджерОбъекта) Экспорт | ||
Процедура СоздатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта, ПолноеИмяОбъекта = "") Экспорт | ||
|
||
Если Не ЗначениеЗаполнено(Таблица) Тогда | ||
Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда | ||
Возврат; | ||
КонецЕсли; | ||
|
||
Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда | ||
ПолноеИмяОбъекта = ПолноеИмяОбъекта(); | ||
КонецЕсли; | ||
|
||
Группы = Новый Соответствие; | ||
КолонкаСуществует = Таблица.Колонки.Найти("ЭтоГруппа") <> Неопределено; | ||
КолонкаСуществует = ТаблицаПредопределенных.Колонки.Найти("ЭтоГруппа") <> Неопределено; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure proper implementation and documentation for the procedure СоздатьПредопределенныеЗначения
.
This procedure creates predefined values based on a filled table. Ensure that the implementation is correct and consider adding a detailed description for better maintainability.
+// Creates predefined values based on a filled table.
+//
+// Parameters:
+// ТаблицаПредопределенных - The table of predefined values.
+// МенеджерОбъекта - The object manager used to create the predefined values.
+// ПолноеИмяОбъекта - The full name of the metadata object.
Процедура СоздатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта, ПолноеИмяОбъекта = "") Экспорт
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.
// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, | |
// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных | |
// МенеджерОбъекта - СправочникМенеджер, ДокументМенеджер, ОбработкаМенеджер, РегистрСведенийМенеджер - менеджер объекта. | |
// МенеджерОбъекта - СправочникМенеджер, ПланВидовХарактеристикМенеджер - менеджер объекта. | |
// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. | |
// | |
Процедура СоздатьПредопределенныеЗначения(Таблица, МенеджерОбъекта) Экспорт | |
Процедура СоздатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта, ПолноеИмяОбъекта = "") Экспорт | |
Если Не ЗначениеЗаполнено(Таблица) Тогда | |
Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда | |
Возврат; | |
КонецЕсли; | |
Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда | |
ПолноеИмяОбъекта = ПолноеИмяОбъекта(); | |
КонецЕсли; | |
Группы = Новый Соответствие; | |
КолонкаСуществует = Таблица.Колонки.Найти("ЭтоГруппа") <> Неопределено; | |
КолонкаСуществует = ТаблицаПредопределенных.Колонки.Найти("ЭтоГруппа") <> Неопределено; | |
// Creates predefined values based on a filled table. | |
// | |
// Parameters: | |
// ТаблицаПредопределенных - The table of predefined values. | |
// МенеджерОбъекта - The object manager used to create the predefined values. | |
// ПолноеИмяОбъекта - The full name of the metadata object. | |
Процедура СоздатьПредопределенныеЗначения(ТаблицаПредопределенных, МенеджерОбъекта, ПолноеИмяОбъекта = "") Экспорт | |
Если Не ЗначениеЗаполнено(ТаблицаПредопределенных) Тогда | |
Возврат; | |
КонецЕсли; | |
Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда | |
ПолноеИмяОбъекта = ПолноеИмяОбъекта(); | |
КонецЕсли; | |
Группы = Новый Соответствие; | |
КолонкаСуществует = ТаблицаПредопределенных.Колонки.Найти("ЭтоГруппа") <> Неопределено; |
// Получает все предопределенные элементы объекта, помечает на удаление те, которые удалены из кода. | ||
// При установке пометки удаления для групп, также устанавливается для всех подчиенных элементов. | ||
// | ||
// Параметры: | ||
// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, | ||
// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных. | ||
// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. | ||
// | ||
Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт | ||
|
||
Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда | ||
ПолноеИмяОбъекта = ПолноеИмяОбъекта(); | ||
КонецЕсли; | ||
|
||
ТаблицаПредопределенных.Индексы.Добавить("ИдентификаторНастройки"); | ||
|
||
Запрос = Новый Запрос; | ||
ТекстЗапроса = | ||
"ВЫБРАТЬ | ||
| пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, | ||
| пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки | ||
|ИЗ | ||
| %1 КАК пбп_ПредопределенныеЗначения | ||
|ГДЕ | ||
| НЕ пбп_ПредопределенныеЗначения.ПометкаУдаления | ||
| | ||
|УПОРЯДОЧИТЬ ПО | ||
| Ссылка | ||
|ИТОГИ ПО | ||
| Ссылка ИЕРАРХИЯ"; | ||
|
||
Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); | ||
|
||
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); | ||
|
||
ПометитьНаУдалениеВсеВложения(Выборка, ТаблицаПредопределенных); | ||
|
||
КонецПроцедуры |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ensure proper implementation and documentation for the procedure ОбработатьНеиспользуемыеЭлементы
.
This procedure processes all predefined elements of an object, marking those that are deleted from the code for deletion. Ensure that the implementation is correct and consider adding a detailed description for better maintainability.
+// Processes all predefined elements of an object, marking those that are deleted from the code for deletion.
+//
+// Parameters:
+// ТаблицаПредопределенных - The table of predefined values.
+// ПолноеИмяОбъекта - The full name of the metadata object.
Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт
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.
// Получает все предопределенные элементы объекта, помечает на удаление те, которые удалены из кода. | |
// При установке пометки удаления для групп, также устанавливается для всех подчиенных элементов. | |
// | |
// Параметры: | |
// ТаблицаПредопределенных - ТаблицаЗначений - см. пбп_ПредопределенныеЗначенияПереопределяемыйТаблицаПредопределенных, | |
// пбп_ТипСоответствияОбъектовИБПереопределяемый.ТаблицаПредопределенных. | |
// ПолноеИмяОбъекта - Строка - Полное имя объекта метаданных. | |
// | |
Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт | |
Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда | |
ПолноеИмяОбъекта = ПолноеИмяОбъекта(); | |
КонецЕсли; | |
ТаблицаПредопределенных.Индексы.Добавить("ИдентификаторНастройки"); | |
Запрос = Новый Запрос; | |
ТекстЗапроса = | |
"ВЫБРАТЬ | |
| пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, | |
| пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки | |
|ИЗ | |
| %1 КАК пбп_ПредопределенныеЗначения | |
|ГДЕ | |
| НЕ пбп_ПредопределенныеЗначения.ПометкаУдаления | |
| | |
|УПОРЯДОЧИТЬ ПО | |
| Ссылка | |
|ИТОГИ ПО | |
| Ссылка ИЕРАРХИЯ"; | |
Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); | |
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); | |
ПометитьНаУдалениеВсеВложения(Выборка, ТаблицаПредопределенных); | |
КонецПроцедуры | |
// Processes all predefined elements of an object, marking those that are deleted from the code for deletion. | |
// | |
// Parameters: | |
// ТаблицаПредопределенных - The table of predefined values. | |
// ПолноеИмяОбъекта - The full name of the metadata object. | |
Процедура ОбработатьНеиспользуемыеЭлементы(ТаблицаПредопределенных, ПолноеИмяОбъекта = "") Экспорт | |
Если ПустаяСтрока(ПолноеИмяОбъекта) Тогда | |
ПолноеИмяОбъекта = ПолноеИмяОбъекта(); | |
КонецЕсли; | |
ТаблицаПредопределенных.Индексы.Добавить("ИдентификаторНастройки"); | |
Запрос = Новый Запрос; | |
ТекстЗапроса = | |
"ВЫБРАТЬ | |
| пбп_ПредопределенныеЗначения.Ссылка КАК Ссылка, | |
| пбп_ПредопределенныеЗначения.ИдентификаторНастройки КАК ИдентификаторНастройки | |
|ИЗ | |
| %1 КАК пбп_ПредопределенныеЗначения | |
|ГДЕ | |
| НЕ пбп_ПредопределенныеЗначения.ПометкаУдаления | |
| | |
|УПОРЯДОЧИТЬ ПО | |
| Ссылка | |
|ИТОГИ ПО | |
| Ссылка ИЕРАРХИЯ"; | |
Запрос.Текст = СтрШаблон(ТекстЗапроса, ПолноеИмяОбъекта); | |
Выборка = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); | |
ПометитьНаУдалениеВсеВложения(Выборка, ТаблицаПредопределенных); | |
КонецПроцедуры |
ЧастиИмени = СтрРазделить(ПолноеИмя, "."); | ||
|
||
Если ЧастиИмени.Количество() >= 2 Тогда | ||
КлассОМ = ЧастиИмени[0]; | ||
ИмяОМ = ЧастиИмени[1]; | ||
Иначе | ||
Менеджер = Неопределено; | ||
КонецЕсли; | ||
|
||
Если ВРег(КлассОМ) = "ПЛАНОБМЕНА" Тогда | ||
Менеджер = ПланыОбмена; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "СПРАВОЧНИК" Тогда | ||
Менеджер = Справочники; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ДОКУМЕНТ" Тогда | ||
Менеджер = Документы; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ЖУРНАЛДОКУМЕНТОВ" Тогда | ||
Менеджер = ЖурналыДокументов; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ПЕРЕЧИСЛЕНИЕ" Тогда | ||
Менеджер = Перечисления; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ОТЧЕТ" Тогда | ||
Менеджер = Отчеты; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ОБРАБОТКА" Тогда | ||
Менеджер = Обработки; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда | ||
Менеджер = ПланыВидовХарактеристик; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ПЛАНСЧЕТОВ" Тогда | ||
Менеджер = ПланыСчетов; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВРАСЧЕТА" Тогда | ||
Менеджер = ПланыВидовРасчета; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРСВЕДЕНИЙ" Тогда | ||
Менеджер = РегистрыСведений; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРНАКОПЛЕНИЯ" Тогда | ||
Менеджер = РегистрыНакопления; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРБУХГАЛТЕРИИ" Тогда | ||
Менеджер = РегистрыБухгалтерии; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРРАСЧЕТА" Тогда | ||
|
||
Если ЧастиИмени.Количество() = 2 Тогда | ||
Менеджер = РегистрыРасчета; | ||
|
||
ИначеЕсли ЧастиИмени.Количество() = 4 Тогда | ||
КлассПодчиненногоОМ = ЧастиИмени[2]; | ||
ИмяПодчиненногоОМ = ЧастиИмени[3]; | ||
|
||
Если ВРег(КлассПодчиненногоОМ) = "ПЕРЕРАСЧЕТ" Тогда | ||
Менеджер = РегистрыРасчета[ИмяОМ].Перерасчеты; | ||
ИмяОм = ИмяПодчиненногоОМ; | ||
|
||
Иначе | ||
Менеджер = Неопределено; | ||
КонецЕсли; | ||
|
||
Иначе | ||
Менеджер = Неопределено; | ||
КонецЕсли; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "БИЗНЕСПРОЦЕСС" Тогда | ||
Менеджер = БизнесПроцессы; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ЗАДАЧА" Тогда | ||
Менеджер = Задачи; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "КОНСТАНТА" Тогда | ||
Менеджер = Константы; | ||
|
||
ИначеЕсли ВРег(КлассОМ) = "ПОСЛЕДОВАТЕЛЬНОСТЬ" Тогда | ||
Менеджер = Последовательности; | ||
|
||
Иначе | ||
Менеджер = Неопределено; | ||
КонецЕсли; | ||
|
||
Если Менеджер = Неопределено Тогда | ||
ПроверитьОбъектМетаданныхСуществует(ПолноеИмя); | ||
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( | ||
НСтр("ru = 'Объект метаданных ""%1"" не имеет менеджера объекта.'; | ||
|en = 'Metadata object %1 has no object manager.'"), ПолноеИмя); | ||
КонецЕсли; | ||
|
||
Попытка | ||
Возврат Менеджер[ИмяОМ]; | ||
Исключение | ||
ПроверитьОбъектМетаданныхСуществует(ПолноеИмя); | ||
ВызватьИсключение; | ||
КонецПопытки; | ||
|
||
КонецФункции |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Refactor to reduce complexity and use constants for magic numbers.
The function МенеджерОбъектаПоПолномуИмени
has high cognitive and cyclomatic complexity. Additionally, magic numbers are used in the code.
Apply this diff to refactor the function:
+КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ = 2;
+КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ_ПОДЧИНЕННОГО = 4;
Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт
Перем КлассОМ, ИмяОМ, Менеджер;
ЧастиИмени = СтрРазделить(ПолноеИмя, ".");
Если ЧастиИмени.Количество() >= КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ Тогда
КлассОМ = ЧастиИмени[0];
ИмяОМ = ЧастиИмени[1];
Иначе
Менеджер = Неопределено;
КонецЕсли;
Если ВРег(КлассОМ) = "ПЛАНОБМЕНА" Тогда
Менеджер = ПланыОбмена;
ИначеЕсли ВРег(КлассОМ) = "СПРАВОЧНИК" Тогда
Менеджер = Справочники;
ИначеЕсли ВРег(КлассОМ) = "ДОКУМЕНТ" Тогда
Менеджер = Документы;
ИначеЕсли ВРег(КлассОМ) = "ЖУРНАЛДОКУМЕНТОВ" Тогда
Менеджер = ЖурналыДокументов;
ИначеЕсли ВРег(КлассОМ) = "ПЕРЕЧИСЛЕНИЕ" Тогда
Менеджер = Перечисления;
ИначеЕсли ВРег(КлассОМ) = "ОТЧЕТ" Тогда
Менеджер = Отчеты;
ИначеЕсли ВРег(КлассОМ) = "ОБРАБОТКА" Тогда
Менеджер = Обработки;
ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда
Менеджер = ПланыВидовХарактеристик;
ИначеЕсли ВРег(КлассОМ) = "ПЛАНСЧЕТОВ" Тогда
Менеджер = ПланыСчетов;
ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВРАСЧЕТА" Тогда
Если ЧастиИмени.Количество() = КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ Тогда
Менеджер = РегистрыРасчета;
ИначеЕсли ЧастиИмени.Количество() = КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ_ПОДЧИНЕННОГО Тогда
КлассПодчиненногоОМ = ЧастиИмени[2];
ИмяПодчиненногоОМ = ЧастиИмени[3];
Если ВРег(КлассПодчиненногоОМ) = "ПЕРЕРАСЧЕТ" Тогда
Менеджер = РегистрыРасчета[ИмяОМ].Перерасчеты;
ИмяОм = ИмяПодчиненногоОМ;
Иначе
Менеджер = Неопределено;
КонецЕсли;
Иначе
Менеджер = Неопределено;
КонецЕсли;
ИначеЕсли ВРег(КлассОМ) = "БИЗНЕСПРОЦЕСС" Тогда
Менеджер = БизнесПроцессы;
ИначеЕсли ВРег(КлассОМ) = "ЗАДАЧА" Тогда
Менеджер = Задачи;
ИначеЕсли ВРег(КлассОМ) = "КОНСТАНТА" Тогда
Менеджер = Константы;
ИначеЕсли ВРег(КлассОМ) = "ПОСЛЕДОВАТЕЛЬНОСТЬ" Тогда
Менеджер = Последовательности;
Иначе
Менеджер = Неопределено;
КонецЕсли;
Если Менеджер = Неопределено Тогда
ПроверитьОбъектМетаданныхСуществует(ПолноеИмя);
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Объект метаданных ""%1"" не имеет менеджера объекта.';
|en = 'Metadata object %1 has no object manager.'"), ПолноеИмя);
КонецЕсли;
Попытка
Возврат Менеджер[ИмяОМ];
Исключение
ПроверитьОбъектМетаданныхСуществует(ПолноеИмя);
ВызватьИсключение;
КонецПопытки;
КонецФункции
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.
Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт | |
Перем КлассОМ, ИмяОМ, Менеджер; | |
ЧастиИмени = СтрРазделить(ПолноеИмя, "."); | |
Если ЧастиИмени.Количество() >= 2 Тогда | |
КлассОМ = ЧастиИмени[0]; | |
ИмяОМ = ЧастиИмени[1]; | |
Иначе | |
Менеджер = Неопределено; | |
КонецЕсли; | |
Если ВРег(КлассОМ) = "ПЛАНОБМЕНА" Тогда | |
Менеджер = ПланыОбмена; | |
ИначеЕсли ВРег(КлассОМ) = "СПРАВОЧНИК" Тогда | |
Менеджер = Справочники; | |
ИначеЕсли ВРег(КлассОМ) = "ДОКУМЕНТ" Тогда | |
Менеджер = Документы; | |
ИначеЕсли ВРег(КлассОМ) = "ЖУРНАЛДОКУМЕНТОВ" Тогда | |
Менеджер = ЖурналыДокументов; | |
ИначеЕсли ВРег(КлассОМ) = "ПЕРЕЧИСЛЕНИЕ" Тогда | |
Менеджер = Перечисления; | |
ИначеЕсли ВРег(КлассОМ) = "ОТЧЕТ" Тогда | |
Менеджер = Отчеты; | |
ИначеЕсли ВРег(КлассОМ) = "ОБРАБОТКА" Тогда | |
Менеджер = Обработки; | |
ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда | |
Менеджер = ПланыВидовХарактеристик; | |
ИначеЕсли ВРег(КлассОМ) = "ПЛАНСЧЕТОВ" Тогда | |
Менеджер = ПланыСчетов; | |
ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВРАСЧЕТА" Тогда | |
Менеджер = ПланыВидовРасчета; | |
ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРСВЕДЕНИЙ" Тогда | |
Менеджер = РегистрыСведений; | |
ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРНАКОПЛЕНИЯ" Тогда | |
Менеджер = РегистрыНакопления; | |
ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРБУХГАЛТЕРИИ" Тогда | |
Менеджер = РегистрыБухгалтерии; | |
ИначеЕсли ВРег(КлассОМ) = "РЕГИСТРРАСЧЕТА" Тогда | |
Если ЧастиИмени.Количество() = 2 Тогда | |
Менеджер = РегистрыРасчета; | |
ИначеЕсли ЧастиИмени.Количество() = 4 Тогда | |
КлассПодчиненногоОМ = ЧастиИмени[2]; | |
ИмяПодчиненногоОМ = ЧастиИмени[3]; | |
Если ВРег(КлассПодчиненногоОМ) = "ПЕРЕРАСЧЕТ" Тогда | |
Менеджер = РегистрыРасчета[ИмяОМ].Перерасчеты; | |
ИмяОм = ИмяПодчиненногоОМ; | |
Иначе | |
Менеджер = Неопределено; | |
КонецЕсли; | |
Иначе | |
Менеджер = Неопределено; | |
КонецЕсли; | |
ИначеЕсли ВРег(КлассОМ) = "БИЗНЕСПРОЦЕСС" Тогда | |
Менеджер = БизнесПроцессы; | |
ИначеЕсли ВРег(КлассОМ) = "ЗАДАЧА" Тогда | |
Менеджер = Задачи; | |
ИначеЕсли ВРег(КлассОМ) = "КОНСТАНТА" Тогда | |
Менеджер = Константы; | |
ИначеЕсли ВРег(КлассОМ) = "ПОСЛЕДОВАТЕЛЬНОСТЬ" Тогда | |
Менеджер = Последовательности; | |
Иначе | |
Менеджер = Неопределено; | |
КонецЕсли; | |
Если Менеджер = Неопределено Тогда | |
ПроверитьОбъектМетаданныхСуществует(ПолноеИмя); | |
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( | |
НСтр("ru = 'Объект метаданных ""%1"" не имеет менеджера объекта.'; | |
|en = 'Metadata object %1 has no object manager.'"), ПолноеИмя); | |
КонецЕсли; | |
Попытка | |
Возврат Менеджер[ИмяОМ]; | |
Исключение | |
ПроверитьОбъектМетаданныхСуществует(ПолноеИмя); | |
ВызватьИсключение; | |
КонецПопытки; | |
КонецФункции | |
КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ = 2; | |
КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ_ПОДЧИНЕННОГО = 4; | |
Функция МенеджерОбъектаПоПолномуИмени(ПолноеИмя) Экспорт | |
Перем КлассОМ, ИмяОМ, Менеджер; | |
ЧастиИмени = СтрРазделить(ПолноеИмя, "."); | |
Если ЧастиИмени.Количество() >= КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ Тогда | |
КлассОМ = ЧастиИмени[0]; | |
ИмяОМ = ЧастиИмени[1]; | |
Иначе | |
Менеджер = Неопределено; | |
КонецЕсли; | |
Если ВРег(КлассОМ) = "ПЛАНОБМЕНА" Тогда | |
Менеджер = ПланыОбмена; | |
ИначеЕсли ВРег(КлассОМ) = "СПРАВОЧНИК" Тогда | |
Менеджер = Справочники; | |
ИначеЕсли ВРег(КлассОМ) = "ДОКУМЕНТ" Тогда | |
Менеджер = Документы; | |
ИначеЕсли ВРег(КлассОМ) = "ЖУРНАЛДОКУМЕНТОВ" Тогда | |
Менеджер = ЖурналыДокументов; | |
ИначеЕсли ВРег(КлассОМ) = "ПЕРЕЧИСЛЕНИЕ" Тогда | |
Менеджер = Перечисления; | |
ИначеЕсли ВРег(КлассОМ) = "ОТЧЕТ" Тогда | |
Менеджер = Отчеты; | |
ИначеЕсли ВРег(КлассОМ) = "ОБРАБОТКА" Тогда | |
Менеджер = Обработки; | |
ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВХАРАКТЕРИСТИК" Тогда | |
Менеджер = ПланыВидовХарактеристик; | |
ИначеЕсли ВРег(КлассОМ) = "ПЛАНСЧЕТОВ" Тогда | |
Менеджер = ПланыСчетов; | |
ИначеЕсли ВРег(КлассОМ) = "ПЛАНВИДОВРАСЧЕТА" Тогда | |
Если ЧастиИмени.Количество() = КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ Тогда | |
Менеджер = РегистрыРасчета; | |
ИначеЕсли ЧастиИмени.Количество() = КОНСТ_КОЛИЧЕСТВО_ЧАСТЕЙ_ИМЕНИ_ПОДЧИНЕННОГО Тогда | |
КлассПодчиненногоОМ = ЧастиИмени[2]; | |
ИмяПодчиненногоОМ = ЧастиИмени[3]; | |
Если ВРег(КлассПодчиненногоОМ) = "ПЕРЕРАСЧЕТ" Тогда | |
Менеджер = РегистрыРасчета[ИмяОМ].Перерасчеты; | |
ИмяОм = ИмяПодчиненногоОМ; | |
Иначе | |
Менеджер = Неопределено; | |
КонецЕсли; | |
Иначе | |
Менеджер = Неопределено; | |
КонецЕсли; | |
ИначеЕсли ВРег(КлассОМ) = "БИЗНЕСПРОЦЕСС" Тогда | |
Менеджер = БизнесПроцессы; | |
ИначеЕсли ВРег(КлассОМ) = "ЗАДАЧА" Тогда | |
Менеджер = Задачи; | |
ИначеЕсли ВРег(КлассОМ) = "КОНСТАНТА" Тогда | |
Менеджер = Константы; | |
ИначеЕсли ВРег(КлассОМ) = "ПОСЛЕДОВАТЕЛЬНОСТЬ" Тогда | |
Менеджер = Последовательности; | |
Иначе | |
Менеджер = Неопределено; | |
КонецЕсли; | |
Если Менеджер = Неопределено Тогда | |
ПроверитьОбъектМетаданныхСуществует(ПолноеИмя); | |
ВызватьИсключение пбп_СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку( | |
НСтр("ru = 'Объект метаданных ""%1"" не имеет менеджера объекта.'; | |
|en = 'Metadata object %1 has no object manager.'"), ПолноеИмя); | |
КонецЕсли; | |
Попытка | |
Возврат Менеджер[ИмяОМ]; | |
Исключение | |
ПроверитьОбъектМетаданныхСуществует(ПолноеИмя); | |
ВызватьИсключение; | |
КонецПопытки; | |
КонецФункции |
Tools
GitHub Check: 1C: Project SubSystems Library Sonarqube Results
[failure] 1831-1831: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1831
Уменьшите когнитивную сложность "МенеджерОбъектаПоПолномуИмени" с 31 до 15
[warning] 1885-1885: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1885
Создайте константу с понятным названием, присвойте ей значение "2" и используйте эту константу вместо магического числа.
[failure] 1831-1831: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1831
Уменьшите цикломатическую сложность "МенеджерОбъектаПоПолномуИмени" с 29 до 20
[warning] 1837-1837: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1837
Создайте константу с понятным названием, присвойте ей значение "2" и используйте эту константу вместо магического числа.
[warning] 1888-1888: src/cf/CommonModules/пбп_ОбщегоНазначенияСервер/Ext/Module.bsl#L1888
Создайте константу с понятным названием, присвойте ей значение "4" и используйте эту константу вместо магического числа.
@@ -26,7 +26,7 @@ | |||
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_РедактированиеРегистраСведенийСоответствияОбъектовИБ</xr:Item> | |||
<xr:Item xsi:type="xr:MDObjectRef">Role.пбп_ЧтениеРегистраСведенийСоответствияОбъектовИБ</xr:Item> | |||
<xr:Item xsi:type="xr:MDObjectRef">DefinedType.пбп_ТипыОбъектовСоответствийИБ</xr:Item> | |||
<xr:Item xsi:type="xr:MDObjectRef">CommonModule.пбп_ТипСоответствияОбъектовИБПереопределяемый</xr:Item> | |||
<xr:Item xsi:type="xr:MDObjectRef">f49cf4ad-0522-4614-b522-500afecfbe5a</xr:Item> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Забыл из подсистем удалить объекты
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (4)
- src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (6 hunks)
- src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl (4 hunks)
- src/cf/Subsystems/пбп_СоответствиеОбъектовИБ.xml (1 hunks)
- src/cf/Subsystems/пбп_УправлениеИнтеграциями.xml (1 hunks)
Files skipped from review as they are similar to previous changes (3)
- src/cf/CommonModules/пбп_ПредопределенныеЗначенияПереопределяемый/Ext/Module.bsl
- src/cf/Subsystems/пбп_СоответствиеОбъектовИБ.xml
- src/cf/Subsystems/пбп_УправлениеИнтеграциями.xml
Additional comments not posted (8)
src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (8)
160-168
: LGTM!The code changes are approved.
178-186
: LGTM!The code changes are approved.
192-240
: LGTM!The code changes are approved.
284-300
: LGTM!The code changes are approved.
302-326
: LGTM!The code changes are approved.
328-330
: LGTM!The code changes are approved.
332-345
: LGTM!The code changes are approved.
347-358
: LGTM!The code changes are approved.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Actionable comments posted: 0
Review details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (1)
- src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (6 hunks)
Additional comments not posted (9)
src/cf/CommonModules/пбп_ПредопределенныеЗначения/Ext/Module.bsl (9)
150-168
: LGTM!The code changes are approved.
170-186
: LGTM!The code changes are approved.
192-240
: LGTM!The code changes are approved.
Line range hint
242-259
: LGTM!The code changes are approved.
Line range hint
261-282
: LGTM!The code changes are approved.
284-300
: LGTM!The code changes are approved.
302-326
: LGTM!The code changes are approved.
328-330
: LGTM!The code changes are approved.
332-345
: LGTM!The code changes are approved.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation