Эта функция будет полезна при создании элементов формы программно.
Например, нужно при открытии обработки в какой-либо конфигурации создать в форме обработки элементы всех реквизитов справочника "Номенклатура". Названия реквизитов справочника указаны строками без пробелов, а в форме хотелось бы видеть заголовки элементов "нормально" с пробелами.
Не реализована ещё в этой функции проблема исключений. таких , как например, НДС или ГТД, которые не надо преобразовывать в нижний регистр. Позже доработаю.
/////////////////////////
&НаСервере
Функция ПреобразованиеСтрокиБезПробелов(СтрокаБезПробелов)
СтрокаСПробелами = Лев(СтрокаБезПробелов,1);
Для к = 2 По СтрДлина(СтрокаБезПробелов) Цикл
ТекущийЗнак = Сред(СтрокаБезПробелов,к,1);
КодСимвола = КодСимвола(ТекущийЗнак);
Если (КодСимвола > 64 И КодСимвола < 91) Или (КодСимвола > 1039 И КодСимвола < 1072) Тогда
СтрокаСПробелами = СтрокаСПробелами + " " + НРег(ТекущийЗнак);
Иначе
СтрокаСПробелами = СтрокаСПробелами + ТекущийЗнак;
КонецЕсли;
КонецЦикла;
Возврат СтрокаСПробелами;
КонецФункции
&НаСервере
Процедура ДобавитьЭлемент()
РеквизитыНоменклатуры = Метаданные.Справочники.Номенклатура.Реквизиты;
КоличествоРеквизитов = РеквизитыНоменклатуры.Количество();
мРекв = Новый Массив;
Для Каждого РеквизитНоменклатуры Из РеквизитыНоменклатуры Цикл
РеквизитИмя = РеквизитНоменклатуры.Имя;
РевизитТип = РеквизитНоменклатуры.Тип;
НовыйРеквизит = Новый РеквизитФормы(РеквизитИмя,РевизитТип,,РеквизитИмя);
мРекв.Добавить(НовыйРеквизит);
КонецЕсли;
КонецЦикла;
ЭтаФорма.ИзменитьРеквизиты(мРекв);
Для каждого Элемент Из мРекв Цикл
НовыйЭлемент = Элементы.Добавить("Поле"+Элемент.Имя,Тип("ПолеФормы"), Элементы.Группа);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = Элемент.Имя;
НовыйЭлемент.Доступность = Истина;
НовыйЭлемент.Заголовок = ПреобразованиеСтрокиБезПробелов(Элемент.Имя);
КонецЦикла;
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ДобавитьЭлемент();
КонецПроцедуры
////////////////////////