1С 8.3 Преобразование Фамилия Имя Отчество в Фамилия и инициалы - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Преобразование Фамилия Имя Отчество в Фамилия и инициалы

Данные > Примеры кода 1С > 1С 8.3 Строка, текст, буквы
Перейти в раздел примеры кода 1С 8.3:
Пример №1: Разложить ФИО на Фамилия и инициалы в 1С 8.3:
&НаКлиенте
Процедура ФИО_Инициалы_1()

   
// Получим из Фамилия Имя Отчество => Фамилия И.О.
   
ФИО_Руководителя = "Жуков Георгий Константинович";
   
Сообщить("Преобразуем: "+ФИО_Руководителя);

    Пока
Найти(ФИО_Руководителя, "  ") <> 0 Цикл
       
ФИО_Руководителя = СтрЗаменить(ФИО_Руководителя,"  "," ");
    КонецЦикла;

   
ФИО_Руководителя = СтрЗаменить(ФИО_Руководителя," ",Символы.ПС);
   
Сообщить("в: "+СтрПолучитьСтроку(ФИО_Руководителя,1)+" "+Лев(СтрПолучитьСтроку(ФИО_Руководителя,2),1)
    +
"."+Лев(СтрПолучитьСтроку(ФИО_Руководителя,3),1) + ".");
   
// в: Жуков Г.К.

КонецПроцедуры
Пример №2: Разложить ФИО на Фамилия и инициалы в 1С 8.3:
&НаКлиенте
Процедура ФИО_Инициалы_2()

   
// Получим из Фамилия Имя Отчество => Фамилия И.О.
   
ФИО_Руководителя = "Жуков Георгий Константинович";
   
Сообщить("Преобразуем: "+ФИО_Руководителя);

   
Инициал_Имя = СтрНайти(ФИО_Руководителя, " ") + 1;
   
Инициал_Имя = Сред(ФИО_Руководителя, Инициал_Имя, 1);

   
Инициал_Отчество = СтрНайти(ФИО_Руководителя, " ", НаправлениеПоиска.СКонца) + 1;
   
Инициал_Отчество = Сред(ФИО_Руководителя, Инициал_Отчество, 1);

   
Полностью_Фамилия = СокрЛП(Лев(ФИО_Руководителя, СтрНайти(ФИО_Руководителя, " ")));

   
Сообщить("в: "+Полностью_Фамилия+" "+Инициал_Имя+"."+Инициал_Отчество+".");
   
// в: Жуков Г.К.

КонецПроцедуры
Пример №3: Разложить ФИО на Фамилия и инициалы в 1С 8.3:
// Параметры
//  ФамилияТекст - фамилия физ. лица.
//  ИмяТекст - имя физ. лица.
//  ОтчествоТекст - отчество физ. лица.
//  КраткоеФИО - Булево - если Истина (по умолчанию), Представление физ.лица включает фамилию и инициалы,
//  если Ложь - фамилию и полностью имя и отчество
//
// Возвращаемое значение
//  ФамилияТекст, имя, отчество одной строкой.

&НаКлиенте
Функция ФИО_Инициалы_3(ФамилияТекст = " ", ИмяТекст = " ", ОтчествоТекст = " ", КраткоеФИО = Истина)

   Если КраткоеФИО Тогда
       Возврат ?(НЕ ПустаяСтрока(ФамилияТекст), ФамилияТекст + ?(НЕ ПустаяСтрока(ИмяТекст)," " + Лев(ИмяТекст,1) + "." +
       ?(НЕ ПустаяСтрока(ОтчествоТекст), Лев(ОтчествоТекст,1)+".", ""), ""), "");
   Иначе
       Возврат ?(НЕ ПустаяСтрока(ФамилияТекст), ФамилияТекст + ?(НЕ ПустаяСтрока(ИмяТекст)," " + ИмяТекст +
       ?(НЕ ПустаяСтрока(ОтчествоТекст) , " " + ОтчествоТекст, ""), ""), "");
   КонецЕсли;

КонецФункции
3
комментарии
Александр
15 ноя 2024
) есть один недостаток если отчества нет
Артур
07 ноя 2023
Всё оно выводит
poproshaika+
06 ноя 2023
Не выводит сообщение процедура номер 2
____________________
Copyright©, «Программист 1С в г.Минске», 14.04.2021
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому