HelpF.pro

Функция Пребразует строку наименования в строку идентификатора колонки ТЗ

Когда программно создаете таблицу значений на основании каких-либо данных, то приходится создавать колонки этой ТЗ и назвать колонки наименованиями этих же данных.
Если в строке наименования для колонки присутствуют недопустимые символы, то вылетит ошибка Ошибка при вызове метода контекста (Добавить) или ТЗ.Колонки.Добавить(ИмяКолонки); по причине: Неверное имя колонки, данная функция поможет избавиться от всех недопустимых символов в названии колонки:
Код 1C v 8.х
 // Пребразует строку наименования в строку идентификатора колонки ТЗ 
// Аргументы:
// Наименование товара, которое будет преобразовано в наименование колонки ТЗ в соответствии с правилами именования переменных.
// Символ - символ, на который будут заменятся символы, не соответствующие правилам именования переменных.
Функция глНаименованиеКолонки(Элемент, Символ="_") Экспорт
Перем Результат;
Результат = "_"+СтрЗаменить(Элемент," ",Символ);
Результат = СтрЗаменить(Результат,"/",Символ);
Результат = СтрЗаменить(Результат,"\",Символ);
Результат = СтрЗаменить(Результат,".",Символ);
Результат = СтрЗаменить(Результат,",",Символ);
Результат = СтрЗаменить(Результат,"+",Символ);
Результат = СтрЗаменить(Результат,"-",Символ);
Результат = СтрЗаменить(Результат,"!",Символ);
Результат = СтрЗаменить(Результат,"@",Символ);
Результат = СтрЗаменить(Результат,"#",Символ);
Результат = СтрЗаменить(Результат,"$",Символ);
Результат = СтрЗаменить(Результат,"%",Символ);
Результат = СтрЗаменить(Результат,"^",Символ);
Результат = СтрЗаменить(Результат,"&",Символ);
Результат = СтрЗаменить(Результат,"*",Символ);
Результат = СтрЗаменить(Результат,"(",Символ);
Результат = СтрЗаменить(Результат,")",Символ);
Результат = СтрЗаменить(Результат,"№",Символ);
Результат = СтрЗаменить(Результат,";",Символ);
Результат = СтрЗаменить(Результат,":",Символ);
Результат = СтрЗаменить(Результат,"?",Символ);
Возврат Результат;
КонецФункции

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq/view/1331.html