-
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
Parameters and variables in custom func #67
Conversation
WalkthroughThe recent changes across various files aim to refine user interactions, optimize logic, and introduce new features within the 1C:Enterprise platform. These updates encompass UI enhancements, event handling improvements, command structure modifications, and parameter management enhancements to streamline operations and enhance user experience. Changes
Poem
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 as PR comments)
Additionally, you can add CodeRabbit Configration File (
|
This comment has been minimized.
This comment has been minimized.
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: 10
Out of diff range and nitpick comments (1)
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl (1)
2433-2433
: Add a description for the parameter "Префикс".Please add a description for the parameter "Префикс" in the function signature to improve code readability and maintainability.
Review Details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (11)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/УсловныйОператор/Ext/Form.xml (4 hunks)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/УсловныйОператор/Ext/Form/Module.bsl (4 hunks)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl (3 hunks)
- src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form.xml (4 hunks)
- src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl (5 hunks)
- src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl (6 hunks)
- src/cf/CommonModules/__СтандартныеПодсистемыКлиент.xml (1 hunks)
- src/cf/CommonModules/__СтандартныеПодсистемыКлиент/Ext/Module.bsl (1 hunks)
- src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент.xml (1 hunks)
- src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент/Ext/Module.bsl (1 hunks)
- src/cf/Configuration.xml (1 hunks)
Files skipped from review due to trivial changes (2)
- src/cf/CommonModules/__СтандартныеПодсистемыКлиент.xml
- src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент.xml
Additional Context Used
GitHub Check Runs (1)
1C: Project SubSystems Library Sonarqube Results success (20)
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl: [notice] 606-606: src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl#L606
Справа от ',' не хватает пробела
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl: [warning] 155-155: src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl#L155
Синтаксическая конструкция "Если...Тогда...ИначеЕсли..." содержит повторяющиеся блоки кода
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl: [notice] 256-256: src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl#L256
Справа от ',' не хватает пробела
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl: [notice] 256-256: src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl#L256
Справа от ',' не хватает пробела
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl: [notice] 256-256: src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl#L256
Справа от ',' не хватает пробела
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl: [notice] 256-256: src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl#L256
Справа от ',' не хватает пробела
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl: [notice] 261-261: src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl#L261
Справа от ',' не хватает пробела
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl: [notice] 261-261: src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl#L261
Справа от ',' не хватает пробела
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2469-2469: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2469
Создайте константу с понятным названием, присвойте ей значение "127" и используйте эту константу вместо магического числа.
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2470-2470: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2470
Создайте константу с понятным названием, присвойте ей значение "46" и используйте эту константу вместо магического числа.
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2470-2470: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2470
Создайте константу с понятным названием, присвойте ей значение "34" и используйте эту константу вместо магического числа.
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2447-2447: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2447
Пропущена точка с запятой в конце выражения
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2433-2433: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2433
Необходимо добавить описание параметра "Префикс"
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2467-2467: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2467
Выделите условие оператора Если в отдельный метод или переменную
src/cf/CommonModules/__СтандартныеПодсистемыКлиент/Ext/Module.bsl: [notice] 21-21: src/cf/CommonModules/__СтандартныеПодсистемыКлиент/Ext/Module.bsl#L21
Область "ПрограммныйИнтерфейс" не содержит функций или процедур
src/cf/CommonModules/__СтандартныеПодсистемыКлиент/Ext/Module.bsl: [warning] 32-32: src/cf/CommonModules/__СтандартныеПодсистемыКлиент/Ext/Module.bsl#L32
Длина строки 127 превышает максимально допустимую 120
src/cf/CommonModules/__СтандартныеПодсистемыКлиент/Ext/Module.bsl: [warning] 42-42: src/cf/CommonModules/__СтандартныеПодсистемыКлиент/Ext/Module.bsl#L42
Длина строки 128 превышает максимально допустимую 120
src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент/Ext/Module.bsl: [warning] 30-30: src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент/Ext/Module.bsl#L30
Необходимо добавить описание всех параметров метода
src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент/Ext/Module.bsl: [notice] 21-21: src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент/Ext/Module.bsl#L21
Область "ПрограммныйИнтерфейс" не содержит функций или процедур
src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент/Ext/Module.bsl: [warning] 30-30: src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент/Ext/Module.bsl#L30
Длина строки 128 превышает максимально допустимую 120
Additional comments not posted (14)
src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйКлиент/Ext/Module.bsl (1)
43-45
: The functionПолучитьМодуль
is implemented correctly and adheres to best practices.src/cf/Catalogs/__ПользовательскиеФункции/Forms/УсловныйОператор/Ext/Form/Module.bsl (3)
28-29
: The change in parameter handling from "Переменные" to "ЗначенияЗаполнения" is implemented correctly and aligns with the PR objectives.
91-91
: The modification in theКомандаОК
procedure to use a new notification structure aligns with the PR objectives and is implemented correctly.
117-120
: The handling of theАдресЗначений
parameter in theОткрытьФормуВыбораПоля
procedure is correctly implemented and enhances the functionality as per the PR objectives.src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl (1)
78-91
: The proceduresРазвернутьСтроки
andСвернутьСтроки
are implemented correctly and enhance user interaction as per the PR objectives.src/cf/Catalogs/__ПользовательскиеФункции/Forms/УсловныйОператор/Ext/Form.xml (3)
17-49
: The addition of new command bar locations and buttons in the form configuration is implemented correctly and enhances the user interface as per the PR objectives.
230-244
: The addition of theАдресЗначений
attribute is implemented correctly and aligns with the PR objectives to handle new parameters.
52-52
: The addition of new events in the form configuration is implemented correctly and enhances event handling as per the PR objectives.src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form.xml (5)
13-13
: Locking the owner window during form operation enhances user experience by preventing interaction with the underlying window until the form is closed.
17-27
: The exclusion of several commands like 'Abort', 'Cancel', 'OK', etc., simplifies the command set, potentially improving user focus on relevant actions. Ensure that this aligns with user requirements and does not remove necessary functionality.Verification successful
The exclusion of commands like 'Abort', 'Cancel', and 'OK' from the XML configuration in
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form.xml
is also reflected in another part of the codebase, specifically insrc/cf/Catalogs/__ПользовательскиеФункции/Forms/УсловныйОператор/Ext/Form.xml
. This suggests a consistent approach across different forms regarding the exclusion of these commands.
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form.xml
src/cf/Catalogs/__ПользовательскиеФункции/Forms/УсловныйОператор/Ext/Form.xml
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify that the removal of commands does not affect required functionalities. # Test: Check for any dependencies on the removed commands in the codebase. rg --type xml --type bsl '<ExcludedCommand>(Abort|Cancel|OK)</ExcludedCommand>'Length of output: 109
Script:
#!/bin/bash # Description: Re-verify that the removal of commands does not affect required functionalities. # Test: Check for any dependencies on the removed commands in the entire codebase. rg '<ExcludedCommand>(Abort|Cancel|OK)</ExcludedCommand>'Length of output: 697
29-75
: The addition of new buttons and a button group for expanding and collapsing tree nodes enhances user interaction capabilities. Ensure tooltips and extended tooltips provide adequate guidance to users.
284-326
: Addition of new attributes like 'ОписаниеСправочники', 'ОписаниеДокументы', and 'ИмяПриемника' with appropriate localizations and data types. This change likely supports new functionalities or data handling features. Confirm that these attributes are utilized correctly in the backend logic.Verification successful
The search results confirm that the new attributes 'ОписаниеСправочники', 'ОписаниеДокументы', and 'ИмяПриемника' are indeed utilized in the backend logic. The attributes are referenced in various BSL (Business Scripting Language) files, indicating their integration into the system's functionality. This includes parameter insertion, conditional checks, and attribute handling in forms and modules.
- The attribute 'ИмяПриемника' is used in procedures and parameter settings in
Module.bsl
files.- 'ОписаниеСправочники' and 'ОписаниеДокументы' are used to handle catalog and document types, and their usage is checked in conditional statements.
This confirms that the addition of these attributes supports new functionalities or data handling features as intended.
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the usage of new attributes in backend logic. # Test: Search for the usage of new attributes in the backend code. rg --type bsl 'ОписаниеСправочники|ОписаниеДокументы|ИмяПриемника'Length of output: 96
Script:
#!/bin/bash # Description: Re-verify the usage of new attributes in backend logic without specifying file type. # Test: Search for the usage of new attributes in the backend code without file type restriction. rg 'ОписаниеСправочники|ОписаниеДокументы|ИмяПриемника'Length of output: 1673
351-387
: The commands 'СвернутьСтроки' and 'РазвернутьСтроки' have been added with detailed tooltips and actions. This is a positive change for user interaction, allowing more control over the UI elements. Ensure the actions linked to these commands are implemented correctly on the server side.Verification successful
The server-side implementations for the actions 'СвернутьСтроки' and 'РазвернутьСтроки' have been successfully located in the
Module.bsl
file under thesrc/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/
directory. Both procedures are defined, which aligns with the expectations set in the review comment.
- File:
src/cf/CommonForms/__ФормаВыбораПоля/Ext/Form/Module.bsl
- Procedures:
Процедура РазвернутьСтроки(Команда)
andПроцедура СвернутьСтроки(Команда)
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the server-side implementation of the actions for the new commands. # Test: Search for the implementation of 'СвернутьСтроки' and 'РазвернутьСтроки' actions. rg --type bsl 'СвернутьСтроки|РазвернутьСтроки'Length of output: 77
Script:
#!/bin/bash # Description: Verify the server-side implementation of the actions for the new commands. # Test: Search for the implementation of 'СвернутьСтроки' and 'РазвернутьСтроки' actions. # Since the previous attempt failed due to an unrecognized file type, let's try a more general search. rg 'СвернутьСтроки|РазвернутьСтроки'Length of output: 1244
src/cf/Configuration.xml (1)
314-316
: The addition of new common modules__СтандартныеПодсистемыКлиент
and__СтандартныеПодсистемыСлужебныйКлиент
aligns with the PR's objective to enhance modular architecture. Ensure these modules are properly integrated and utilized within the application.Verification successful
The search results confirm that the new common modules
__СтандартныеПодсистемыКлиент
and__СтандартныеПодсистемыСлужебныйКлиент
are indeed referenced and utilized within the application's codebase. These modules are not only listed in theConfiguration.xml
but also appear in specific XML and BSL files, indicating their integration into the system's functionality.
- The module
__СтандартныеПодсистемыКлиент
is referenced in its own XML definition and indirectly in a BSL script under__СтандартныеПодсистемыСлужебныйКлиент
.- The module
__СтандартныеПодсистемыСлужебныйКлиент
is used in a BSL script associated with a common form, which suggests that it plays a role in the application's user interface logic.This evidence supports the conclusion that these modules are properly integrated and utilized within the application, aligning with the PR's objective to enhance the modular architecture.
Scripts Executed
The following scripts were executed for the analysis:
Script:
#!/bin/bash # Description: Verify the integration and utilization of new common modules. # Test: Search for references to the new common modules in the application code. rg --type xml --type bsl '__СтандартныеПодсистемыКлиент|__СтандартныеПодсистемыСлужебныйКлиент'Length of output: 125
Script:
#!/bin/bash # Description: Re-verify the integration and utilization of new common modules by searching all files. # Test: Search for references to the new common modules in all files. rg '__СтандартныеПодсистемыКлиент|__СтандартныеПодсистемыСлужебныйКлиент'Length of output: 937
@@ -151,6 +151,16 @@ | |||
Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.ФормаМассива" Тогда | |||
текДанные = Элементы.ПараметрыФункции.ТекущиеДанные; | |||
текДанные.АдресЗначения = ВыбранноеЗначение.Адрес; | |||
ИначеЕсли ИсточникВыбора.ИмяФормы = "ОбщаяФорма.__ФормаВыбораПоля" Тогда | |||
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда |
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.
Consider refactoring to avoid duplicate code blocks in conditional structures.
- Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
+ Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") И (ИсточникВыбора.ИмяФормы = "ОбщаяФорма.__ФормаВыбораПоля" Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор") Тогда
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.
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда | |
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") И (ИсточникВыбора.ИмяФормы = "ОбщаяФорма.__ФормаВыбораПоля" Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор") Тогда |
Для Каждого ТекСтрока Из Объект.Переменные Цикл | ||
МассивИменПеременных.Добавить(ТекСтрока.Имя); | ||
КонецЦикла; | ||
ЗначенияЗаполнения.Вставить("Переменные",МассивИменПеременных); |
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 space after the comma for better readability.
- МассивИменПеременных.Добавить(ТекСтрока.Имя);
+ МассивИменПеременных.Добавить(ТекСтрока.Имя);
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.
ЗначенияЗаполнения.Вставить("Переменные",МассивИменПеременных); | |
ЗначенияЗаполнения.Вставить("Переменные", МассивИменПеременных); |
Если ЭтоДопустимыйСимвол(КодДо) И ЭтоДопустимыйСимвол(КодПосле) Тогда | ||
Текст = СтрЗаменить(Текст, СимволДо + Ключ + СимволПосле, СимволДо + Префикс + Ключ + СимволПосле); | ||
ДлинаПрефикса = СтрДлина(Префикс) |
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.
Missing semicolon at the end of the expression.
- ДлинаПрефикса = СтрДлина(Префикс)
+ ДлинаПрефикса = СтрДлина(Префикс);
Please add a semicolon at the end of the line to correct the syntax error.
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.
ДлинаПрефикса = СтрДлина(Префикс) | |
ДлинаПрефикса = СтрДлина(Префикс); |
#Область ПереадресацияМетодов | ||
|
||
// См. __СтандартныеПодсистемыКлиент.РазвернутьУзлыДерева. | ||
Процедура РазвернутьУзлыДерева(Форма, ИмяЭлементаФормы, ИдентификаторСтрокиДерева = "*", РазвернутьСПодчиненными = Ложь) Экспорт |
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 all parameters in the РазвернутьУзлыДерева
procedure to enhance code readability and maintainability.
Consider breaking the long line into multiple shorter lines to adhere to the maximum line length standard of 120 characters, improving code readability.
// РазвернутьСПодчиненными - Булево - если Истина, то следует раскрыть также и все подчиненные узлы. | ||
// По умолчанию Ложь. | ||
// | ||
Процедура РазвернутьУзлыДерева(Форма, ИмяЭлементаФормы, ИдентификаторСтрокиДерева = "*", РазвернутьСПодчиненными = Ложь) Экспорт |
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.
Consider breaking the long line into multiple shorter lines to adhere to the maximum line length standard of 120 characters, improving code readability.
ЗаполнитьЭлементДерева(ЭлементВерх, Пара.Ключ,,,,, БиблиотекаКартинок.__Реквизиты); | ||
|
||
Коллекция = ЭлементВерх.ПолучитьЭлементы(); | ||
|
||
Для Каждого ТекущаяПеременная Из Пара.Значение Цикл | ||
ЗаполнитьЭлементДерева(Коллекция.Добавить(), ТекущаяПеременная,,, Истина, Истина); |
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 spaces after commas in the parameters of the ЗаполнитьЭлементДерева
calls to improve readability and maintain coding standards.
- ЗаполнитьЭлементДерева(ЭлементВерх, Пара.Ключ,,,,, БиблиотекаКартинок.__Реквизиты);
- ЗаполнитьЭлементДерева(Коллекция.Добавить(), ТекущаяПеременная,,, Истина, Истина);
+ ЗаполнитьЭлементДерева(ЭлементВерх, Пара.Ключ, , , , , , БиблиотекаКартинок.__Реквизиты);
+ ЗаполнитьЭлементДерева(Коллекция.Добавить(), ТекущаяПеременная, , , Истина, Истина);
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.
ЗаполнитьЭлементДерева(ЭлементВерх, Пара.Ключ,,,,, БиблиотекаКартинок.__Реквизиты); | |
Коллекция = ЭлементВерх.ПолучитьЭлементы(); | |
Для Каждого ТекущаяПеременная Из Пара.Значение Цикл | |
ЗаполнитьЭлементДерева(Коллекция.Добавить(), ТекущаяПеременная,,, Истина, Истина); | |
ЗаполнитьЭлементДерева(ЭлементВерх, Пара.Ключ, , , , , , БиблиотекаКартинок.__Реквизиты); | |
Коллекция = ЭлементВерх.ПолучитьЭлементы(); | |
Для Каждого ТекущаяПеременная Из Пара.Значение Цикл | |
ЗаполнитьЭлементДерева(Коллекция.Добавить(), ТекущаяПеременная, , , Истина, Истина); |
This comment has been minimized.
This comment has been minimized.
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: 3
Review Details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl (3 hunks)
- src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl (6 hunks)
Additional Context Used
GitHub Check Runs (1)
1C: Project SubSystems Library Sonarqube Results success (17)
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl: [warning] 155-155: src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl#L155
Синтаксическая конструкция "Если...Тогда...ИначеЕсли..." содержит повторяющиеся блоки кода
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2471-2471: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2471
Создайте константу с понятным названием, присвойте ей значение "46" и используйте эту константу вместо магического числа.
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2468-2468: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2468
Выделите условие оператора Если в отдельный метод или переменную
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2471-2471: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2471
Создайте константу с понятным названием, присвойте ей значение "34" и используйте эту константу вместо магического числа.
src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl: [warning] 2470-2470: src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl#L2470
Создайте константу с понятным названием, присвойте ей значение "127" и используйте эту константу вместо магического числа.
Additional comments not posted (1)
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl (1)
155-163
: Consider refactoring to avoid duplicate code blocks in conditional structures.- Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда + Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") И (ИсточникВыбора.ИмяФормы = "ОбщаяФорма.__ФормаВыбораПоля" Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор") Тогда
|
||
Если КодСимвола >= 48 И КодСимвола <= 57 // Цифры | ||
Или КодСимвола >= 97 И КодСимвола <= 122 // (en) буквы | ||
Или КодСимвола > 127 Тогда // региональные коды | ||
Или КодСимвола > 127 // региональные коды |
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.
Replace magic number with a named constant.
+ const REGIONAL_CODE_THRESHOLD = 127;
- Или КодСимвола > 127 // региональные коды
+ Или КодСимвола > REGIONAL_CODE_THRESHOLD // regional codes
Consider replacing the magic number 127
with a named constant to enhance code readability and maintainability.
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.
Или КодСимвола > 127 // региональные коды | |
const REGIONAL_CODE_THRESHOLD = 127; | |
Или КодСимвола > REGIONAL_CODE_THRESHOLD // regional codes |
|
||
Если КодСимвола >= 48 И КодСимвола <= 57 // Цифры | ||
Или КодСимвола >= 97 И КодСимвола <= 122 // (en) буквы | ||
Или КодСимвола > 127 Тогда // региональные коды | ||
Или КодСимвола > 127 // региональные коды | ||
Или КодСимвола = 46 Или КодСимвола = 34 Тогда // точка(.), кавычка(") |
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.
Replace magic numbers with named constants.
+ const DOT_CODE = 46;
+ const QUOTE_CODE = 34;
- Или КодСимвола = 46 Или КодСимвола = 34 Тогда // точка(.), кавычка(")
+ Или КодСимвола = DOT_CODE Или КодСимвола = QUOTE_CODE Тогда // dot (.), quote (")
Consider replacing the magic numbers 46
and 34
with named constants to enhance code readability and maintainability.
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.
Или КодСимвола = 46 Или КодСимвола = 34 Тогда // точка(.), кавычка(") | |
const DOT_CODE = 46; | |
const QUOTE_CODE = 34; | |
Или КодСимвола = DOT_CODE Или КодСимвола = QUOTE_CODE Тогда // dot (.), quote (") |
@@ -2462,9 +2465,10 @@ | |||
// | |||
Функция ЭтоДопустимыйСимвол(КодСимвола) | |||
|
|||
Если КодСимвола >= 48 И КодСимвола <= 57 // Цифры |
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.
Extract condition into a separate method or variable.
Consider extracting the condition in the If
statement into a separate method or variable for clarity and to reduce complexity.
При выборе в параметрах типа ТаблицаЗначений выпадает ошибка: Тип не определен (ТаблицаЗначений)
{Справочник.__ПользовательскиеФункции.Форма.ФормаЭлемента.Форма(257)}:ПустаяКоллекция = Новый(Тип(ВыбранныйЭлемент.Значение)); |
This comment has been minimized.
This comment has been minimized.
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: 2
Review Details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (5)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаМассива/Ext/Form.xml (1 hunks)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаСтруктуры/Ext/Form.xml (1 hunks)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаТаблицыЗначений/Ext/Form.xml (1 hunks)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаТаблицыЗначений/Ext/Form/Module.bsl (1 hunks)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl (5 hunks)
Files skipped from review due to trivial changes (1)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаТаблицыЗначений/Ext/Form.xml
Additional Context Used
GitHub Check Runs (1)
1C: Project SubSystems Library Sonarqube Results success (17)
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl: [warning] 155-155: src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl#L155
Синтаксическая конструкция "Если...Тогда...ИначеЕсли..." содержит повторяющиеся блоки кода
Additional comments not posted (4)
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаТаблицыЗначений/Ext/Form/Module.bsl (1)
28-28
: Proper handling of 'ТаблицаЗначений' type.This change aligns with the PR's objective to refine the handling of specific types like 'ТаблицаЗначений', ensuring that the type is correctly identified and processed.
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаМассива/Ext/Form.xml (1)
19-29
: Correct configuration of the 'Close' button.The button is appropriately configured with the standard close command and labeled 'Отмена', which correctly reflects its functionality.
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаСтруктуры/Ext/Form.xml (1)
19-29
: Correct configuration of the 'Close' button.The button is appropriately configured with the standard close command and labeled 'Отмена', which correctly reflects its functionality.
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl (1)
154-154
: Ensure proper initialization during form opening.
Есть ещё один нюанс. На форме есть реквизит "Контекст" и при его смене заполняются параметры (это нужно для того чтобы можно было добавлять предопределенные контексты с набором заранее прописанных параметров) и при этом не присваивается гуид ну и дальше всё работать начинает некорректно. Было бы неплохо доработать чтобы при смене контекста параметрам тоже проставлялся гуид ну и чтобы можно было тип параметров прописать предустанавливаемых тоже |
This comment has been minimized.
This comment has been minimized.
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: 4
Review Details
Configuration used: CodeRabbit UI
Review profile: CHILL
Files selected for processing (2)
- src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl (3 hunks)
- src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl (9 hunks)
Additional Context Used
GitHub Check Runs (1)
1C: Project SubSystems Library Sonarqube Results success (20)
src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl: [notice] 427-427: src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl#L427
Избавьтесь от избыточного обращения внутри модуля через его имя или псевдоним ЭтотОбъект
src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl: [warning] 404-404: src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl#L404
Необходимо добавить описание параметра "Объект"
src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl: [warning] 404-404: src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl#L404
Необходимо добавить описание параметра "ИмяПараметра"
src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl: [warning] 155-155: src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl#L155
Синтаксическая конструкция "Если...Тогда...ИначеЕсли..." содержит повторяющиеся блоки кода
Additional comments not posted (2)
src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl (2)
58-59
: Modification to copy the list of types appears correct and should function as intended.
386-387
: Clearing and conditional addition of parameters are implemented correctly.
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда | ||
Модифицированность = Истина; | ||
View().selectedText(ВыбранноеЗначение.Поле); | ||
КонецЕсли; | ||
ИначеЕсли ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор" Тогда | ||
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда | ||
Модифицированность = Истина; | ||
View().selectedText(ВыбранноеЗначение.Поле); | ||
КонецЕсли; |
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 avoid duplicate code blocks in conditional structures.
- Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда
+ Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") И (ИсточникВыбора.ИмяФормы = "ОбщаяФорма.__ФормаВыбораПоля" Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор") Тогда
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.
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда | |
Модифицированность = Истина; | |
View().selectedText(ВыбранноеЗначение.Поле); | |
КонецЕсли; | |
ИначеЕсли ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор" Тогда | |
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") Тогда | |
Модифицированность = Истина; | |
View().selectedText(ВыбранноеЗначение.Поле); | |
КонецЕсли; | |
Если ТипЗнч(ВыбранноеЗначение) = Тип("Структура") И (ИсточникВыбора.ИмяФормы = "ОбщаяФорма.__ФормаВыбораПоля" Или ИсточникВыбора.ИмяФормы = "Справочник.__ПользовательскиеФункции.Форма.УсловныйОператор") Тогда | |
Модифицированность = Истина; | |
View().selectedText(ВыбранноеЗначение.Поле); | |
КонецЕсли; |
// | ||
Процедура НайтиДобавитьПараметр(Объект, ИмяПараметра) | ||
Процедура НайтиДобавитьПараметр(Объект, ИмяПараметра, ТипПараметра = Неопределено) |
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 the parameters Объект
and ИмяПараметра
to improve code readability and maintainability.
- Процедура НайтиДобавитьПараметр(Объект, ИмяПараметра, ТипПараметра = Неопределено)
+ // Объект - ДанныеФормыСтруктура, СправочникОбъект.__ПользовательскиеФункции - the object to which the parameter is added.
+ // ИмяПараметра - Строка - the name of the parameter to add.
+ Процедура НайтиДобавитьПараметр(Объект, ИмяПараметра, ТипПараметра = Неопределено)
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.
Процедура НайтиДобавитьПараметр(Объект, ИмяПараметра, ТипПараметра = Неопределено) | |
// Объект - ДанныеФормыСтруктура, СправочникОбъект.__ПользовательскиеФункции - the object to which the parameter is added. | |
// ИмяПараметра - Строка - the name of the parameter to add. | |
Процедура НайтиДобавитьПараметр(Объект, ИмяПараметра, ТипПараметра = Неопределено) |
КонецЕсли; | ||
|
||
СписокДобавленныхТипов = Новый СписокЗначений; | ||
Справочники.__ПользовательскиеФункции.СформироватьСписокТипов(СписокДобавленныхТипов); |
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.
Remove redundant module name in the call to СформироватьСписокТипов
, as it's unnecessary and can lead to confusion.
- Справочники.__ПользовательскиеФункции.СформироватьСписокТипов(СписокДобавленныхТипов);
+ СформироватьСписокТипов(СписокДобавленныхТипов);
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.
Справочники.__ПользовательскиеФункции.СформироватьСписокТипов(СписокДобавленныхТипов); | |
СформироватьСписокТипов(СписокДобавленныхТипов); |
&НаСервереБезКонтекста | ||
Функция СоздатьКоллекциюИПоместитьВХранилище(Знач Значение) | ||
|
||
ПустаяКоллекция = Новый(Тип(Значение)); | ||
АдресЗначения = ПоместитьВоВременноеХранилище(ПустаяКоллекция, Новый УникальныйИдентификатор); | ||
|
||
Возврат АдресЗначения; | ||
|
||
КонецФункции |
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.
Consider using a factory pattern to handle object creation based on type.
- ПустаяКоллекция = Новый(Тип(Значение));
+ ПустаяКоллекция = СоздатьКоллекциюПоТипу(Тип(Значение));
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.
&НаСервереБезКонтекста | |
Функция СоздатьКоллекциюИПоместитьВХранилище(Знач Значение) | |
ПустаяКоллекция = Новый(Тип(Значение)); | |
АдресЗначения = ПоместитьВоВременноеХранилище(ПустаяКоллекция, Новый УникальныйИдентификатор); | |
Возврат АдресЗначения; | |
КонецФункции | |
&НаСервереБезКонтекста | |
Функция СоздатьКоллекциюИПоместитьВХранилище(Знач Значение) | |
ПустаяКоллекция = СоздатьКоллекциюПоТипу(Тип(Значение)); | |
АдресЗначения = ПоместитьВоВременноеХранилище(ПустаяКоллекция, Новый УникальныйИдентификатор); | |
Возврат АдресЗначения; | |
КонецФункции |
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/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl (3 hunks)
Files skipped from review as they are similar to previous changes (1)
- src/cf/Catalogs/__ПользовательскиеФункции/Ext/ManagerModule.bsl
Changed substitution of parameters and variables in the code console. Changed forms.
Summary by CodeRabbit
New Features
Bug Fixes
Refactor
Documentation
Chores