helpf.pro
Регистрация
 0 
Распечатать

Функция преобразовавает Фамилия Имя Отчество в Фамилия И. О.

Код 1C v 8.х
 
Функция ФамилияИО(ПолнИмя) Экспорт
ПервПроб = Найти(ПолнИмя," ");
Если ПервПроб=0 Тогда
Возврат ПолнИмя;
Иначе
Фамилия = Лев(ПолнИмя,ПервПроб);
ИО = Сред(ПолнИмя,ПервПроб+1);
ИО = СокрЛ(ИО);
Имя = Лев(ИО,1)+".";
ВтПроб = Найти(ИО," ");
Если ВтПроб=0 Тогда
Возврат Фамилия+Имя;
Иначе
Возврат Фамилия+Имя+" "+Лев(СокрЛ(Сред(ИО,ВтПроб+1)),1)+".";
КонецЕсли;
КонецЕсли;
КонецФункции

//Пример обращения
Текст = "Андреева Алла Александровна";
Сообщить(ФамилияИО(Текст)); //Выведет - Андреева А. А.


Код 1C v 8.х
 Функция ИОФамилия(Сотрудник) Экспорт
Пока Найти(Сотрудник, " ") <> 0 Цикл
Сотрудник = СтрЗаменить(Сотрудник," "," ");
КонецЦикла;

Сотрудник = СтрЗаменить(Сотрудник," ",Символы.ПС);
Возврат Лев(СтрПолучитьСтроку(Сотрудник,2),1) + ". "+Лев(СтрПолучитьСтроку(Сотрудник,3),1) + ". "+СтрПолучитьСтроку(Сотрудник,1);
КонецФункции


Код 1C v 7.x
 Функция ФамилияИО(ПолнИмя) Экспорт
// позиция первого пробела
ПервПроб = Найти(ПолнИмя," ");
Если ПервПроб=0 Тогда
Возврат ПолнИмя;
Иначе
Фамилия = Лев(ПолнИмя,ПервПроб);
ИО = Сред(ПолнИмя,ПервПроб+1);
ИО = СокрЛ(ИО);
Имя = Лев(ИО,1)+".";
// позиция второго пробела
ВтПроб = Найти(ИО," ");
Если ВтПроб=0 Тогда
Возврат Фамилия+Имя;
Иначе
Возврат Фамилия+Имя+" "+Лев(СокрЛ(Сред(ИО,ВтПроб+1)),1)+".";
КонецЕсли;
КонецЕсли;
КонецФункции
Разместил:   Версии: | 7.x | 8.x |  Дата:   Прочитано: 11230
 0 
Распечатать
Возможно, вас также заинтересует
Cклонения по падежам 4
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) ...
Загрузка данных из XML файла в Таблицу Значений и вывод в Табличный документ 0
Перем ИмяПути,ИмяФайла; Перем xmlParser; //пример чтения xml файла. Функция УстановитьКомпоненту() Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+" ExtFormsv7plus.dll" )=0 Тогда Если ЗагрузитьВнешнююКомпоненту(" v7plus.dll" )=0 Тогда ...
запрос ФИО руководителя полностью, сделал на основе оригинальной функции 1
Функция ОтветственныеЛицаОрганизации(Организация, ДатаСреза, Исполнитель = Неопределено) Экспорт Результат = Новый Структура("Руководитель, РуководительДолжность, ГлавныйБухгалтер, Кассир"); Если...
Как программно добавить пользователя в информационную базу? 0
При переносе данных из одной информационной базы в другую может возникнуть необходимость перенести и пользователей информационной базы. Для этого можно воспользоваться свойством глобального контекста...
Как разобрать "наименование" сотрудника Ф.И.О. на Фамилию и инициалы сотрудника? 1
Функция глРазложить(Знач Стр, Разделитель = " ," ) Экспорт СЗ = СоздатьОбъект(" СписокЗначений" ); Если Разделитель = " " Тогда Стр = СокрЛП(Стр); Пока 1=1 Цикл Поз = Найти(Стр,Разделитель); Если Поз=0 Тогда ...
Посмотреть все результаты поиска похожих
Комментарии
E_Migachev
14.12.2009 17:06Комментарий: 2
E_Migachev
Sokruto, хороший пример.
Sokruto
14.12.2009 13:44Комментарий: 1
Sokruto
предпочитаю так делать
Код 1C v 8.2 УП
 
Функция ФамилияИО(Сотрудник) Экспорт
Пока Найти(Сотрудник, " ") <> 0 Цикл
Сотрудник = СтрЗаменить(Сотрудник," "," ");
КонецЦикла;

Сотрудник = СтрЗаменить(Сотрудник," ",Символы.ПС);
Возврат СтрПолучитьСтроку(Сотрудник,1) + " "
+ Лев(СтрПолучитьСтроку(Сотрудник,2),1) + ". "
+Лев(СтрПолучитьСтроку(Сотрудник,3),1) + ".";
КонецФункции

Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.