Имя: Пароль:
1C
1С v8
Разбить ФИО на имя,фамилию, отчество
0 AnisaL
 
18.12.13
07:37
Доброе утро!
Вопрос банальный, но все же, может есть способ проще. Есть строка - ФИО, как проще ее разбить на имя фамилию отчество?
1 skunk
 
18.12.13
07:39
заменить пробелы символ.ВК ... далее получить строки 1, 2 и 3
2 xReason
 
18.12.13
07:40
порезать ее по разделителю - " " (пробел)
3 MSII
 
18.12.13
07:41
(0) В типовых конфигурациях реализовано, а так можно поразмышлять, где у Мигеля Гарсии Фернандо Энрико Антонио фамилия, а где отчество.
4 xReason
 
18.12.13
07:42
(3) ну ты еще индейца - "Зоркий глаз" вспомни
5 AnisaL
 
18.12.13
07:42
(3) в типовых реализовано - а какая функция?
6 AnisaL
 
18.12.13
07:46
(1) заменяю проблеы:
НоваяФИО = СтрЗаменить(ФИО," ",Символы.ВК);
а получить строки далее как?
7 milaffka
 
18.12.13
07:46
ОМГ...
8 AnisaL
 
18.12.13
07:47
(6) + через функцию найти?
9 AnisaL
 
18.12.13
07:49
(7) а что удивляетесь, я могу это сделать, но по-своему, но наверняка есть способ стандартный, зачем костыли придумывать
10 skunk
 
18.12.13
07:51
(9)в стандартных есть получитьФИО или что-то в этом роде
11 Chai Nic
 
18.12.13
07:56
(8) СтрПолучитьСтроку
12 jsmith82
 
18.12.13
07:58
Функция РазложитьСтрокуВМассивПодстрок(Знач Строка, Знач Разделитель = ",", Знач ПропускатьПустыеСтроки = Неопределено) Экспорт
    
    Результат = Новый Массив;
    
    // для обеспечения обратной совместимости
    Если ПропускатьПустыеСтроки = Неопределено Тогда
        ПропускатьПустыеСтроки = ?(Разделитель = " ", Истина, Ложь);
        Если ПустаяСтрока(Строка) Тогда
            Если Разделитель = " " Тогда
                Результат.Добавить("");
            КонецЕсли;
            Возврат Результат;
        КонецЕсли;
    КонецЕсли;
    //
    
    Позиция = Найти(Строка, Разделитель);
    Пока Позиция > 0 Цикл
        Подстрока = Лев(Строка, Позиция - 1);
        Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Подстрока) Тогда
            Результат.Добавить(Подстрока);
        КонецЕсли;
        Строка = Сред(Строка, Позиция + СтрДлина(Разделитель));
        Позиция = Найти(Строка, Разделитель);
    КонецЦикла;
    
    Если Не ПропускатьПустыеСтроки Или Не ПустаяСтрока(Строка) Тогда
        Результат.Добавить(Строка);
    КонецЕсли;
    
    Возврат Результат;
    
КонецФункции
13 xReason
 
18.12.13
07:59
из БСП - сахар

Функция ФамилияИмяОтчество(Знач ФИО) Экспорт
    
    СтруктураФИО = Новый Структура("Фамилия, Имя, Отчество");
    
    МассивПодстрок = СтроковыеФункцииКлиентСервер.РазложитьСтрокуВМассивПодстрок(ФИО, " ");
    
    Если МассивПодстрок.Количество() > 0 Тогда
        СтруктураФИО.Вставить("Фамилия", МассивПодстрок[0]);
        Если МассивПодстрок.Количество() > 1 Тогда
            СтруктураФИО.Вставить("Имя", МассивПодстрок[1]);
        КонецЕсли;
        Если МассивПодстрок.Количество() > 2 Тогда
            Отчество = "";
            Для Шаг = 2 По МассивПодстрок.Количество()-1 Цикл
                Отчество = Отчество + МассивПодстрок[Шаг] + " ";
            КонецЦикла;
            СтроковыеФункцииКлиентСервер.УдалитьПоследнийСимволВСтроке(Отчество, 1);
            СтруктураФИО.Вставить("Отчество", Отчество);
        КонецЕсли;
    КонецЕсли;
    
    Возврат СтруктураФИО;
    
КонецФункции
14 MSII
 
18.12.13
08:01
(5) Лень - смертный грех.
15 Klesk666
 
18.12.13
08:03
(0) привлечь таджиков
16 SeraFim
 
18.12.13
08:03
(14) велосипедирование - еще бОльший грех
17 AnisaL
 
18.12.13
08:12
(16) спасибо. вы меня правильно поняли ))
18 Wobland
 
18.12.13
08:13
только МСИИ никто не понял
19 MSII
 
18.12.13
08:13
(18) Да я не в претензии. :)
20 1Сергей
 
18.12.13
08:13
Самый страшный грех - это троллирование
21 kosts
 
18.12.13
08:16
(17) В типовых есть регистр ФИОФизлиц (вроде так). Там уже фамилия, имя, отчество по отдельности.
22 dmpl
 
18.12.13
08:16
(4) Фатхуллин Ровшан Ильнар оглы вполне встречается...
23 1Сергей
 
18.12.13
08:18
В типовых конфах встречается регистр ФИОФизЛиц, так что...
24 AnisaL
 
18.12.13
08:20
(13) спасибо!, этой функция очень хорошая, и как раз подходит для отчеств, состоящих из нескольких слов
25 1Сергей
 
18.12.13
08:21
(24) ты так и не откроешь страшную тайну?
26 skunk
 
18.12.13
08:22
оглы - это часть имени говорит о том, что носитель имени мальчик, а кызы - тоже самое только для девочек ...
27 AnisaL
 
18.12.13
08:28
(21) да, есть такой ) просто я создаю программно контрагентов и физ лиц, в конфигурации УНФ + СРМ. Там есть отдельные реквизиты по СРМ: CRM_Имя, CRM_Отчество,CRM_Фамилия, которые заполняются при создании, вот весь секрет!
28 AnisaL
 
18.12.13
08:30
Спасибо всем! воспользуюсь типовой функцией ФамилияИмяОтчество(Знач ФИО) Экспорт
29 1Сергей
 
18.12.13
08:33
ПроцедурыУправленияПерсоналом.ДанныеФизЛица(...)
30 AnisaL
 
18.12.13
08:37
(29) нашла эту функцию:
// Функция возвращает совокупность данных о физическом лице в виде структуры,
// В совокупность данных входит ФИО, должность в заданной организации,
// паспортные данные и др
31 1Сергей
 
18.12.13
09:33
(30) пожалуйста
32 AnisaL
 
18.12.13
09:54
(31) большое спасибо!!!
33 Chum
 
18.12.13
09:57
AnisaL, что будешь делать, если у человека нет отчества? А если имя из двух слов и отчество тоже?
34 Wobland
 
18.12.13
09:57
(33) валить всё на типовые функции
35 Chum
 
18.12.13
10:02
Уткин-Задунайский Бюль-бюль оглы Магамед оглы
36 AnisaL
 
18.12.13
10:03
(33) ты функцию видел типовую? там же все предусмотрено
37 sergeev-ag-1977
 
18.12.13
10:04
Кожебеков Султан аглы Кожигельдович

- раскладывай !
38 AnisaL
 
18.12.13
10:08
(37) фамилия - Кожебеков
имя - Султан
отчество - оглы Кожигельдович
где вы такое взяли?..
39 Wobland
 
18.12.13
10:09
(азерб. B?lb?l, имя при рождении — Муртуза Рза оглы Маме?дов)
wiki:Бюльбюль
40 AnisaL
 
18.12.13
10:10
(39) ну я правильно разложила?
41 Wobland
 
18.12.13
10:11
(40) я бы оглы к имени причислыл
42 AnisaL
 
18.12.13
10:12
(41) что же тогда делать..
43 Wobland
 
18.12.13
10:12
(42) _предлагать_ разбивку полного наименования
44 Wobland
 
18.12.13
10:14
ну или брать по отдельности из специально обученного регистра
45 AnisaL
 
18.12.13
10:15
(43) т.е. типа если фио состоит из 4 слов, то 1-фамилия, 2 и 3 - имя, 4 - отчество
46 AnisaL
 
