Skip to content
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

Fixed bug with looping #68

Merged
merged 2 commits into from
May 8, 2024
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@
#Область СлужебныеПроцедурыИФункции

Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("ЖурналРегистрации", "__ЖурналРегистрации");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("ЖурналРегистрации", "__ЖурналРегистрации");
КонецФункции

#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,10 @@

КонецФункции

// См. __ОбщегоНазначенияСервер.ОбщийМодуль
Функция ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
// См. __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт

Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного);
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного);

КонецФункции

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@

// Аналог метода БСП. Возвращает ссылку на общий модуль или модуль менеджера по имени.
//
// См. ОбщегоНазначения.ОбщийМодуль
// См. __ОбщегоНазначенияСервер.ОбщийМодуль
//
// Параметры:
// Имя - Строка - имя общего модуля.
Expand All @@ -40,15 +40,11 @@
// РегистрСведенийМенеджер.
//
// Пример:
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
// МодульОбновлениеКонфигурации = ОбщегоНазначения.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации.<Имя метода>();
// КонецЕсли;
//
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
// МодульПолнотекстовыйПоискСервер = ОбщегоНазначения.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер.<Имя метода>();
// КонецЕсли;
// МодульОбновлениеКонфигурации = __ОбщегоНазначенияСлужебный.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации.<Имя метода>();
//
// МодульПолнотекстовыйПоискСервер = __ОбщегоНазначенияСлужебный.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер.<Имя метода>();
//
Функция ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного = "") Экспорт

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -105,10 +105,10 @@

КонецФункции

// См. __ОбщегоНазначенияСервер.ОбщийМодуль.
Функция ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
// См. __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля.
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт

Check warning on line 109 in src/cf/CommonModules/__ОбщегоНазначенияПовтИсп/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/CommonModules/__ОбщегоНазначенияПовтИсп/Ext/Module.bsl#L109

Добавьте описание возвращаемого значения функции

Check warning on line 109 in src/cf/CommonModules/__ОбщегоНазначенияПовтИсп/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/CommonModules/__ОбщегоНазначенияПовтИсп/Ext/Module.bsl#L109

Необходимо добавить описание всех параметров метода

Возврат __ОбщегоНазначенияСервер.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного);
Возврат __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного);
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Function ПереадресацияОбщегоМодуля correctly replaces ОбщийМодуль. Add descriptions for parameters and return value for clarity.

+ // Параметры:
+ //  ИмяМодуляБСП - Строка - имя базового модуля.
+ //  ИмяМодуляВстроенного - Строка - имя встроенного модуля.
+ //
+ // Возвращаемое значение:
+ //  ОбщийМодуль - ссылка на общий модуль.

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.

Suggested change
// См. __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля.
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
Возврат __ОбщегоНазначенияСервер.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного);
Возврат __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного);
// См. __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля.
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
// Параметры:
// ИмяМодуляБСП - Строка - имя базового модуля.
// ИмяМодуляВстроенного - Строка - имя встроенного модуля.
//
// Возвращаемое значение:
// ОбщийМодуль - ссылка на общий модуль.
Возврат __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного);

Comment on lines +110 to +112
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add descriptions for parameters and return value to enhance clarity 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.

Suggested change
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
Возврат __ОбщегоНазначенияСервер.ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного);
Возврат __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного);
// Параметры:
// ИмяМодуляБСП - Строка - имя базового модуля.
// ИмяМодуляВстроенного - Строка - имя встроенного модуля.
//
// Возвращаемое значение:
// ОбщийМодуль - ссылка на общий модуль.
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного) Экспорт
Возврат __ОбщегоНазначенияСервер.ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного);


КонецФункции

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -773,6 +773,31 @@

КонецФункции

// Возвращает ссылку на общий модуль или модуль менеджера по имени. Если подключена БСП,
// происходит переадресация на общий модуль из БСП, иначе используются встроенные модули ПБП.
//
// Параметры:
// ИмяМодуляБСП - Строка - Имя Общего модуля из Библиотеки стандартных подсистем
// ИмяМодуляВстроенного - Строка - Имя Общего модуля из Проектной библиотеки подсистем
//
// Возвращаемое значение:
// ОбщийМодуль
// МодульМенеджераОбъекта
//
Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного = "") Экспорт

Имя = ИмяМодуляВстроенного;
Если __ОбщегоНазначенияПовтИсп.СуществуетБиблиотекаСтандартныхПодсистем()
И Метаданные.ОбщиеМодули.Найти(ИмяМодуляБСП) <> Неопределено Тогда
Имя = ИмяМодуляБСП;
КонецЕсли;

Модуль = ОбщийМодуль(Имя);

Возврат Модуль;

КонецФункции
Comment on lines +776 to +799
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Refactor the function ПереадресацияОбщегоМодуля to improve readability and maintainability.

