funkcija_opredelenija_pola

Функция ПолФИО(Знач ФамилияИмяОтчество) Экспорт
     
    Если ПустаяСтрока(ФамилияИмяОтчество) Тогда
        Возврат Неопределено;
    КонецЕсли;
     
    МассивФИО = СтрРазделить(НРег(ФамилияИмяОтчество), " ", Ложь);
     
    // ШАГ 1.
    // Проверка на стандартные имена (RU).
    МужскиеИмена = ",абрам,аваз,аввакум,август,авдей,аверьян,авраам,автандил,агап,агафон,аггей,адам,адис,адольф,адриан,"
        + "азамат,азар,азарий,азат,айдар,айнур,айрат,акакий,аким,аксён,алан,александр,алексей,али,алим,алихан,алмаз,альберт,"
        + "альфред,амадей,амадеус,амаяк,амвросий,амин,анатолий,анвар,ангел,андрей,андрон,андрэ,аникита,антип,антон,ануфрий,"
        + "анфим,аполлинарий,аполлон,арам,аристарх,аркадий,арман,армен,арно,арнольд,арон,арсен,арсений,арсентий,арслан,"
        + "артем,артемий,артур,артём,архип,аскер,аскольд,афанасий,ахмет,ашот,бахрам,бежен,бенедикт,берек,бернар,богдан,"
        + "боголюб,бонифаций,бореслав,борис,борислав,боян,бронислав,бруно,булат,вадим,валентин,валерий,вальдемар,вальтер,"
        + "вардан,варлаам,варлам,варфоломей,василий,ватслав,велизар,велор,венедикт,вениамин,венцеслав,веньямин,викентий,"
        + "виктор,вилен,вилли,вильгельм,виссарион,виталий,витаутас,витольд,владилен,владимир,владислав,владлен,влас,володар,"
        + "всеволод,всеслав,вячеслав,гавриил,галактион,гамлет,гарри,гаяс,гевор,геворг,геннадий,генри,генрих,георгий,геральд,"
        + "герасим,герман,глеб,гоар,гордей,гордон,горислав,градимир,григорий,гурий,густав,давид,давлат,дамир,даниил,данил,"
        + "данила,данислав,даньяр,демид,демьян,денис,джамал,джеймс,джереми,джозеф,джордан,джорж,дик,димитрий,динар,динасий,"
        + "дмитрий,добрыня,дональд,донат,донатос,дорофей,евгений,евграф,евдоким,евсей,евстафий,егор,елизар,елисей,емельян,"
        + "еремей,ермолай,ерофей,ефим,ефрем,жан,ждан,жерар,закир,замир,заур,захар,зенон,зигмунд,зиновий,зураб,ибрагим,иван,"
        + "игнат,игнатий,игорь,иероним,измаил,израиль,иларион,илиан,илларион,ильхам,ильшат,илья,ильяс,инокентий,иоаким,"
        + "иоанн,ион,иосиф,ипполит,ираклий,иса,исаак,исидор,искандер,ислам,исмаил,казбек,казимир,камиль,карен,карим,карл,"
        + "касьян,ким,кир,кирилл,клавдий,клаус,клим,климент,клод,кондрат,константин,корней,корнилий,кузьма,лавр,лаврентий,"
        + "лазарь,ларион,лев,леван,левон,ленар,леон,леонард,леонид,леонтий,леопольд,лука,лукьян,любим,любомир,людвиг,люсьен,"
        + "люций,мавлюда,мадлен,май,майкл,макар,макарий,максим,максимильян,максуд,мансур,мануил,мар,марат,мариан,марк,"
        + "марсель,мартин,мартын,матвей,махмуд,мераб,мефодий,мечеслав,микула,милан,мирон,мирослав,митрофан,михаил,"
        + "мишлов,модест,моисей,мстислав,мурат,муслим,мухаммед,назар,назарий,наиль,натан,наум,нестор,никанор,никита,никифор,"
        + "никодим,никола,николай,никон,нильс,нисон,нифонт,норманн,овидий,олан,олег,олесь,онисим,орест,орландо,осип,оскар,"
        + "остап,павел,панкрат,пантелей,парамон,петр,платон,порфирий,потап,прокофий,прохор,пётр,равиль,радий,радик,радомир,"
        + "радослав,разиль,раис,райан,раймонд,рамазан,рамиз,рамиль,рамон,ранель,расим,расул,ратибор,ратмир,рафаил,рафаэль,"
        + "рафик,рашид,рем,ринат,рифат,рихард,ричард,роберт,родион,ролан,роман,ростислав,рубен,рудольф,руслан,рустам,руфин,"
        + "рушан,рэй,сабир,савва,савелий,самвел,самсон,самуил,святослав,севастьян,северин,семен,семён,серафим,сергей,сидор,"
        + "сократ,соломон,спартак,стакрат,станислав,степан,стефан,стивен,стоян,султан,тагир,таис,тайлер,талик,тамаз,"
        + "тамерлан,тарас,тельман,теодор,терентий,тибор,тиграм,тигран,тигрий,тимофей,тимур,тит,тихон,томас,трифон,трофим,"
        + "ульманас,ульян,умар,устин,фадей,фазиль,фанис,фарид,фархад,федор,федот,феликс,феодосий,фердинанд,фидель,филимон,"
        + "филипп,фирс,флорентий,фома,франц,фред,фридрих,фуад,фёдор,хабиб,хаким,харитон,харлам,христиан,христос,христофор,"
        + "цезарь,чарльз,чеслав,чингиз,шамиль,шарль,шерлок,эдвард,эдгар,эдмунд,эдуард,эльдар,эмиль,эмин,эммануил,эраст,эрик,"
        + "эрнест,юлиан,юлий,юнус,юрий,юхим,яков,ян,януарий,ярослав,ясон";
         
    ЖенскиеИмена = ",ава,августа,августина,авдотья,аврора,агапия,агата,агафья,аглая,агния,агриппина,агунда,ада,аделаида,"
        + "аделина,адель,адиля,адриана,аза,азалия,азиза,аида,аиша,ай,айару,айгерим,айгуль,айлин,айнагуль,айнур,айсель,айсун,"
        + "айсылу,аксинья,алана,алевтина,александра,алена,алеста,алина,алиса,алия,алла,алсу,алтын,альба,альбина,альфия,аля,"
        + "алёна,алена,амалия,амаль,амина,амира,анаит,анастасия,ангелина,анжела,анжелика,анисья,анита,анна,антонина,анфиса,"
        + "аполлинария,арабелла,ариадна,ариана,арианда,арина,ария,асель,асия,астрид,ася,афина,аэлита,аяна,бажена,беатрис,"
        + "бела,белинда,белла,берта,богдана,божена,бьянка,валентина,валерия,ванда,ванесса,варвара,василина,василиса,венера,"
        + "вера,вероника,веста,вета,викторина,виктория,вилена,виола,виолетта,вита,виталина,виталия,влада,владана,владислава,"
        + "власта,габриэлла,галина,галия,гаяна,гаянэ,генриетта,глафира,гоар,грета,гульзира,гульмира,гульназ,гульнара,"
        + "гульшат,гюзель,далида,дамира,дана,даниэла,дания,дара,дарина,дарья,даяна,джамиля,дженна,дженнифер,джессика,"
        + "джиневра,диана,дильназ,дильнара,диля,дилярам,дина,динара,долорес,доминика,домна,домника,ева,евангелина,евгения,"
        + "евдокия,евлампия,екатерина,елена,елизавета,есения,ефросиния,ефросинья,ея,жаклин,жанна,жансая,жасмин,жозефина,"
        + "жоржина,забава,заира,залина,замира,зара,зарема,зарина,земфира,зинаида,зиновия,зита,злата,златослава,зоряна,зоя,"
        + "зульфия,зухра,иветта,ивонна,изабелла,изольда,илина,иллирика,илона,ильзира,илюза,инга,индира,инесса,инна,иоанна,"
        + "ира,ирада,ираида,ирина,ирма,искра,ия,камила,камилла,капитолина,кара,каре,карима,"
        + "карина,каролина,кира,клавдия,клара,клеопатра,кора,корнелия,кристина,ксения,лада,лана,лара,лариса,лаура,лейла,"
        + "леона,лера,леся,лета,лиана,лидия,лиза,лика,лили,лилиана,лилит,лилия,лина,линда,лиора,лира,лия,лола,лолита,лора,"
        + "луиза,лукерья,лукия,луна,любава,любовь,людмила,люсиль,люсьена,люция,люче,ляйсан,ляля,мавиле,мавлюда,магда,"
        + "магдалeна,мадина,мадлен,майя,макария,малика,мара,маргарита,марианна,мариетта,марика,марина,мария,мариям,марта,"
        + "марфа,марья,марьяна,матрена,матрона,матрёна,мелания,мелисса,мика,мила,милада,милана,милен,милена,милица,"
        + "милослава,мира,мирослава,мирра,михримах,мишель,мия,моника,муза,надежда,наиля,наима,нана,наоми,наргиза,настасия,"
        + "настасья,наталия,наталья,нелли,нея,ника,николь,нина,нинель,номина,нонна,нора,нурия,одетта,оксана,октябрина,олеся,"
        + "оливия,олимпиада,ольга,офелия,павлина,памела,патриция,паула,пейтон,пелагея,перизат,платонида,полина,прасковья,"
        + "равшана,рада,разина,раиля,раиса,ралина,рамина,раяна,ребекка,регина,резеда,рена,рената,риана,рианна,рикарда,римма,"
        + "рина,рита,рогнеда,роза,роксана,роксолана,рузалия,рузанна,русалина,руслана,руфина,руфь,сабина,сабрина,сажида,"
        + "саида,салима,саломея,сальма,самира,сандра,сания,сара,сарра,сати,сауле,сафия,сафура,светлана,севара,селена,сельма,"
        + "серафима,сильвия,симона,снежана,соня,софия,софья,стелла,степанида,стефания,сусанна,таисия,таисья,тамара,тамила,"
        + "тара,татьяна,тая,таяна,теона,тереза,тея,тина,тиффани,томирис,тора,тэмми,ульяна,урсула,устиния,устинья,фазиля,"
        + "фаина,фарида,фариза,фатима,федора,фекла,фелисити,фелиция,феодора,феруза,физалия,фируза,флора,флорентина,"
        + "флоренция,флориана,фредерика,фрида,фёкла,хаврония,хадия,хилари,хлоя,христина,хюррем,цагана,цветана,цецилия,циара,"
        + "челси,чеслава,чулпан,шакира,шарлотта,шахина,шейла,шелли,шерил,эвелина,эвита,эдита,элеонора,элиана,элиза,элина,"
        + "элла,эльвина,эльвира,эльмира,эльнара,эля,эмили,эмилия,эмма,энже,эрика,эрмина,эсмеральда,эсмира,эстер,этель,этери,"
        + "юдифь,юлиана,юлианна,юлия,юна,юния,юнона,ядвига,яна,янина,ярина,ярослава,ясмина,";
                 
    Для Каждого Стр Из МассивФИО Цикл
        Если СтрНайти(МужскиеИмена, "," + Стр + ",") > 0 Тогда
            Возврат Перечисления.ПолФизическогоЛица.Мужской;
        ИначеЕсли СтрНайти(ЖенскиеИмена, "," + Стр + ",") > 0 Тогда
            Возврат Перечисления.ПолФизическогоЛица.Женский;
        КонецЕсли;
    КонецЦикла;
     
    // ШАГ 2.
    // Проверка по отчеству (RU).
    Если МассивФИО.Количество() = 3 Тогда
         
        Отчество = МассивФИО[2];
         
        Если СтрНайти(Отчество, "ович") > 0
            ИЛИ СтрНайти(Отчество, "евич") > 0
            ИЛИ СтрНайти(Отчество, "ич") > 0 Тогда
            Возврат Перечисления.ПолФизическогоЛица.Мужской;
        ИначеЕсли СтрНайти(Отчество, "овна") > 0
            ИЛИ СтрНайти(Отчество, "евна") > 0
            ИЛИ СтрНайти(Отчество, "ична") > 0 Тогда
            Возврат Перечисления.ПолФизическогоЛица.Женский;
        КонецЕсли;
         
    КонецЕсли;
                
    Возврат Неопределено;
     
КонецФункции
  • /sites/data/pages/funkcija_opredelenija_pola.txt
  • Последнее изменение: 2021/02/26 10:51
  • tro