-
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
Changed description and added new func #79
Changes from 1 commit
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -121,20 +121,11 @@ | |
|
||
КонецЦикла; | ||
|
||
// Удалим "мусор" схемы запроса | ||
НомерПоля = 1; | ||
ИскомаяПодстрока = " КАК Поле" + НомерПоля; | ||
НайденоМусорноеПоле = СтрНайти(ТекстЗапроса, ИскомаяПодстрока) > 0; | ||
Пока НайденоМусорноеПоле Цикл | ||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИскомаяПодстрока, ""); | ||
|
||
НомерПоля = НомерПоля + 1; | ||
ИскомаяПодстрока = " КАК Поле" + НомерПоля; | ||
НайденоМусорноеПоле = СтрНайти(ТекстЗапроса, ИскомаяПодстрока) > 0; | ||
КонецЦикла; | ||
|
||
НовыйТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса(); | ||
|
||
// Удалим "мусор" схемы запроса | ||
УдалитьНенужныеПоля(НовыйТекстЗапроса); | ||
|
||
Если ТипЗнч(Запрос) = Тип("Строка") Тогда | ||
Запрос = НовыйТекстЗапроса; | ||
ИначеЕсли ТипЗнч(Запрос) = Тип("Запрос") Тогда | ||
|
@@ -145,7 +136,7 @@ | |
|
||
КонецФункции | ||
|
||
// Добавляет новое поле в конец секции выборки переданного запроса | ||
// Добавляет список полей в конец секции выборки переданного запроса | ||
// | ||
// Параметры: | ||
// Запрос - Строка, Запрос - текст запроса или запрос. | ||
|
@@ -237,16 +228,7 @@ | |
НовыйТекстЗапроса = СхемаЗапроса.ПолучитьТекстЗапроса(); | ||
|
||
// Удалим "мусор" схемы запроса | ||
НомерПоля = 1; | ||
ИскомаяПодстрока = " КАК Поле" + НомерПоля; | ||
НайденоМусорноеПоле = СтрНайти(НовыйТекстЗапроса, ИскомаяПодстрока) > 0; | ||
Пока НайденоМусорноеПоле Цикл | ||
НовыйТекстЗапроса = СтрЗаменить(НовыйТекстЗапроса, ИскомаяПодстрока, ""); | ||
|
||
НомерПоля = НомерПоля + 1; | ||
ИскомаяПодстрока = " КАК Поле" + НомерПоля; | ||
НайденоМусорноеПоле = СтрНайти(НовыйТекстЗапроса, ИскомаяПодстрока) > 0; | ||
КонецЦикла; | ||
УдалитьНенужныеПоля(НовыйТекстЗапроса); | ||
|
||
Если ТипЗнч(Запрос) = Тип("Строка") Тогда | ||
Запрос = НовыйТекстЗапроса; | ||
|
@@ -789,3 +771,23 @@ | |
#КонецОбласти | ||
|
||
#КонецОбласти | ||
|
||
#Область СлужебныеПроцедурыИФункции | ||
|
||
Процедура УдалитьНенужныеПоля(ТекстЗапроса) | ||
|
||
// Удалим "мусор" схемы запроса | ||
НомерПоля = 1; | ||
ИскомаяПодстрока = " КАК Поле" + НомерПоля; | ||
НайденоМусорноеПоле = СтрНайти(ТекстЗапроса, ИскомаяПодстрока) > 0; | ||
Пока НайденоМусорноеПоле И НомерПоля < 20 Цикл | ||
Check warning on line 783 in src/cf/CommonModules/пбп_СхемыЗапросов/Ext/Module.bsl sonar.openbsl.ru qa-bot / 1C: Project SubSystems Library Sonarqube Resultssrc/cf/CommonModules/пбп_СхемыЗапросов/Ext/Module.bsl#L783
|
||
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, ИскомаяПодстрока, ""); | ||
|
||
НомерПоля = НомерПоля + 1; | ||
ИскомаяПодстрока = " КАК Поле" + НомерПоля; | ||
НайденоМусорноеПоле = СтрНайти(ТекстЗапроса, ИскомаяПодстрока) > 0; | ||
КонецЦикла; | ||
|
||
КонецПроцедуры | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Optimize the procedure - Пока НайденоМусорноеПоле И НомерПоля < 20 Цикл
+ Константа МаксимальноеКоличествоПолей = 20
+ Пока НайденоМусорноеПоле И НомерПоля < МаксимальноеКоличествоПолей Цикл This change, as suggested by the static analysis tool, will make the code more readable by replacing the "magic number" with a named constant, clarifying its purpose.
ToolsGitHub Check: 1C: Project SubSystems Library Sonarqube Results
|
||
|
||
#КонецОбласти |
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 the call to
УдалитьНенужныеПоля
to ensure it's only performed if needed.Consider checking if there are actually fields to remove before calling
УдалитьНенужныеПоля
to avoid unnecessary processing:You might need to implement
ЕстьПоляДляУдаления
to check for fields that qualify as "unnecessary" based on your application's logic.Committable suggestion