Функция ПереадресацияОбщегоМодуля(ИмяМодуляБСП, ИмяМодуляВстроенного = "") Экспорт
    Имя = ИмяМодуляВстроенного;
    Если __ОбщегоНазначенияПовтИсп.СуществуетБиблиотекаСтандартныхПодсистем() И Метаданные.ОбщиеМодули.Найти(ИмяМодуляБСП) <> Неопределено Тогда
        Имя = ИмяМодуляБСП;
    КонецЕсли;
    Возврат ОбщийМодуль(Имя);
КонецФункции

This refactoring simplifies the function by removing unnecessary blank lines and aligning the control flow structures for better readability.


#Область МетодыАналогиБСП

// Аналог метода БСП. Возвращает ссылку на общий модуль или модуль менеджера по имени.
Expand All @@ -785,23 +810,13 @@
// МодульМенеджераОбъекта
//
// Пример:
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ОбновлениеКонфигурации") Тогда
// МодульОбновлениеКонфигурации = ОбщегоНазначения.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации.<Имя метода>();
// КонецЕсли;
// МодульОбновлениеКонфигурации = __ОбщегоНазначенияСервер.ОбщийМодуль("ОбновлениеКонфигурации");
// МодульОбновлениеКонфигурации.<Имя метода>();
//
// Если ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.ПолнотекстовыйПоиск") Тогда
// МодульПолнотекстовыйПоискСервер = ОбщегоНазначения.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер.<Имя метода>();
// КонецЕсли;
// МодульПолнотекстовыйПоискСервер = __ОбщегоНазначенияСервер.ОбщийМодуль("ПолнотекстовыйПоискСервер");
// МодульПолнотекстовыйПоискСервер.<Имя метода>();
//
Функция ОбщийМодуль(ИмяМодуляБСП, ИмяМодуляВстроенного = "") Экспорт

Имя = ИмяМодуляВстроенного;
Если __ОбщегоНазначенияПовтИсп.СуществуетБиблиотекаСтандартныхПодсистем()
И Метаданные.ОбщиеМодули.Найти(ИмяМодуляБСП) <> Неопределено Тогда
Имя = ИмяМодуляБСП;
КонецЕсли;
Функция ОбщийМодуль(Имя) Экспорт

Если Метаданные.ОбщиеМодули.Найти(Имя) <> Неопределено Тогда
УстановитьБезопасныйРежим(Истина);
Expand All @@ -815,7 +830,7 @@
Если ТипЗнч(Модуль) <> Тип("ОбщийМодуль") Тогда
ВызватьИсключение __СтроковыеФункцииСлужебныйКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Общий модуль ""%1"" не существует.'"),
?(ПустаяСтрока(Имя), ИмяМодуляБСП, Имя));
Имя);
КонецЕсли;

Возврат Модуль;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -155,7 +155,7 @@
#Область СлужебныеПроцедурыИФункции

Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("ОбщегоНазначения", "__ОбщегоНазначенияСервер");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("ОбщегоНазначения", "__ОбщегоНазначенияСервер");
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Tip

Codebase Verification

The verification process has revealed that the old function ОбщийМодуль is still being used extensively across various modules in the codebase. This contradicts the PR's objective to replace it with ПереадресацияОбщегоМодуля to address looping issues. The occurrences are not isolated to a specific area but are widespread, indicating that the replacement has not been fully implemented.

Locations still using ОбщийМодуль:

  • src/cfe/YAXUnit/DataProcessors/ЮТКонструкторТестовыхДанных/Forms/КлиентскийКонструктор/Ext/Form/Module.bsl
  • src/cfe/YAXUnit/CommonModules/ЮТест/Ext/Module.bsl
  • src/cfe/YAXUnit/CommonModules/ЮТУтвержденияИБ/Ext/Module.bsl
  • src/cf/CommonModules/__ОбщегоНазначенияСервер/Ext/Module.bsl
  • src/cf/CommonModules/__ОбщегоНазначенияКлиент/Ext/Module.bsl
  • src/cf/Catalogs/__ПользовательскиеФункции/Forms/ФормаЭлемента/Ext/Form/Module.bsl
  • Many more locations as listed in the output.

These findings suggest that the transition to the new function is incomplete, and further work is needed to ensure consistency across the entire codebase.

Analysis chain

Change aligns with PR objectives to address looping issues by updating module access method.

Scripts Executed

The following scripts were executed for the analysis:


Script:

#!/bin/bash
# Description: Verify that `ПереадресацияОбщегоМодуля` is consistently used across the codebase.

# Test: Search for the old function usage. Expect: No occurrences of the old function.
rg --type bsl $'ОбщийМодуль'

Length of output: 135



Script:

#!/bin/bash
# Description: Verify that `ПереадресацияОбщегоМодуля` is consistently used across the codebase and `ОбщийМодуль` is not used.

