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