|
|
|
Инициалы из ФИО | ☑ | ||
|---|---|---|---|---|
|
0
Seriy
16.06.10
✎
12:12
|
Можно ли, используя компоненту NameDecl.DLL, из строки типа Иванов Иван Иванович получить строку Иванов И.И.?
|
|||
|
1
XLife
16.06.10
✎
12:13
|
можно и не используя
|
|||
|
2
zak555
16.06.10
✎
12:14
|
//******************************************************************************
// глФамилияИмяОтчество(Объект,Фамилия,Имя,Отчество) // // Параметры: // Объект - элемент справочника Сотрудники или ФизЛицо // или строка // Фамилия - в этот параметр будет записана фамилия сотрудника // Имя - в этот параметр будет записано имя сотрудника // Отчество - в этот параметр будет записано отчество сотрудника // // Возвращаемое значение: // Фамилия и инициалы сотрудника // // Описание: // Разбирает "наименование" сотрудника по Фамилия, Имя, Отчество // и возвращает фамилию и инициалы сотрудника // Функция глФамилияИмяОтчество(Объект, Фамилия="", Имя="", Отчество="") Экспорт ТипОбъекта = ТипЗначения(Объект); Если ТипЗначенияСтр(Объект) = "Строка" Тогда Список = глРазложить(СтрЗаменить(Объект, ".",". "), " "); ИначеЕсли (ТипЗначенияСтр(Объект) = "Справочник") ИЛИ (ТипЗначенияСтр(Объект) = "ГрупповойКонтекст") Тогда Если Объект.Вид()="ФизЛица" Тогда Список = глРазложить(СтрЗаменить(Объект.ПолнНаименование, ".", ". ")," "); ИначеЕсли Объект.Вид()="Сотрудники" Тогда Список = глРазложить(СтрЗаменить(Объект.ФизЛицо.ПолнНаименование, ".", ". ")," "); КонецЕсли; КонецЕсли; Фамилия = ?(0 < Список.РазмерСписка(), Список.ПолучитьЗначение(1), ""); Имя = ?(1 < Список.РазмерСписка(), Список.ПолучитьЗначение(2), ""); Если Список.РазмерСписка() > 2 Тогда // а вот отчество бывает и не из одного слова Для Сч = 3 По Список.РазмерСписка() Цикл Отчество = Отчество + Список.ПолучитьЗначение(Сч) + " "; КонецЦикла; Если ПустоеЗНачение(Отчество) = 0 Тогда Отчество = Лев(Отчество,СтрДлина(Отчество)-1); КонецЕсли; КонецЕсли; Возврат Фамилия+?(ПустоеЗначение(Имя) = 0," "+Лев(Имя,1)+"."+?(ПустоеЗначение(Отчество) = 0, Лев(Отчество,1)+".", ""), ""); КонецФункции // глФамилияИмяОтчество() |
|||
|
3
Seriy
16.06.10
✎
12:14
|
(1) Вопрос: Можно ли, ИСПОЛЬЗУЯ компоненту NameDecl.DLL, из строки типа Иванов Иван Иванович получить строку Иванов И.И.?
|
|||
|
4
zak555
16.06.10
✎
12:29
|
(3) так она неправильно склоняет
|
|||
|
5
also
16.06.10
✎
12:32
|
Можно ли используя пылесос доказать теорему Пифагора?
|
|||
|
6
zak555
16.06.10
✎
12:33
|
(5) да
|
|||
|
7
also
16.06.10
✎
12:35
|
А по сабжу:
Сообщить(ОбщегоНазначения.ФамилияИнициалыФизЛица("Иванов Иван Иванович")); |
|||
|
8
zak555
16.06.10
✎
12:45
|
(7) я там только вот, что нашёл :
// Функция формирует фамилию, имя и отчество одной строкой // // Параметры // Фамилия - фамилия физ. лица. // Имя - имя физ. лица. // Отчество - отчество физ. лица. // ФИОКратко - Булево - если Истина (по умолчанию), Представление физ.лица включает фамилию и инициалы, если Ложь - фамилию и полностью имя и отчество // // Возвращаемое значение // Фамилия, имя, отчество одной строкой. // Функция ПолучитьФамилиюИмяОтчество(Фамилия = " ", Имя = " ", Отчество = " ", ФИОКратко = Истина) Экспорт Если ФИОКратко Тогда Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." + ?(НЕ ПустаяСтрока(Отчество) , Лев(Отчество,1)+".", ""), ""), ""); Иначе Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Имя + ?(НЕ ПустаяСтрока(Отчество) , " " + Отчество, ""), ""), ""); КонецЕсли; КонецФункции // ПолучитьФамилиюИмяОтчество() |
|||
|
9
Быдло замкадное
17.06.10
✎
00:22
|
омг..а я седня извращался )))
Запрос = новый запрос; Запрос.Текст = "ВЫБРАТЬ | ФИОФизЛицСрезПоследних.Фамилия, | ФИОФизЛицСрезПоследних.Имя, | ФИОФизЛицСрезПоследних.Отчество |ИЗ | РегистрСведений.ФИОФизЛиц.СрезПоследних(&ТекущДата, ФизЛицо = &ФизЛицо) КАК ФИОФизЛицСрезПоследних"; запрос.УстановитьПараметр("Физлицо", физлицо); запрос.УстановитьПараметр("ТекущДата", ТекущаяДата()); Результат = запрос.Выполнить().Выгрузить(); Если результат.Количество() =1 тогда Строкарезультата = результат[0]; КомОбъект.Variables.Item("ФИОсокр").Value=лев(Строкарезультата.Имя,1) +"."+лев(Строкарезультата.Отчество,1)+". "+ Строкарезультата.Фамилия; КонецЕсли; |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |