Каталог решений - Функция Преобразование Строки Без Пробелов(СтрокаБезПробелов)

Функция Преобразование Строки Без Пробелов(СтрокаБезПробелов)

Функция Преобразование Строки Без Пробелов(СтрокаБезПробелов)

В наличии

Функция ПреобразованиеСтрокиБезПробелов в Строку с пробелами с разделением по Заглавным буквам.
ОКОНЧАТЕЛЬНАЯ ВЕРСИЯ!
Теперь с воможностью добавления исключений, которые не надо преобразовывать в нижний регистр (НДС, ГТД…). Вы можете добавить свои исключения в массив исключений.
В строке без пробелов может быть неорганиченное количество РАЗНЫХ Исключений (если, нпример, НДС повторяется в строке 2 раза функция преобразует вторую НДС в нижний регистр).

Категория:

Описание

Эта функция будет полезна при создании элементов формы программно.

 

Например, нужно при открытии обработки в какой-либо конфигурации создать в форме обработки элементы всех реквизитов справочника «Номенклатура». Названия реквизитов справочника указаны строками без пробелов, а в форме хотелось бы видеть заголовки элементов «нормально» с пробелами.

Не реализована ещё в этой функции проблема исключений. таких , как например, НДС или ГТД, которые не надо преобразовывать в нижний регистр. Позже доработаю.

/////////////////////////

&НаСервере
Функция ПреобразованиеСтрокиБезПробелов(СтрокаБезПробелов)
 
 СтрокаСПробелами = Лев(СтрокаБезПробелов,1);
 
 Для к = 2 По СтрДлина(СтрокаБезПробелов) Цикл
  ТекущийЗнак = Сред(СтрокаБезПробелов,к,1);
  КодСимвола = КодСимвола(ТекущийЗнак);
  Если (КодСимвола > 64 И КодСимвола < 91) Или (КодСимвола > 1039 И КодСимвола < 1072)  Тогда
   СтрокаСПробелами = СтрокаСПробелами + » » + НРег(ТекущийЗнак);
  Иначе
   СтрокаСПробелами = СтрокаСПробелами + ТекущийЗнак;
  КонецЕсли;
  
 КонецЦикла;
 
 Возврат  СтрокаСПробелами;
 
КонецФункции 

&НаСервере
Процедура ДобавитьЭлемент()
 
 РеквизитыНоменклатуры = Метаданные.Справочники.Номенклатура.Реквизиты;
 КоличествоРеквизитов = РеквизитыНоменклатуры.Количество();
 мРекв = Новый Массив;
 
 Для Каждого РеквизитНоменклатуры Из РеквизитыНоменклатуры Цикл
  РеквизитИмя = РеквизитНоменклатуры.Имя;
  РевизитТип = РеквизитНоменклатуры.Тип;
  НовыйРеквизит = Новый РеквизитФормы(РеквизитИмя,РевизитТип,,РеквизитИмя);
  мРекв.Добавить(НовыйРеквизит);
  КонецЕсли;
 КонецЦикла;
 
 ЭтаФорма.ИзменитьРеквизиты(мРекв);
 
 Для каждого Элемент Из мРекв Цикл
   НовыйЭлемент = Элементы.Добавить(«Поле»+Элемент.Имя,Тип(«ПолеФормы»), Элементы.Группа);
   НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; 
   НовыйЭлемент.ПутьКДанным = Элемент.Имя;
   НовыйЭлемент.Доступность = Истина;
   НовыйЭлемент.Заголовок = ПреобразованиеСтрокиБезПробелов(Элемент.Имя);

 КонецЦикла;
 
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
 
  ДобавитьЭлемент();
 

КонецПроцедуры

 ////////////////////////

 

 

has been added to your cart:
Оформление заказа