Имя: Пароль:
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 строк, так она его разделила на строки буквально за пару секунд.
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn