Имя: Пароль:
1C
 
Срочно. Склонение ФИО в родительском падеже
0 Andruha
 
31.07.06
18:39
Кто подскажет как просклонять фио в род падеже
1 Just_Serg
 
31.07.06
18:39
кого? чего?
2 Andruha
 
31.07.06
18:40
Фамилию, Имя Отчетсво
3 Волшебник
 
31.07.06
18:41
ищи тут http://absur.da.ru/por~
4 gr13
 
31.07.06
18:42
(3) +1...
5 Евген_1С
 
31.07.06
18:43
На последнем ИТС ВК специальная есть для этого.
6 Вик
 
31.07.06
18:59
http://ndeclin.narod.ru/
(5) а как ее там найти?
7 Вик
 
31.07.06
19:01
кстати, а склонение наименований организаций?
8 Kraft
 
31.07.06
19:19
(7) тут чуть чуть сложнее :)
9 Долорес И
 
31.07.06
19:20
поищи разработку на проклубе. Автор - SuperJur. Это очень-очень небольшая функция, но склоняет во всех падежах довольно толково. :)
10 Евген_1С
 
31.07.06
19:45
(6)- А найти её очень просто - там в каждом подменю есть раздел, именуемый, кажется, "Новые и измененные разделы". В каком-то из них - ищи, вроде бы в разделе про 8.0, точно не помню, нет диска под рукой
11 Вик
 
31.07.06
19:52
(10) да, спасибо, нашел. это именно то из ссылки (6)
(9) ага,"крохотулька", прекрасно работает, правда если наименования организаций, то придется разбирать, из чего это наименование состоит, что само-по себе не всегда просто.
12 creator
 
31.07.06
21:19
Есть фамилии, которые склоняются в зависимости от пола ее носителя, причем пол из самой фамилии определить нельзя.
Например,
заказчик в лице Засулича Игоря и исполнитель в лице Засулич Ольги.
как отработать эту ситуацию?
13 creator
 
31.07.06
21:48
че то никто не отвечает,
а этот вопрос меня действительно интересует,
из-за этого пришлось в спр Физ лица вводить спецальные реквизиты -
ФИО в род падеже
14 Темный Эльф
 
31.07.06
21:55
(13)Существуют фамилии, которые имея одинаковый именительный падеж, могут склоняться по-разному. Например фамилия Заяц может склоняться  как Зайца и как Заяца (род. падеж).
15 creator
 
31.07.06
21:59
(14) да, с зайцем вообще реальные проблемы :)
16 Вик
 
03.08.06
12:02
17 skunk
 
03.08.06
12:04
// (c) Jurer Production Begin ( Start )
// Номер версии 20 от 14.10.2002 - оптимизация кода + можно склонять профессии - Падеж(Профессия,Падеж,4)
//
// Только не забывайте проголосовать "ИДЕЯ", а то программа будет работать неправильно!
// __________________________________________________________________
//
// SuperJur.Narod.Ru
//
// _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SuperJur _ _ _ _ _ _ _ _ _ _ _ _ _ _
//
// _ _ _ _ _ _ _ _ _ _ _ _ _ IQ = ICQ#: 164599984 _ _ _ _ _ _ _ _ _ _
// __________________________________________________________________
// Сообщения о недоточётах, замечания, пожелания шлите в мыло: UGeleznyakov@esv.ryazan.ru
// Гарантия 93 года и 8 месяцев!!!
// Послегарантийное обслуживание - бесплатно!!!
// Круглосуточная поддержка - все 24 часа в бою!
// Ссылка на источник обязательна!
// Эти программы защищены законом об авторских правах
// ПРОВЕРЕНО! ВИРУСОВ НЕТ!!! АНТИВИРУСОВ ТОЖЕ!!!
// SuperJur = Железняков Юрий Юрьевич ( Рязань - 2002 )

//*******************************************
// DeclineAdd(Name, Case = 2, Sex = "*")
//
// Параметры:
//  Value    - Строка. Фамилия, Имя или Отчество.
//  Case     - Число. В каком падеже склонять.
//               0 - ???
//               2 - родительный(нет кого?).
//               3 - дательный(кому?).
//               4 - винительный(вижу кого?).
//               5 - творительный(кем?).
//               6 - предложный(о ком?).
//             Параметр необязателен.
//             По умолчанию - 2.
//  Sex      - Число. Пол.
//               1 - мужской.
//               2 - женский.
//               3 - средний ;)).
//               4 - если склоняем профессию.
//             Параметр необязателен.
//             По умолчанию - 3.
//
// Возвращаемое значение:
//  Строка. Фамилию, Имя или Отчество
//          в нужном падеже.
//
// Описание:
//  Производит склонение по падежам
//  Фамилии, Имени или Отчества.
//
function DeclineAdd(Name, Case = 2, Sex = "*")
    Temp1 = right(Name, 2);
    Temp2 = ?(Temp1 = "ия", 7, find(".чайяь", right(Temp1, 1)));
    Temp3 = strlen(Name) - 2;
    return ?(Case = 1, Name,
           ?(Temp2 > 2, left(Name, Temp3 + 1),
           ?(Temp1 = "ел", right(Name, Temp3) + "л",
           ?(Temp1 = "ев", left(Name, Temp3) + "ьв", Name))) +
           ?(right(Name, 3) = "жан", "", trimr(mid("а у а оме           а у а еме " +
           ?(find("гжкхш", left(Temp1, 1)) > 0, "и", "ы") + " е у ойе я ю я еме и е ю ейе и и ь ьюи и и ю ейи", 10 *
           ?((Temp2 = 6) and (Sex = "ч"), 4, Temp2) + 2 * Case - 3, 2))));
