Skip to content

Commit

Permalink
Замена в редакторе шага, выполняющего поиск по имени на шаг, выполняю…
Browse files Browse the repository at this point in the history
…щий поиск по заголовку и обратно (ctrl+J) #2221
  • Loading branch information
Pr-Mex committed Oct 27, 2024
1 parent b69b319 commit 0d4e7d6
Showing 1 changed file with 95 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -50244,6 +50244,101 @@

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

&НаКлиенте
Функция ЗаполнитьКешСоответствияШаговПоискПоИмени()

Результат = Новый Структура;
Результат.Вставить("СоответствиеИмя", Новый Соответствие);
Результат.Вставить("СоответствиеЗаголовок", Новый Соответствие);

Для Каждого СтрокаТаблицаИзвестныхStepDefinition Из ТаблицаИзвестныхStepDefinition Цикл

Если НЕ ЗначениеЗаполнено(СтрокаТаблицаИзвестныхStepDefinition.СтрокаРеальнойПроцедуры) Тогда
Продолжить;
КонецЕсли;

Если Найти(НРег(СтрокаТаблицаИзвестныхStepDefinition.СтрокаРеальнойПроцедуры), "переключ") Тогда
ва = 1;
КонецЕсли;

СтрокаДляПоискаСнипета = СтрокаТаблицаИзвестныхStepDefinition.СтрокаДляПоиска;
СтрПоиска = "сименем";

Поз = Найти(СтрокаДляПоискаСнипета, СтрПоиска);

Если Поз = 0 Тогда
Продолжить;
КонецЕсли;

ЛеваяЧасть = Лев(СтрокаДляПоискаСнипета, Поз - 1);
ПраваяЧасть = Сред(СтрокаДляПоискаСнипета, Поз + СтрДлина(СтрПоиска));

СнипетПоискПоЗаголовку = ЛеваяЧасть + ПраваяЧасть;
ДанныеОтбора = Новый Структура;
ДанныеОтбора.Вставить("СтрокаДляПоиска", СнипетПоискПоЗаголовку);
СтрокиСнипетПоискПоЗаголовку = ТаблицаИзвестныхStepDefinition.НайтиСтроки(ДанныеОтбора);
Если СтрокиСнипетПоискПоЗаголовку.Количество() > 0 Тогда
СтрокаСнипетПоискПоЗаголовку = СтрокиСнипетПоискПоЗаголовку[0];
Результат.СоответствиеИмя.Вставить(СтрокаТаблицаИзвестныхStepDefinition.СтрокаДляПоиска, СтрокаСнипетПоискПоЗаголовку.СтрокаДляПоиска);
Результат.СоответствиеЗаголовок.Вставить(СтрокаСнипетПоискПоЗаголовку.СтрокаДляПоиска, СтрокаТаблицаИзвестныхStepDefinition.СтрокаДляПоиска);
КонецЕсли;

КонецЦикла;

Возврат Результат;

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

&НаКлиенте
Функция ЭлементФормыПоСтроке(ГдеИскать, Значение, ИскатьПоИмени, ВыводитьСообщение)
Если ИскатьПоИмени Тогда
НайденныеЭлементаФормы = ГдеИскать.НайтиОбъекты(,,Значение);
Иначе
НайденныеЭлементаФормы = ГдеИскать.НайтиОбъекты(,Значение);
КонецЕсли;

Если НайденныеЭлементаФормы.Количество() = 0 Тогда
Если ВыводитьСообщение Тогда
СообщитьПользователю(ПодставитьПараметрыВСтроку(Локализовать("Не найден элемент формы <%1>."), Значение));
КонецЕсли;
Возврат Неопределено;
ИначеЕсли НайденныеЭлементаФормы.Количество() > 1 Тогда
Если ВыводитьСообщение Тогда
СообщитьПользователю(ПодставитьПараметрыВСтроку(
Локализовать("Нельзя сделать замену, т.к. найдено несколько <%1> элементов формы по строке <%2>."),
НайденныеЭлементаФормы.Количество(), Значение));
КонецЕсли;
Возврат Неопределено;
КонецЕсли;

Возврат НайденныеЭлементаФормы[0];
КонецФункции

&НаКлиенте
Функция УбратьИзПеременныхСредыСекретныеЗначения(Данные)

Результат = Новый Соответствие;

Для Каждого КлючЗначение Из Данные Цикл

НРегКлюч = НРег(КлючЗначение.Ключ);

Если Найти(НРегКлюч, "psw") > 0
ИЛИ Найти(НРегКлюч, "password") > 0
ИЛИ Найти(НРегКлюч, "token") > 0
Тогда
Результат.Вставить(КлючЗначение.Ключ, "*****");
Продолжить;
КонецЕсли;

Результат.Вставить(КлючЗначение.Ключ, КлючЗначение.Значение);

КонецЦикла;

Возврат Результат;

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

#КонецОбласти

#Область Настройки
Expand Down

0 comments on commit 0d4e7d6

Please sign in to comment.