# Test: Search for the old function usage across all files, as the file type 'bsl' was not recognized previously.
rg 'ОбщийМодуль' --text

Length of output: 19964

КонецФункции

#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@
"ОбщегоНазначенияКлиентСервер",
"__ОбщегоНазначенияКлиентСервер");
#Иначе
Возврат __ОбщегоНазначенияВызовСервера.ОбщийМодуль(
Возврат __ОбщегоНазначенияВызовСервера.ПереадресацияОбщегоМодуля(
"ОбщегоНазначенияКлиентСервер",
"__ОбщегоНазначенияКлиентСервер");
#КонецЕсли
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
#Область СлужебныеПроцедурыИФункции

Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("ПолучениеФайловИзИнтернета", "__ПолучениеФайловИзИнтернета");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("ПолучениеФайловИзИнтернета", "__ПолучениеФайловИзИнтернета");

Check warning on line 40 in src/cf/CommonModules/__ПолучениеФайловИзИнтернетаСлужебный/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/CommonModules/__ПолучениеФайловИзИнтернетаСлужебный/Ext/Module.bsl#L40

Длина строки 123 превышает максимально допустимую 120
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change aligns with PR objectives but consider breaking the line to adhere to the maximum line length of 120 characters.

- Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("ПолучениеФайловИзИнтернета", "__ПолучениеФайловИзИнтернета");
+ Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
+   "ПолучениеФайловИзИнтернета", "__ПолучениеФайловИзИнтернета");

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.

Suggested change
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("ПолучениеФайловИзИнтернета", "__ПолучениеФайловИзИнтернета");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
"ПолучениеФайловИзИнтернета", "__ПолучениеФайловИзИнтернета");

КонецФункции

#КонецОбласти
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
#Область СлужебныеПроцедурыИФункции

Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("Пользователи", "__Пользователи");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("Пользователи", "__Пользователи");
КонецФункции

#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
#Область СлужебныеПроцедурыИФункции

Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("РегламентныеЗаданияСервер", "__РегламентныеЗаданияСервер");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("РегламентныеЗаданияСервер", "__РегламентныеЗаданияСервер");

Check warning on line 56 in src/cf/CommonModules/__РегламентныеЗаданияСлужебныйСервер/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/CommonModules/__РегламентныеЗаданияСлужебныйСервер/Ext/Module.bsl#L56

Длина строки 121 превышает максимально допустимую 120
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change aligns with PR objectives but consider breaking the line to adhere to the maximum line length of 120 characters.

- Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("РегламентныеЗаданияСервер", "__РегламентныеЗаданияСервер");
+ Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
+   "РегламентныеЗаданияСервер", "__РегламентныеЗаданияСервер");

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.

Suggested change
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("РегламентныеЗаданияСервер", "__РегламентныеЗаданияСервер");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
"РегламентныеЗаданияСервер", "__РегламентныеЗаданияСервер");

КонецФункции

#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
#Область СлужебныеПроцедурыИФункции

Функция ПолучитьМодуль()
Возврат __ОбщегоНазначенияПовтИсп.ОбщийМодуль("СтандартныеПодсистемыПовтИсп", "__СтандартныеПодсистемыПовтИсп");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("СтандартныеПодсистемыПовтИсп", "__СтандартныеПодсистемыПовтИсп");

Check warning on line 40 in src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйПовтИсп/Ext/Module.bsl

View check run for this annotation

sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Results

src/cf/CommonModules/__СтандартныеПодсистемыСлужебныйПовтИсп/Ext/Module.bsl#L40

Длина строки 127 превышает максимально допустимую 120
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Change aligns with PR objectives but consider breaking the line to adhere to the maximum line length of 120 characters.

- Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("СтандартныеПодсистемыПовтИсп", "__СтандартныеПодсистемыПовтИсп");
+ Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
+   "СтандартныеПодсистемыПовтИсп", "__СтандартныеПодсистемыПовтИсп");

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.

Suggested change
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля("СтандартныеПодсистемыПовтИсп", "__СтандартныеПодсистемыПовтИсп");
Возврат __ОбщегоНазначенияПовтИсп.ПереадресацияОбщегоМодуля(
"СтандартныеПодсистемыПовтИсп", "__СтандартныеПодсистемыПовтИсп");

КонецФункции

#КонецОбласти
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@
"СтроковыеФункцииКлиентСервер",
"__СтроковыеФункцииКлиентСервер");
#Иначе
Возврат __ОбщегоНазначенияВызовСервера.ОбщийМодуль(
Возврат __ОбщегоНазначенияВызовСервера.ПереадресацияОбщегоМодуля(
"СтроковыеФункцииКлиентСервер",
"__СтроковыеФункцииКлиентСервер");
#КонецЕсли
Expand Down
Loading