Имя: Пароль:
1C
1С v8
Из полного ФИО сделать Фамилию и инициалы (обрезать)
,
0 den17
 
26.09.11
15:35
Здравствуйте, подскажите пожалуйста, как из обрезать ФИО и сделать Фамилию и инициалы. Создаю внешнюю печатную форму, в параметрах макета в <ФИООтпустил> вставляется результат запроса: Иванов Иван Иванович. А как сделать Иванов И. И.?????
1 Irbis
 
26.09.11
15:36
Найти пробел и отрезать лишнее
2 Irbis
 
26.09.11
15:36
потом повторить
3 Salvador Limones
 
26.09.11
15:37
Дёрни в свою самописку функцию из типовых.
4 Просто Лёха
 
26.09.11
15:38
5 zak555
 
26.09.11
15:38
смотри общий модуль ОбзщегоНазначения
6 den17
 
26.09.11
15:39
Может напишите, как please.. Очень надо. А-то начальница сожрёт мой значёк "1С-Проф" на ужин и закусит моей пенсией.
7 Nataly_N
 
26.09.11
15:39
если в запросе, примерно так
ВЫБОР
       |            КОГДА ПОДСТРОКА(ФИОФизЛицСрезПоследнихРуководитель.Имя, 1, 1) <> """"
       |                ТОГДА ПОДСТРОКА(ФИОФизЛицСрезПоследнихРуководитель.Имя, 1, 1) + "". ""
       |            ИНАЧЕ """"
       |        КОНЕЦ + ВЫБОР
       |            КОГДА ПОДСТРОКА(ФИОФизЛицСрезПоследнихРуководитель.Отчество, 1, 1) <> """"
       |                ТОГДА ПОДСТРОКА(ФИОФизЛицСрезПоследнихРуководитель.Отчество, 1, 1) + "". ""
       |            ИНАЧЕ """"
       |        КОНЕЦ + ФИОФизЛицСрезПоследнихРуководитель.Фамилия, ОтветственныеЛицаСрезПоследних.ФизическоеЛицоНаименование
8 zak555
 
26.09.11
15:39
(6) так проф - не спец ! =)
9 den17
 
26.09.11
15:40
Спасибо, щас попробую..
10 and2
 
26.09.11
15:40
// Функция формирует фамилию, имя и отчество одной строкой
//
// Параметры
//  Фамилия  - фамилия физ. лица.
//  Имя      - имя физ. лица.
//  Отчество - отчество физ. лица.
//  ФИОКратко    - Булево - если Истина (по умолчанию), Представление физ.лица включает фамилию и инициалы, если Ложь - фамилию и полностью имя и отчество
//
// Возвращаемое значение
//  Фамилия, имя, отчество одной строкой.
//
Функция ПолучитьФамилиюИмяОтчество(Фамилия = " ", Имя = " ", Отчество = " ", ФИОКратко = Истина) Экспорт
   
   Если ФИОКратко Тогда
       Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Лев(Имя,1) + "." +
               ?(НЕ ПустаяСтрока(Отчество) ,
               Лев(Отчество,1)+".", ""), ""), "");
   Иначе
       Возврат ?(НЕ ПустаяСтрока(Фамилия), Фамилия + ?(НЕ ПустаяСтрока(Имя)," " + Имя +
               ?(НЕ ПустаяСтрока(Отчество) , " " + Отчество, ""), ""), "");
   КонецЕсли;

КонецФункции // ПолучитьФамилиюИмяОтчество()
11 zak555
 
26.09.11
15:42
12 kryptonite
 
26.09.11
15:46
БП 2.0:
ОбщегоНазначения.ПолучитьФамилиюИмяОтчество(Фамилия = " ", Имя = " ", Отчество = " ", ФИОКратко = Истина)