6
ZanderZ
01.06.09
✎
08:00
|
// Функция формирует фамилию и инициалы либо по наименованию элемента спр-ка ФизическиеЛица // либо по переданным строкам. // Если передан Объект, то извлеченная из него строка считается совокупностью // Фамилия + Имя + Отчество, разделенными пробелами. // // Параметры // Объект - строка или ссылка или объект элемента спр-ка ФизическиеЛица. // Фамилия - фамилия физ. лица. // Имя - имя физ. лица. // Отчество - отчество физ. лица. // // Возвращаемое значение // Фамилия и Инициалы одной строкой. Побочные эффекты - переданная целая строка // Побочные эффекты - переданная целая строка разбивается на подстроки, соответствующие // отдельным Фамилии,Имени и Отчеству // Функция ФамилияИнициалыФизЛица(Объект = "", Фамилия = " ", Имя = " ", Отчество = " ") Экспорт ТипОбъекта = ТипЗнч(Объект); Если ТипОбъекта = Тип("Строка") Тогда ФИО = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект)," "); ИначеЕсли ТипОбъекта = Тип("СправочникСсылка.ФизическиеЛица") или ТипОбъекта = Тип("СправочникОбъект.ФизическиеЛица") ИЛИ ТипОбъекта = Тип("СправочникСсылка.СотрудникиОрганизаций") или ТипОбъекта = Тип("СправочникОбъект.СотрудникиОрганизаций") Тогда ФИО = ОбщегоНазначения.РазложитьСтрокуВМассивПодстрок(СокрЛП(Объект.Наименование)," "); Иначе // используем возможно переданные отдельные строки Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." + ?(НЕ ПустаяСтрока(Отчество),Лев(Отчество,1)+".", ""), ""), "") КонецЕсли; КоличествоПодстрок = ФИО.Количество(); Фамилия = ?(КоличествоПодстрок > 0,ФИО[0],""); Имя = ?(КоличествоПодстрок > 1,ФИО[1],""); Отчество= ?(КоличествоПодстрок > 2,ФИО[2],""); Возврат ?(НЕ ПустаяСтрока(Фамилия), ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." + ?(НЕ ПустаяСтрока(Отчество),Лев(Отчество,1)+".", ""), "") + " " + Фамилия, ""); КонецФункции
|
|