22.11.2007, 17:59
общий
это ответ
Здравствуйте, Darina! Указанная вами в приложении функция работает, т.е. непонятно что вам подсказать? Если вы хотите другим способом получить те же результаты смотрите мое приложение.
Если Ваш вопрос в том где после отработки функции найти Фамилию, Имя и Отчество, объясняю : при вызове функции в отправляете в нее три пустых переменных Фамилия="",Имя="",Отчество="". По окончании работы функции именно в них и окажутся требуемые вам значения, например:
ВыходнаяТаблица = СоздатьОбъект("Таблица");
ВыходнаяТаблица.ИсходнаяТаблица("КарточкаСотрудника");
...
//где Сотрудник - элемент справочника который распечатываем
глФамилияИмяОтчество(Сотрудник,Фамилия,Имя,Отчество);
...
ВыходнаяТаблица.ВывестиСекцию("Шапка");
// в печатной форме вы укажете переменные Фамилия,Имя,Отчество в тех ячейках
//где вам нужно вывести значения, тип ячейки ставите "Выражение"
Приложение:
Функция ФамилияИмяОтчество(Объект,Фамилия="",Имя="",Отчество="") Если ТипЗначения(Объект)=11 Тогда ФИО = СокрЛП(Объект.Наименование); Поз = Найти(ФИО," "); Если Поз>0 Тогда Фамилия=Лев(ФИО,Поз-1); ФИО = СокрЛП(Сред(ФИО,Поз+1)); Поз = Найти(ФИО," "); Если Поз>0 Тогда Имя=Лев(ФИО,Поз-1); ФИО = СокрЛП(Сред(ФИО,Поз)); Если СокрЛП(ФИО)<>"" Тогда Отчество = СокрЛП(ФИО); КонецЕсли; КонецЕсли; КонецЕсли; Иначе Возврат "Неверный тип объекта"; КонецЕсли; Возврат Фамилия+?(ПустоеЗначение(Имя)=0," "+Лев(Имя,1)+"."+?(ПустоеЗначение(Отчество)=0,Лев(Отчество,1)+".",""),"")КонецФункции