Имя: Пароль:
1C
 
Получить из полного Ф.И.О. только И.О.
0 fedotov_andrey
 
17.01.18
20:46
Подскажите пожалуйста, как записать... Получаю строку с полным ФИО, а мне нужно только Имя и Отчество

Если ЗначениеЗаполнено(Объект.Партнер.ОсновноеКонтактноеЛицо) Тогда
Результат = Объект.Партнер.ОсновноеКонтактноеЛицо;
1 fedotov_andrey
 
17.01.18
20:53
в результате полное ФИО: Иванов Иван Иванович, а мне хотелось бы получить Иван Иванович
2 PuhUfa
 
17.01.18
20:54
А если пользователь внесет "Иван Иванович Иванов"?
А вообще в типовых куча примеров с этим
3 Сияющий в темноте
 
17.01.18
20:56
Если в ФИО два пробела,то все просто,а если составная фамилия,то она должна через черточку писаться
а у тех,у кого много слов,не всегда понятно,что относится к фамилии
4 fedotov_andrey
 
17.01.18
20:57
Понятно, что может быть и Иванов Иван И ванович и всяко разно по другому, но вот предположим, что все в идеале и разделение идет пробелом :)
5 mehfk
 
17.01.18
21:02
(3) А еще есть оглы :)
(0) Храни Ф.И.О. в отдельных полях БД и вопрос отпадет сам собой.
6 PuhUfa
 
17.01.18
21:08
(4) СтрЗаменить(Результат, " ", Символы.ПС);
7 fedotov_andrey
 
17.01.18
21:24
получилось нечто
ФИО = Объект.Партнер.CRM_ОсновноеКонтактноеЛицо;
ИО  = СтрЗаменить(ФИО," ",Символы.ПС);
Результат = СтрПолучитьСтроку(ИО,1);

Выводит целиком :(
8 Lexey_
 
17.01.18
21:30
(7) код рабочий, ошибка где-то в другом месте
9 fedotov_andrey
 
17.01.18
21:42
(6) спасибо все получилось!
косяк действительно был в другом месте
Итоговый код получился таким, вдруг кому надо будет

Если ЗначениеЗаполнено(Объект.Партнер.CRM_ОсновноеКонтактноеЛицо) Тогда
СтрокиФИО = СтрЗаменить(Объект.Партнер.CRM_ОсновноеКонтактноеЛицо, " ", Символы.ПС);
Результат = СтрПолучитьСтроку(СтрокиФИО,2) + " " + СтрПолучитьСтроку(СтрокиФИО,3);
10 Tarzan_Pasha
 
17.01.18
21:51
в ЗУП должна быть такая функция.
11 MetaDon
 
17.01.18
21:52
+(9)
с Оглы будут проблемы; предлагаю-ИО=Сред(ФИО,Найти(ФИО," ")+1);
12 Мыш
 
17.01.18
22:05
СтрСоединить(), СтрРазделить() - новая мода )
13 trooba
 
17.01.18
22:32
(0) СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(Результат," ");
14 h-sp
 
17.01.18
23:02
СтрРазделить() работает практически мгновенно, по сравнению с
СтрЗаменить. У меня был текст 18000 строк, так она его разделила на строки буквально за пару секунд.
Основная теорема систематики: Новые системы плодят новые проблемы.