Skip to content

Commit

Permalink
Merge pull request #10 from alei1180/alei1180-patch-9
Browse files Browse the repository at this point in the history
Очистка строковых свойств от запрещенных символов
  • Loading branch information
KotovDima1C authored May 12, 2022
2 parents dea0aa7 + 9d42568 commit 725bc2c
Showing 1 changed file with 47 additions and 5 deletions.
52 changes: 47 additions & 5 deletions ModuleDFI.bsl
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@
Процедура СоздатьРеквизит(Форма,ИмяРеквизита,ОписаниеТипа) Экспорт

структураРеквизитов = Новый Структура;
структураРеквизитов.Вставить(ИмяРеквизита,ОписаниеТипа);
структураРеквизитов.Вставить(ОчиститьОтЗапрещенныхСимволов(ИмяРеквизита),ОписаниеТипа);
СоздатьРеквизиты(Форма,структураРеквизитов);

КонецПроцедуры
Expand Down Expand Up @@ -204,9 +204,9 @@
ИмяДействия,
СтруктураСвойств = Неопределено) Экспорт

НоваяКоманда = Форма.Команды.Добавить(ИмяКоманды);
НоваяКоманда = Форма.Команды.Добавить(ОчиститьОтЗапрещенныхСимволов(ИмяКоманды));
НоваяКоманда.Заголовок = Заголовок;
НоваяКоманда.Действие = ИмяДействия;
НоваяКоманда.Действие = ОчиститьОтЗапрещенныхСимволов(ИмяДействия);
ЕслиСтруктураНеопределеноТоНовая(СтруктураСвойств);
УстановитьСвойстваЭлементу(НоваяКоманда,СтруктураСвойств);

Expand Down Expand Up @@ -315,9 +315,9 @@

Функция СоздатьЭлементФормы(Форма,ИмяЭлемента,ТипЭлемента,РодительЭлемента,ЭлементПеред = Неопределено)
Если ЭлементПеред = Неопределено Тогда
НовыйЭлемент = Форма.Элементы.Добавить(ИмяЭлемента,ТипЭлемента,РодительЭлемента);
НовыйЭлемент = Форма.Элементы.Добавить(ОчиститьОтЗапрещенныхСимволов(ИмяЭлемента),ТипЭлемента,РодительЭлемента);
Иначе
НовыйЭлемент = Форма.Элементы.Вставить(ИмяЭлемента,ТипЭлемента,РодительЭлемента,ЭлементПеред);
НовыйЭлемент = Форма.Элементы.Вставить(ОчиститьОтЗапрещенныхСимволов(ИмяЭлемента),ТипЭлемента,РодительЭлемента,ЭлементПеред);
КонецЕсли;
Возврат НовыйЭлемент;
КонецФункции
Expand Down Expand Up @@ -1506,3 +1506,45 @@
КонецФункции

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

#Область СлужебныеПроцедурыИФункции

// Функция - Очистить от запрещенных символов
//
// Параметры:
// ПроверяемаяСтрока - Строка - Имя элемента
// ДопРазрешенныеСимволы - Строка - Дополнительно разрешенные символы
//
// Возвращаемое значение:
// Строка - Имя элемента очищенное от запрещенных символов
//
Функция ОчиститьОтЗапрещенныхСимволов(ПроверяемаяСтрока, ДопРазрешенныеСимволы = Неопределено)

Если НЕ ЗначениеЗаполнено(ПроверяемаяСтрока) Тогда
Возврат ПроверяемаяСтрока;
КонецЕсли;

ОчищеннаяСтрока = "";

РазрешенныеСимволы = "абвгдеёжзийклмнопрстуфхцчшщъыьэюяАБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯ" +
"abcdefghijklmnopqrstuvwxyzQWERTYUIOPASDFGHJKLZXCVBNM" +
"0123456789_";

Если ЗначениеЗаполнено(ДопРазрешенныеСимволы) Тогда
РазрешенныеСимволы = РазрешенныеСимволы + ДопРазрешенныеСимволы;
КонецЕсли;

Для Сч = 1 по СтрДлина(СокрЛП(ПроверяемаяСтрока)) Цикл
ТекСимв = Сред(ПроверяемаяСтрока, Сч, 1);

Если Найти(РазрешенныеСимволы, ТекСимв) > 0 Тогда
ОчищеннаяСтрока = ОчищеннаяСтрока + ТекСимв;
КонецЕсли;

КонецЦикла;

Возврат ОчищеннаяСтрока;

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

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

0 comments on commit 725bc2c

Please sign in to comment.