Поиск Написать

Разбить ФИО

7.7 ЗиК Глобальный модуль
8.0 ЗУП 2.1 Модуль ПроцедурыУправленияПерсоналом

Код в комментариях
Теги: Код
Редактировано: 06 марта 2008

Комментарии:
7.7
//************************************************** ****************************
// глФамилияИмяОтчество(Объект,Фамилия,Имя,Отчество)
//
// Параметры:
// Объект - элемент справочника Сотрудники или Строка
// Фамилия - в этот параметр будет записана фамилия сотрудника
// Имя - в этот параметр будет записано имя сотрудника
// Отчество - в этот параметр будет записано отчество сотрудника
//
// Возвращаемое значение:
// фамилия и инициалы сотрудника
//
// Описание:
// разбирает "наименование" сотрудника по Фамилия, Имя, Отчество
// и возвращает фамилию и инициалы сотрудника
//
Функция глФамилияИмяОтчество(Объект,Фамилия="",Имя="",Отчество="") Экспорт

Если ТипЗначения(Объект)=2 Тогда
ФИО = глРазделить(СокрЛП(Объект),",");
Иначе
ФИО = глРазделить(СокрЛП(Объект.Наименование),",");
КонецЕсли;
ФИО = глРазложить(ФИО," ");
Фамилия = ""; Имя = ""; Отчество = "";
Если ФИО.РазмерСписка() > 0 Тогда
Фамилия = ФИО.ПолучитьЗначение(1);
Если ФИО.РазмерСписка() > 1 Тогда
Имя = ФИО.ПолучитьЗначение(2);
Если ФИО.РазмерСписка() > 2 Тогда
// а вот отчество бывает и не из одного слова
Для Сч = 3 По ФИО.РазмерСписка() Цикл
Отчество = Отчество + ФИО.ПолучитьЗначение(Сч) + " ";
КонецЦикла;
Если ПустоеЗНачение(Отчество) = 0 Тогда
Отчество = Лев(Отчество,СтрДлина(Отчество)-1);
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЕсли;

Возврат Фамилия+?(ПустоеЗначение(Имя)=0," "+Лев(Имя,1)+"."+?(ПустоеЗначение(Отчество)=0,Лев(Отчество,1)+".",""),"")

КонецФункции // глФамилияИмяОтчество
8.0
Модуль ПроцедурыУправленияПерсоналом
// Функция формирует фамилию и инициалы либо по наименованию элемента спр-ка ФизическиеЛица
// либо по переданным строкам.
// Если передан Объект, то извлеченная из него строка считается совокупностью
// Фамилия + Имя + Отчество, разделенными пробелами.
//
// Параметры
// Объект - строка или ссылка или объект элемента спр-ка ФизическиеЛица.
// Фамилия - фамилия физ. лица.
// Имя - имя физ. лица.
// Отчество - отчество физ. лица.
//
// Возвращаемое значение
// Фамилия и Инициалы одной строкой. Побочные эффекты - переданная целая строка
// Побочные эффекты - переданная целая строка разбивается на подстроки, соответствующие
// отдельным Фамилии,Имени и Отчеству
//
Функция ФамилияИнициалыФизЛица(Объект = "", Фамилия = " ", Имя = " ", Отчество = " ") Экспорт

ТипОбъекта = ТипЗнч(Объект);
Если ТипОбъекта = Тип("Строка") Тогда
ФИО = РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект)," ");
ИначеЕсли ТипОбъекта = Тип("СправочникСсылка.ФизическиеЛица") или ТипОбъекта = Тип("СправочникОбъект.ФизическиеЛица") Тогда
ФИО = РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект.Наиме нование)," ");
Иначе

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

КоличествоПодстрок = ФИО.Количество();
Фамилия = ?(КоличествоПодстрок > 0,ФИО[0],"");
Имя = ?(КоличествоПодстрок > 1,ФИО[1],"");
Отчество= ?(КоличествоПодстрок > 2,ФИО[2],"");

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

КонецФункции
  • в 2016 (кажется) была, это был бюджетный автобусный тур. Тбилиси, Мцхета, старый город....

    Тбилиси: Что? Где? Куда?
    в 2016 (кажется) была, это был бюджетный автобусный тур. Тбилиси, Мцхета, старый город. Потом Кобулетти (пляж-море) - там недалеко черные пески, Батуми.
  • Так да, я ж только в Тбилиси метила. Так, попробовать вино и хачапури Тбилиси: Что? Где? Куда?

    PS Леник, конечно, умничка, но как-то скромно она отметила своё приезд втуда..
    Так да, я ж только в Тбилиси метила. Так, попробовать вино и хачапури Но меня чуток покатали до Мцхеты.
  • YUM

    Сын был там неск. тому лет "взад-обратно" Что с него возьмёшь?
    Молодёшшшь!...

    Тбилиси: Что? Где? Куда?
    Сын был там неск. тому лет "взад-обратно" Что с него возьмёшь?
    Молодёшшшь!
    Взяли машину на прокат и носились по всей Сорт.... Саква ... по Грузии, короче
    Советует брать ... плавки и - в Боржоми. Это, говорит, не тольо вода в бутылках, но и теплые бассейны. Бесплатные "не в сезон" акогда там "сезон" начинается?
    И. вообще - так шо-ж мы пьём? .
    Все сайты с "путешествиями" только про жратву талдычат. И про вино.
    Нет. ну с вином - я согнласен. А вот примечательностей список как-то не широк. Ой, не широк!! Т.е. затоскует Ненаглядная и ... вино мне поперк горла поставит. Не дай бог, чтобы вместе рогом. с котрого там его ишшо угощают.
    Вероятно, как обычно, всё чт нужнно будет найдено...недлельки через три
    после возврата.Ну- как всегда
    PS Леник, конечно, умничка, но как-то скромно она отметила своё приезд втуда..
  • Никогда не была ))))

    Тбилиси: Что? Где? Куда?
    Никогда не была ))))
  •  

    Подтвердите удаление записи