endfunction

//*******************************************
// Decline(Value, Case = 2, Sex = 3)
//
// Параметры:
//  Value    - Строка. Фамилия, Имя или Отчество.
//  Case     - Число. В каком падеже склонять.
//               0 - ???
//               2 - родительный(нет кого?).
//               3 - дательный(кому?).
//               4 - винительный(вижу кого?).
//               5 - творительный(кем?).
//               6 - предложный(о ком?).
//             Параметр необязателен.
//             По умолчанию - 2.
//  Sex      - Число. Пол.
//               1 - мужской.
//               2 - женский.
//               3 - средний ;)).
//               4 - если склоняем профессию.
//             Параметр необязателен.
//             По умолчанию - 3.
//
// Возвращаемое значение:
//  Строка. Переданое для склонения строка.
//          в нужном падеже.
//
// Описание:
//  Производит склонение по падежам
//  Фамилии и профессии людей.
//
function Decline(Name, Case = 2, Sex = 3)
    Name = trimall(Name);
    Sex = mid("ча" + right(Name, 1) + "ч", Sex, 1);
    Temp1 = find(Name + " ", " ");
    if Case < 0 then
         Case = -Case;
         Temp2 = left(Name + " ", Temp1 + 1) + ". ";
         Name = strreplace(Temp2 + mid(Name, find(mid(Name + "  ", Temp1 + 2), " ") +
                strlen(Temp2) - 1, 1) + ".", " .", "");
    endif;
    Temp2 = left(Name, Temp1 - 1);
    Temp3 = right(Temp2, 3);
    Temp4 = right(Temp3, 2);
    Temp5 = right(Temp4, 1);
    Temp2 = ?(Sex = "а",
            ?((Temp5 = "а") and (Temp3 <> "ула") or (Temp4 = "ая"), left(Temp2, Temp1 -
            ?(Temp4 = "ая", 3, 2)) + mid(
            ?(Temp4 = "ая", Temp4, Temp5 + " ") +
            ?(Temp4 = "ка", "и е у ойе", "ойойу" +
            ?(Temp4 = "ая", "ю", " ") + "ойой"), Case * 2 - 1, 2), Temp2),
            ?(find("ой ый ий", Temp4) > 0,
            ?(find("Цц", mid(Temp2, Temp1 - 3, 1)) > 0, DeclineAdd(Temp2, Case),
            left(Temp2, Temp1 - 3) + mid("   огоомуого" +
            ?((Temp4 = "ий") or (Temp3 = "гой") or (Temp3 = "хой"), "и", "ы") + "м ом", Case * 3 - 2, 3)),
            ?(find("вт", Temp5) + find("ак ах ик им ин ич рг ын юк яр яш", Temp4) > 0, Temp2 +
            mid("  а у а " + mid("оыыые", find(" внтч", Temp5) + 1, 1) + "ме", Case * 2 - 1, 2), Temp2)));
    Temp5 = Temp1 + find(mid(Name + " ", Temp1 + 1), " ");
    return ?((Sex = "ч") and (Temp1 = strlen(Name) + 1), DeclineAdd(Name, Case), trimall(Temp2)) + " " +
           DeclineAdd(mid(Name, Temp1 + 1, Temp5 - Temp1 - 1), Case, Sex) + " " +
           DeclineAdd(mid(Name, Temp5 + 1, strlen(Name) - Temp5), Case, Sex);
endfunction
18 Каанкереде
 
03.08.06
12:05
Знаю человека. Яминшо Яминшо. Отчества у него нет. Как склонять будем?
19 skunk
 
03.08.06
12:06
колизии есть везде...
20 Каанкереде
 
03.08.06
12:08
(19) в арифметике нету...
21 skunk
 
03.08.06
12:10
(20)видать ты нету арифметеку учил
22 TDV
 
03.08.06
12:14
(21) +1
23 Вик
 
03.08.06
12:19
(17) Здорово, посмотрю поближе, кстати, а наименования организаций, и всякие прочие наименования. снабженные кучей прилагательных и прочая... возьмет?
24 skunk
 
03.08.06
12:20
(23)нет... только ФИО...
25 skunk
 
03.08.06
12:20
и только русские ФИО
26 Вик
 
03.08.06
12:23
(24) жаль, мне нужно всякие названия, например "отдельные боксы в составе подземной автостоянки" и прочее, что только придет в голову строителям, ил учредителям фирмы, когда они придумывают название своей любимой организации.
По ФИО я уже задействовал ndeclin
27 ВторНик
 
03.08.06
12:38
суцко...
28 Каанкереде
 
03.08.06
12:42
(21),(22) пример?
29 skunk
 
03.08.06
12:44
видал доказательства равенства 2 = 1
30 TDV
 
03.08.06
12:46
(28) В физике элементов, погрешность?
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс