Помощь - Поиск - Пользователи - Календарь
Полная версия: Пребразование регистра строки
1C-PRO - Форум по 1С > Форумы по платформе "1С:Предприятие 7.7" > (7.7) Форум по общим вопросам "1С:Предприятие 7.7"
Flagok
В ячеке справочника данные: ФАМИЛИЯ ИМЯ ОТЧЕСТВО - все с заглавной буквы.
Подскажите как преобразовать к виду Фамилия Имя Отчество - Первая буква каждого слова заглавная.
В стандарных методах есть только метод преобразования всей ячейки либо в строчный формат, либо с Заглавными буквами.
Спасибо.
WaRDeR
Нужно написать небольшой код, следующего алгоритма
1. заменяем все пробелы строки на рзделитель строк.
2. перебираем все строки.
3. для каждой строки записываем 1 левый символ и остальные уменьшеные.
4. заменяем разделители строк на пробелы.
sergey
Цитата(Flagok @ 11.12.2008, 13:23) *

В ячеке справочника данные: ФАМИЛИЯ ИМЯ ОТЧЕСТВО - все с заглавной буквы.
Подскажите как преобразовать к виду Фамилия Имя Отчество - Первая буква каждого слова заглавная.
В стандарных методах есть только метод преобразования всей ячейки либо в строчный формат, либо с Заглавными буквами.
Спасибо.


Навскидку:
Код

Функция ФИОВСтандартныйВид(Данные)
Перем Фамилия, Имя, Отчество;
Перем ПозицияПробела;
Фамилия=СокрЛП(Данные);
ПозицияПробела=Найти(Фамилия," ");
Фамилия=Лев(Фамилия,ПозицияПробела-1);
Фамилия=Лев(Фамилия,1)+НРег(Прав(Фамилия,СтрДлина(Фамилия)-1));
Имя=СокрЛП(Данные);
Имя=Прав(Имя, СтрДлина(Имя)-ПозицияПробела);
Отчество=Имя;
ПозицияПробела=Найти(Имя," ");
Имя=Лев(Имя,ПозицияПробела-1);
Имя=Лев(Имя,1)+НРег(Прав(Имя,СтрДлина(Имя)-1));
Отчество=Прав(Отчество, СтрДлина(Отчество)-ПозицияПробела);
Отчество=Лев(Отчество,1)+НРег(Прав(Отчество,СтрДлина(Отчество)-1));
Возврат Фамилия+" "+Имя+" "+Отчество;
КонецФункции;



Вариант не самый красивый, но рабочий при заданных Вами условиях.

PS: Warder предложил более красивый и универсальный вариант, кстати.
Flagok
Спасибо, все работает. biggrin.gif
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2009 Invision Power Services, Inc.