add page
This commit is contained in:
parent
6a52e8915d
commit
c04fad90f8
49
src/content/docs/knowledge-base/Сниппеты/РазрИмяФайла.md
Normal file
49
src/content/docs/knowledge-base/Сниппеты/РазрИмяФайла.md
Normal file
@ -0,0 +1,49 @@
|
||||
---
|
||||
title: Разрешенное имя переменной из любой строки
|
||||
---
|
||||
```bsl
|
||||
// Функция - Разрешенное имя переменной из наименования
|
||||
//
|
||||
// Параметры:
|
||||
// Наименование - <Строка> - Входная строка. Может содержать любые символы
|
||||
//
|
||||
// Возвращаемое значение:
|
||||
// <Строка>, Неопределено - Имя, подходящее для использования в качестве переменных, ключей структур, заголовков ТЗ и пр.
|
||||
// Генерируемое имя всегда начинается с "_". Если преобразование не удалось, то возвращает Неопределено
|
||||
//
|
||||
Функция РазрешенноеИмяПеременнойИзНаименования(Знач Наименование) Экспорт
|
||||
|
||||
Наименование = СокрЛП(Наименование);
|
||||
|
||||
Если Не ЗначениеЗаполнено(Наименование) Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
Наименование = СтрЗаменить(Наименование, Символы.ВК + Символы.ВТаб + Символы.НПП + Символы.ПС + Символы.ПФ + Символы.Таб, " ");
|
||||
|
||||
Наименование = СтрЗаменитьПоРегулярномуВыражению(Наименование, "[^а-яА-ЯёЁa-zA-Z0-9 ]", "", Истина, Ложь);
|
||||
|
||||
МассивПодстрок = СтрРазделить(Наименование, " ", Ложь);
|
||||
|
||||
Если МассивПодстрок.Количество() = 0 Тогда
|
||||
Возврат Неопределено;
|
||||
КонецЕсли;
|
||||
|
||||
//Делаем CamelCase
|
||||
Для Каждого Подстрока Из МассивПодстрок Цикл
|
||||
Подстрока = ВРег(Лев(Подстрока, 1)) + Сред(Подстрока, 1);
|
||||
КонецЦикла;
|
||||
|
||||
МассивПодстрок[0] = "_" + МассивПодстрок[0];
|
||||
|
||||
Результат = СтрСоединить(МассивПодстрок, "");
|
||||
|
||||
//Максимальная длина имени в 1С - 80 символов
|
||||
Если СтрДлина(Результат) > 80 Тогда
|
||||
Результат = Лев(Результат, 80);
|
||||
КонецЕсли;
|
||||
|
||||
Возврат Результат;
|
||||
|
||||
КонецФункции
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user