18.12.13
10:17
(44) а программа поймет что имя состоит из 2-х слов?
47 Wobland
 
18.12.13
10:18
держите меня

Не секрет, что после революции некоторые советские родители, стремясь увековечить определенные исторические события, называли своих детей коротко и ясно: Пофистал (Победитель фашизма Иосиф Сталин), Пятвчет (Пятилетку в четыре года!), Урюрвкос (Ура, Юра в космосе!), Ватерпежекосма (Валентина Терешкова - первая женщина-космонавт), Перкосрак (Первая космическая ракета) и т.д.
48 Бледно Золотистый
 
18.12.13
10:18
(45) А если такое имя - Анна Мария Франческа Энрикес Перес де Тагле?
Если слов <> 3, то спрашивать у пользователя, что имя, а что фамилия.
49 НЕА123
 
18.12.13
10:18
Мария Антония Йозефа Иоганна Габсбургско-Лотарингская
wiki:Мария-Антуанетта
50 AnisaL
 
18.12.13
10:20
(49) а нафига нам королева франции то
51 НЕА123
 
18.12.13
10:21
(50)
ну не знаю...
может уборщицей у Вас работает...
52 Wobland
 
18.12.13
10:22
Жительница штата Северная Каролина 19-летняя Дженнифер Торнбург сменила имя на интернет-адрес "по идейным соображениям". Теперь ее зовут Cutoutdissection.com
53 Wobland
 
18.12.13
10:23
Смена имени может стать источником заработка Примечательно, что это не первый подобный случай - ранее житель Канады также сменил свое имя на название интернет-сайта. Целый год канадца Скотта Макдоналда звали Mr. Freebeestore. За эту услугу владелец одноименного сайта заплатил Макдоналду $37 тыс.

Cам Макдоналд перенял данную идею "заработка" у Коди Бейкера, который для начала за 5 долларов сменил собственное имя на название известного чистящего средства Mr. Clean. После этого за 10 долларов Бейкер поменял имя на название японского блюда King Taco, а затем ему поступило серьезное предложение от компании Cup'O Joe, продающей кофе. За $26333 Бейкер должен был поменить имя на Finest, Freshest, Fastest (Лучший, Быстрейший, Свежайший), однако эта идея сильно не понравилось его матери. К тому же в дело вмешалось руководство корпуса морской пехоты, которое официально запретило своему сержанту менять личные данные. Смешно и грустно…
54 НЕА123
 
18.12.13
10:23
(38)
Султан оглы - отчество (оглы - сын)
55 AnisaL
 
18.12.13
10:29
(53) как забавно ))
56 Wobland
 
18.12.13
10:30
ну и, наконец, короли долболюбизма - родители БОЧ рВФ 260602

http://www.materinstvo.ru/art/2382/
57 Wobland
 
18.12.13
10:31
(56) а кто-то знает, это у него полное наименование? тогда не в тему
58 AnisaL
 
18.12.13
10:38
(56) ну и родители..
59 Wobland
 
18.12.13
10:40
а мне в загсе так и не ответили, почему ребёнку нельзя чугунком назвать
60 AnisaL
 
18.12.13
10:42
(59) а ты хотел что ли?
61 skunk
 
18.12.13
10:42
(59)можно ... но порой в загсе работают люди, которые понимают как родители дол..ы хотят испортить жизнь своему ребенку ... и тупо не регистрируют
62 AnisaL
 
18.12.13
10:52
(61) хоть есть здравомыслящие люди
63 Wobland
 
18.12.13
10:55
(60) (61) повторяю ключевое слово: объяснить
64 Wobland
 
18.12.13
10:56
+(63) и мне поровну на личное отношение работников загса к этому делу
65 catena
 
18.12.13
10:56
(59)А я боролась всего лишь за "Алёну"...
66 Масянька
 
18.12.13
10:57
(64) Как раз анекдот в тему: еврейский ребенок принес домой котенка.
- Как назовем?
- Мойшей.
- Ты, что совсем с ума сошел? Нельзя человеческим именем.
- А, ладно. Пусть будет Борей.
67 dmpl
 
18.12.13
10:58
У буржуев, кстати, все проще. Есть First Name, Last Name и все что в середине - Middle Name.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн