Имя: Пароль:
1C
 
Набросайте вариантов для теста склонений, плиз (и увековечьте себя)
0 Гений 1С
 
гуру
29.05.08
18:14
Набросал функцию по тесту склонений.
Нужна база для тестов.

Предлагаю накидать тестов, кто сколько сможет, хотя бы просклонять свою фамилию в разных падежах, так вы увековечите себя в коде.
на всякий случай напоминаю падежи (именительный не надо):

//    Р - родительный (кого, чего)
//    Д - дательный  (кому, чему)
//    В - винительный (кого, что)
//    Т - творительный (кем, чем)
//    П - предложный (о ком, о чем)

Образец:

ДобавитьТест("Осипов Сергей Александрович", "М", "Р", "Осипова Сергея Александровича");
ДобавитьТест("Осипов Сергей Александрович", "М", "Д", "Осипову Сергею Александровичу");
ДобавитьТест("Осипов Сергей Александрович", "М", "В", "Осипова Сергея Александровича");
ДобавитьТест("Осипов Сергей Александрович", "М", "Т", "Осиповым Сергеем Александровичем");
ДобавитьТест("Осипов Сергей Александрович", "М", "П", "Осипове Сергее Александровиче");

Увековечь себя и прославь.
Помоги тестированию.
Функция 100% фриварная и антикопирайтная. В базе для тестов будет увековечено твое ФИО. ;-)

Обработку EPF для 8.1.11 можно погонять тут: http://slil.ru/25844030

//Благодарю за код krysa, SQL.ru
1 IT Михаил
 
29.05.08
18:28
паспортные данные не нужны?
2 Гений 1С
 
гуру
29.05.08
18:28
На очереди - склонения должностей, ну там попроще будет думаю...
3 Гений 1С
 
гуру
29.05.08
18:33
(1) Можешь выдумать... Просто нужны примеры для тестирования...
4 IT Михаил
 
29.05.08
18:39
так напиши процедурку выдумывалку этож твое хобби
5 Гений 1С
 
гуру
29.05.08
18:40
(4) А ты мен просклоняешь? Сколько ты мне просклоняешь? 20, 30, 100 ФИО?
6 Гений 1С
 
гуру
29.05.08
18:44
(4) А то смотри, вышлю тебе телефонный справочник Москвы. Просклоняешь мне. ;-)
7 Живой Ископаемый
 
29.05.08
18:46
гы... Можно взять книжку... ну например Дюну... и просклонять там Лито Атридес, Данкан Айдахо, Гурни Хелек и т.п....
Потом переключиться скажем на властелина колец, и там уже не ограничиваться Бильбо Торбинсом...
8 Гений 1С
 
гуру
29.05.08
18:48
(7) Ну просклоняй, проверим мощь алгоритма. ;-)
9 Гений 1С
 
гуру
29.05.08
18:48
(7) Код то опен сорсный, заодно его улучшим...
10 Живой Ископаемый
 
29.05.08
18:54
самая жесть, наверное взять родословную Исуса из евангнелия от Матвея....  имена там забористые - Аминодав, Фарес, Фомарь, Ровоам, Салафииль...
11 Гений 1С
 
гуру
29.05.08
18:56
(10) Имена то забористые, да язык то русский... ;-)
Достаточно последних трех букв имени, фамилии и отчества.
12 Гений 1С
 
гуру
29.05.08
18:56
(10) А Салафииль - это М или Жо?
13 IT Михаил
 
29.05.08
18:58
(11)если достаточно то делай процедуру которая тебе их эти трехбуквы сгенерит
но воще задача в общем виде невыполнима
14 IT Михаил
 
29.05.08
19:00
к (13) полным перебором и радуйся как свалится твой алгоритм
15 Живой Ископаемый
 
29.05.08
19:01
12 ща, погоди...я ж могу изменить обработку?
И наперед спрашиваю, ей пофиг в каком порядке идут имя-фамилия, и не обязательно ведь отчество?
16 Гений 1С
 
гуру
29.05.08
19:06
(15) Нет, ФИО должны идти в правильном порядке. Функция склонения вообще получает Фамилию, Имя или Отчество. А разбор ФИО на Ф, И, О сделан для удобства тестирования.

Пишите по образцу!

(13) Да что ты трендишь?
Найдем исключения - добавим в список и все, трандец...
1С вон компоненту сделала для склонения и ничего не жужжит. А мы тут опен сорс замутим.
17 Гений 1С
 
гуру
29.05.08
19:07
(14) А кто мне будет проверять полный перебор. Мне нужне образец и как он должен быть просклонен.
18 Гений 1С
 
гуру
29.05.08
19:07
(15) Изменить можешь, це опен-сорс...
Я буду накапливать ошибки и публиковать на инфостарте очередной релиз...
19 Гений 1С
 
гуру
29.05.08
19:08
Да, забыл сказать "М" - это мужской пол, "Ж" - женсткий
20 Живой Ископаемый
 
29.05.08
19:10
(16) Дяденька, следование после фамилии имени и отчества характерно только для русского, корейского, китайского, еще некоторых языков.. для большинства европейских характерно Имя Фамилия без отчества, для Исландского Имя Отчетсво...
Может быть можно было бы на это и забить, если не учитывать глобализации в том числе и российской экономики и участия инородцев как среди руководства так и рядового состава компаний...
а?
21 IT Михаил
 
29.05.08
19:10
я чет не пойму она что будет склонять только то что присылали?
22 Живой Ископаемый
 
29.05.08
19:12
ну то есть понятно, что они все равно будут склонятся по правилам русского языка, мы же не будем учитывать тот факт, что в лезгинском языке кажися 11 падежей... Но ФИО жестко как Ф,и и О - все-таки имхо не правильно
23 Живой Ископаемый
 
29.05.08
19:12
2(21) Нет, глянь в код... то что поприсылали - нужно для теста. он окончания слов анализирует
24 IT Михаил
 
29.05.08
19:17
все понятно только врядли кто то потратит время что бы просклонять хотя бы свое фио
25 Гений 1С
 
гуру
29.05.08
19:21
(24) Тупые, ленивые 1сники. Им даже лень помочь тестированию опенсорсной функции, написанной для них же, зато folding вычисления разворачивать для буржуев - они первые... Тьфу!
26 Гений 1С
 
гуру
29.05.08
19:21
Ладно, Просклоняйете ВВП и Дибилана хотя бы.
27 Поручик
 
29.05.08
19:21
выйди в аську
28 Гений 1С
 
гуру
29.05.08
19:23
ДобавитьТест("Жириновский Владимир Вольфович", "М", "Р", "Жириновского Владимира Вольфовича");
ДобавитьТест("Жириновский Владимир Вольфович", "М", "Д", "Жириновскому Владимиру Вольфовичу");
ДобавитьТест("Жириновский Владимир Вольфович", "М", "В", "Жириновского Владимира Вольфовича");
ДобавитьТест("Жириновский Владимир Вольфович", "М", "Т", "Жириновским Владимиром Вольфовичем");
ДобавитьТест("Жириновский Владимир Вольфович", "М", "П", "Жириновском Владимире Вольфовиче");
29 Sol78
 
29.05.08
20:15
(25) тупой тут только один, уже все давно придумано, кода - копейки, известна всему рунету
30 Sol78
 
29.05.08
20:15
+(29)

// z1 - фамилия имя отчество например Железняков Юрий Юрьевич
// z2 - Падеж ( по  умолчанию = 2 - родительный)
// 2 - родительный  ( нет кого?    ) Железнякова Юрия Юрьевича    
// 3 - дательный    ( кому?        ) Железнякову Юрию Юрьевичу
// 4 - винительный  ( вижу кого?   ) Железнякова Юрия Юрьевича  
// 5 - творительный ( кем?         ) Железняковым Юрием Юрьевичем    
// 6 - предложный   ( о ком?       ) Железнякове Юрии Юрьевиче
// Если задать Z2 меньше 0, то на выходе получим от -1=Железняков Ю. Ю. до -6=Железнякове Ю. Ю.
// z3 - параметр Пол может не указываться, но при наличии фамилий с
// инициалами точное определение пола невозможно, поэтому предлагается задавать пол этим
// параметром  1 - мужской 2 - женский  
// ДЛЯ СКЛОНЕНИЯ ПРОФЕССИЙ ИСПОЛЬЗУЙТЕ ФУНКЦИЮ ПАДЕЖП И БУДЕТ ВАМ СЧАСТЬЕ!
// ---------------------------------------------------------------------------------------
// Бибик Галушка Цой Николайчик Наталия Петровна Герценберг Кривошей Капица-Метелица
// Если Падеж(Фио ,1 ,3),       то на выходе получим Фамилия Имя Отчество и т.д.
// Если Падеж(Фио ,1 ,3,"1" ),  то                   Фамилия
// Если Падеж(Фио ,1 ,3,"2" ),  то                   Имя
// Если Падеж(Фио ,1 ,3,"3" ),  то                   Отчество
// Если Падеж(Фио, 1 ,3,"12" ), то                   Фамилия Имя
// Если Падеж(Фио, 1 ,3,"23" ), то                   Имя Отчество
// Если Падеж(Фио,-1 ,3,"231" ),то                   И. О. Фамилия
// Если Падеж(Фио,-1 ,3,"23" ), то                   И. О.  
// 10-11-2003 3-20
Функция Падеж(z1,z2=2,z3=3,z4="123",z5=1) Экспорт
   z6=Нрег(Прав(СокрП(z1),4));
   z7=Прав(z6,1);
 Возврат?(z5<4,Падеж(СокрЛП(СтрЗаменить(Сред(z1,Найти(z1+" "," ")+1),".",". ")),z2,z3,СтрЗаменить(z4,z5,ПадежС(?((z5=3)и(z7="ы"),z1,Лев(z1,Найти(z1+" "," ")-1)),z2,Сред("ча"+z7,?(z3=3,?(z6="оглы",1,?(z6="кызы",1,3)),z3),1),z5)+" "),z5+1),z4);
КонецФункции

Функция ПадежП(Знач z1,Знач z2,z3=0) Экспорт
 z1=СокрЛП(z1);z4=Найти(z1+" "," ")+1;z5=Лев(z1,z4-2);z6=Прав(z5,2);
 z7=?((Найти("ая ий ый",z6)>0)и(Найти("ющий нный",Сред(z1,z4-5,4))=0)и(z3=0),"1","*");
Возврат НРег(?((z6="ая")или(Прав(z6,1)="а"),ПадежС(z5,z2,z7,1)+" "+ПадежС(Сред(z1,z4),z2),ПадежС(z5,z2,"ч",1)+?((z6="ий")и(Найти(z1," ")=0),""," "+?(z7="1",ПадежП(Сред(z1,z4),z2,Число(z7)),Сред(z1,z4)))));
КонецФункции
31 Sol78
 
29.05.08
20:17
(30) промахнулся маленько, вот полный вариант:

// (c) Jurer Production Begin ( Start )
// В случае, если программа окажется для Вас полезной, и Вы представляете только свои интересы, а не интересы фирмы,
// автор будет весьма признателен, если Вы перечислите ему, то есть мне, некую сумму на Ваше усмотрение
// Счет для я-деньги: 4100131343416 - будьте ж несдержаней в своих инициативах
//
// http://superjur.narod.ru
//
// Удаление этих строк незнаконно!
// Гарантия 91 года и 1 месяц!!!
// Послегарантийное обслуживание - бесплатно!!!
// Круглосуточная поддержка - все 48 часов в бою!
// Ссылка на источник обязательна!
// Эти программы защищены законом об авторских правах. Запрещается перепродажа данной программы. Продажа тоже запрещена.
// ПРОВЕРЕНО! ВИРУСОВ НЕТ!!! АНТИВИРУСОВ ТОЖЕ!!!
// Смотри Милячуша в творительном !!
// скупой слепой тупой - пропой!!
// !№№!
// !57! поправки для творительного падежа на -ин -ов окончание -ым, -ич -ыш окончание -ем, иначе -ом
// !56! укратил
// !55! ПадежЫ - для оглы и кызы
// !54!
// !53! Очередное сокращение кода
// !51! Прегромадное спасибо Олегу Дубровскому за оказанную моральную, информационную и материальную поддержку сего проекта.
//      Сергею Толкачёву за напоминание о том, что в русском языке всегда есть место исключениям!
// !50! П:Ответственный за электрохозяйство  Ф:Ацута Груша  
// !48! исправлена ошибка при склонении фамилий (спасибо, Mario).
// !47! исправлена ошибка при склонении профессий ( спасибо, Павел Ковалев).
// !46! оптимизация + четвертый параметр задает, что вернуть - фамилия, имя или отчество или всё сразу в нужном падеже
// !42! Осел + Соловей + Воробей + Немец + Кормилец + Силиец
// !41! отчества оканчивающиеся на "ы" считаются женскими ?
// Функция для склонения одного слова!!!
// z1 - само слово
// z2 - номер падежа
// z3 - пол
// z4 - 1-склонять как фамилию, 2-имя, 3-отчество
Функция ПадежС(z1,Знач z2=2,Знач z3="*",z4=0) Экспорт
 z5=Найти(z1,"-");
 z6=?(z5=0,"","-"+ПадежС(Сред(z1,z5+1,СтрДлина(z1)-z5+1),z2,z3,z4));
 z1=НРег(?(z5=0,z1,Лев(z1,z5-1)));
 z7=Прав(z1,3);z8=Прав(z7,2);z9=Прав(z8,1);
 z5=СтрДлина(z1);
 za=Найти("ая ия ел ок яц ий па да ца ша ба та га ка",z8);
 zb=Найти("аеёийоуэюяжнгхкчшщ",Лев(z7,1));
 zc=Макс(z2,-z2);
 zd=?(za=4,5,Найти("айяь",z9));
 zd=?((zc=1)или(z9=".")или((z4=2)и(Найти("оиеу"+?(z3="ч","","бвгджзклмнпрстфхцчшщъ"),z9)>0))или((z4=1)и(Найти("мия мяэ лия кия жая лея",z7)>0)),9,?((zd=4)и(z3="ч"),2,?(z4=1,?(Найти("оеиую",z9)+Найти("их ых аа еа ёа иа оа уа ыа эа юа яа",z8)>0,9,?(z3<>"ч",?(za=1,7,?(z9="а",?(za>18,1,6),9)),?(((Найти("ой ый",z8)>0)и(z5>4)и(Найти("опой вбой",Прав(z1,4))=0))или((zb>10)и(za=16)),8,zd))),zd)));
 ze=Найти("лец нёк вей бей дец пец мец нец рец вец аец иец ыец бер",z7);
 zf=?((zd=8)и(zc<>5),?((zb>15)или(Найти("жий ний",z7)>0),"е","о"),?(z1="лев","ьв",?((Найти("аеёийоуэюя",Сред(z1,z5-3 ,1))=0)и((zb>11)или(zb=0))и(ze<>49),"",?(za=7,"л",?(za=10,"к",?(za=13,"йц",?(ze=0,"",?(ze<16,"ь"+?(ze=1,"ц",?(ze=5,"к","")),?(ze<41,"ц",?(ze<53,"йц","р"))))))))));
 zf=?((zd=9)или((z4=3)и(Прав(z1,1)="ы")),z1,Лев(z1,z5-?((zd>6)или(zf<>""),2,?(zd>0,1,0)))+zf+СокрП(Сред("а у а "+?((z8="ич")или(z8="ыш"),"е",?((z8="ов")or(z8="ин"),"ы","о"))+"ме "+?(Найти("гжкхш",Лев(z8,1))>0,"и","ы")+" е у ойе я ю я ем"+?(za=16,"и","е")+" и е ю ейе и и ь ьюи и и ю ейи ойойу ойойойойуюойойгомуго"+?((zf="е")или(za=16)или((zb>12)и(zb<16)),"и","ы")+"мм",10*zd+2*zc-3,2)));
Возврат ?(""=z1,"",?(z4>0,ВРег(Лев(zf,1))+?((z2<0)и(z4>1),".",Сред(zf,2)),zf)+z6);
КонецФункции
//_____________________________________________________________________________
// z1 - фамилия имя отчество например Железняков Юрий Юрьевич
// z2 - Падеж ( по  умолчанию = 2 - родительный)
// 2 - родительный  ( нет кого?    ) Железнякова Юрия Юрьевича    
// 3 - дательный    ( кому?        ) Железнякову Юрию Юрьевичу
// 4 - винительный  ( вижу кого?   ) Железнякова Юрия Юрьевича  
// 5 - творительный ( кем?         ) Железняковым Юрием Юрьевичем    
// 6 - предложный   ( о ком?       ) Железнякове Юрии Юрьевиче
// Если задать Z2 меньше 0, то на выходе получим от -1=Железняков Ю. Ю. до -6=Железнякове Ю. Ю.
// z3 - параметр Пол может не указываться, но при наличии фамилий с
// инициалами точное определение пола невозможно, поэтому предлагается задавать пол этим
// параметром  1 - мужской 2 - женский  
// ДЛЯ СКЛОНЕНИЯ ПРОФЕССИЙ ИСПОЛЬЗУЙТЕ ФУНКЦИЮ ПАДЕЖП И БУДЕТ ВАМ СЧАСТЬЕ!
// ---------------------------------------------------------------------------------------
// Бибик Галушка Цой Николайчик Наталия Петровна Герценберг Кривошей Капица-Метелица
// Если Падеж(Фио ,1 ,3),       то на выходе получим Фамилия Имя Отчество и т.д.
// Если Падеж(Фио ,1 ,3,"1" ),  то                   Фамилия
// Если Падеж(Фио ,1 ,3,"2" ),  то                   Имя
// Если Падеж(Фио ,1 ,3,"3" ),  то                   Отчество
// Если Падеж(Фио, 1 ,3,"12" ), то                   Фамилия Имя
// Если Падеж(Фио, 1 ,3,"23" ), то                   Имя Отчество
// Если Падеж(Фио,-1 ,3,"231" ),то                   И. О. Фамилия
// Если Падеж(Фио,-1 ,3,"23" ), то                   И. О.  
// 10-11-2003 3-20
Функция Падеж(z1,z2=2,z3=3,z4="123",z5=1) Экспорт
   z6=Нрег(Прав(СокрП(z1),4));
   z7=Прав(z6,1);
 Возврат?(z5<4,Падеж(СокрЛП(СтрЗаменить(Сред(z1,Найти(z1+" "," ")+1),".",". ")),z2,z3,СтрЗаменить(z4,z5,ПадежС(?((z5=3)и(z7="ы"),z1,Лев(z1,Найти(z1+" "," ")-1)),z2,Сред("ча"+z7,?(z3=3,?(z6="оглы",1,?(z6="кызы",1,3)),z3),1),z5)+" "),z5+1),z4);
КонецФункции

Функция ПадежП(Знач z1,Знач z2,z3=0) Экспорт
 z1=СокрЛП(z1);z4=Найти(z1+" "," ")+1;z5=Лев(z1,z4-2);z6=Прав(z5,2);
 z7=?((Найти("ая ий ый",z6)>0)и(Найти("ющий нный",Сред(z1,z4-5,4))=0)и(z3=0),"1","*");
Возврат НРег(?((z6="ая")или(Прав(z6,1)="а"),ПадежС(z5,z2,z7,1)+" "+ПадежС(Сред(z1,z4),z2),ПадежС(z5,z2,"ч",1)+?((z6="ий")и(Найти(z1," ")=0),""," "+?(z7="1",ПадежП(Сред(z1,z4),z2,Число(z7)),Сред(z1,z4)))));
КонецФункции


Исходник на http://1c.proclub.ru/modules/mydownloads/personal.php?cid=1&lid=1545
32 Sol78
 
29.05.08
20:19
Описалово с проклуба:

Шесть в одной - все падежи в одной программе!
Удачное решение для вашего бизнеса!
Получите удовольствие от работы программы и скорости обработки.

Склоняет ФИО, профессии, а также большую часть существительных русского языка.

ФИО может быть одинарным, двойным, тройным и даже тристачетырным!

14-07-2006 - что-то еще укоротил код.
23-09-2005 - подписал код под кызы и оглы.

17-11-2003 - от использования рекурсии функция падеж неожиданно уменьшилась до одной строки. Внимание! Поменялся тип 4-го входного параметра ( теперь это строка; см. описание ). Зацените рекурсию!!!
25-08-2003 - научились склонять составные фамилии (фамилии разделенные "-")
19-05-2003 новая программа, написанная специально для склонения профессий.
15-05-2003 добавлен входной параметр, позволяющий из ФИО сделать ИОФ
09-10-2002 - оптимизация кода + увеличение возможностей - теперь, если указать падеж <0 [-6 до -1], то на выходе из "Фамилия Имя Отчество" получим "Фамилия И. О." в соответствующем падеже.

Незаменимая вещь для тех, кто работает с бухгалтерскими документами, т.к. в некоторых документах требуется не именительный падеж, а любой другой.

Добавьте сие творение в свою сокровищницу программ и ваши шедевры обретут ту самую изюминку, от которой пользователи будут лишь восхищенно стонать и кушать Вас томными глазами, не в силах сказать и слова!
Только не забывайте проголосовать "Идея", а то программа будет работать неправильно!

( Нет - зарплате в конвертах, да - зарплате в бандеролях. ) (с) Sj
33 Sol78
 
29.05.08
20:37
Фикса гляжу и там успел засветится (на проклубе), обосрал создателя, потому что не смог разобраться в код. LOL
34 Гений 1С
 
гуру
30.05.08
09:37
(29)(30)(31) Дятел, сравни два кода. Какой из них легче сопровождать и воспринимать?
(33) А ты смог? Я пишу код так, чтобы он был понятен даже дятлу, а не только сенсеям, чтобы его легко было сопровождать и модифицировать.

Вот мой код, так, для сравнения:


Функция обСлужПроверитьДляСклонения(П, Строка)
   Перем ТекСтрока;
   ТекСтрока="";
   Поз=1;
   Всего=СтрДлина(Строка);
   Пока Поз<=Всего Цикл
       ТекСимвол=Сред(Строка,Поз, 1);
       Если ТекСимвол<>" " Тогда
           ТекСтрока=ТекСтрока+ТекСимвол;
       КонецЕсли;
       Если ТекСимвол=" " ИЛИ Поз=Всего Тогда
           Если СтрДлина(ТекСтрока)=1 Тогда
               Если П.ПравыеБуквы1=ТекСтрока Тогда
                   Возврат истина;
               КонецЕсли;
           ИначеЕсли СтрДлина(ТекСтрока)=2 Тогда
               Если П.ПравыеБуквы2=ТекСтрока Тогда
                   Возврат истина;
               КонецЕсли;
           ИначеЕсли СтрДлина(ТекСтрока)=3 Тогда
               Если П.ПравыеБуквы3=ТекСтрока Тогда
                   Возврат истина;
               КонецЕсли;
           КонецЕсли;        
           ТекСтрока="";
       КонецЕсли;
       Поз=Поз+1;
   КонецЦикла;
   Возврат ложь;
КонецФункции


//Строка - склоняемая строка
//Вид - Фамилия, Имя, Отчество, Должность
//Пол - М или Ж
//Падеж:
//    И - именительный (кто, что)
//    Р - родительный (кого, чего)
//    Д - дательный  (кому, чему)
//    В - винительный (кого, что)
//    Т - творительный (кем, чем)
//    П - предложный (о ком, о чем)
Функция обСклонениеСтроки(Строка, Падеж, Вид, Пол)
   //Благодарю за код krysa, SQL.ru
   
   П=Новый Структура();
   
   П.Вставить("ПравыеБуквы1", ВРЕГ(Прав(СокрЛП(Строка),1)));
   П.Вставить("ПравыеБуквы2", ВРЕГ(Прав(СокрЛП(Строка), 2)));
   П.Вставить("ПравыеБуквы3", ВРЕГ(Прав(СокрЛП(Строка), 3)));
   П.Вставить("ЗаканчиваетсяНаСогласную", Найти("БВГДЖЗКЛМПРСТФХЦЧШЩ", П.ПравыеБуквы1)<>0);
   П.Вставить("ЗаканчиваетсяНаГласную", НЕ П.ЗаканчиваетсяНаСогласную);
   
   НовыеПравые1 = Неопределено;
   НовыеПравые2 = Неопределено;
   НовыеПравые3 = Неопределено;
   НовыеПравыеДобавить = Неопределено;
   
   //CКЛОНЕНИЕ ФАМИЛИИ
   Если Вид = "Фамилия" Тогда
       
       Если Падеж = "П" Тогда
           //Предложный (о ком о чем)
           Если обСлужПроверитьДляСклонения(П, "ИН ЫН ЯК ЕВ ОВ") Тогда
               НовыеПравыеДобавить = "е";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           //Винительный (кого, что)
           Если обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИН ЫН ЯК ЕВ ОВ")  Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ую";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Т" Тогда
           //Творительный (Кем, Чем)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЕВ ОВ")  Тогда
               НовыеПравыеДобавить = "ым";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ЯК")  Тогда
               НовыеПравыеДобавить = "ом";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
               НовыеПравые1 = "м";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           //Родительный (Кого, Чего)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЯК ЕВ ОВ")  Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           //Дательный (Кому, Чему)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЯК ЕВ ОВ УК")  Тогда
               НовыеПравыеДобавить = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИЙ")  Тогда
               НовыеПравые2 = "ому";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
       КонецЕсли;
       
   ИначеЕсли Вид="Имя" Тогда
       
       //СКЛОНЕНИЕ ИМЕНИ
       
       Если Падеж = "Т" Тогда
           
           //Творительный (Кем, Чем)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
                   НовыеПравые3 = "лом";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "ем";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "ом";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые2 = "ей";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые2 = "ем";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые2 = "ю";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "ой";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "ей";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "П" Тогда
           
           //Предложный (О ком о чем)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
                   НовыеПравые3 = "ле";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
                   НовыеПравые1 = "и";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые2 = "е";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЯ")  Тогда
                   НовыеПравые1 = "и";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "и";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           
           //Винительный (кого, что)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
                   НовыеПравые3 = "ла";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "я";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "а";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "ю";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "я";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "у";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "ю";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           
           //Родительный (Кого, Чего)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "я";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "а";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "и";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "я";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "у";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "ю";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           
           //Дательный (Кому, Чему)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
                   НовыеПравые1 = "лу";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "ю";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "у";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "ю";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЯ")  Тогда
                   НовыеПравые1 = "и";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "и";
               КонецЕсли;
           КонецЕсли;
           
       КонецЕсли;
       
   ИначеЕсли Вид="Отчество" Тогда
       
       //СКЛОНЕНИЕ ОТЧЕСТВА
       
       Если Падеж = "Т" Тогда
           //Творительный (Кем, Чем)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "ем";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "ой";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "П" Тогда
           
           //Предложный (О ком о чем)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "е";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "е";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           
           //Винительный (кого, что)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "а";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "у";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           
           //Родительный (Кого, Чего)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "а";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "ы";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           
           //Дательный (Кому, Чему)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "у";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "е";
               КонецЕсли;
           КонецЕсли;
           
       КонецЕсли;

   КонецЕсли;
   
   //Проверяем
   Если НовыеПравые1 <> Неопределено Тогда
       Р = Сред(Строка, 1, СтрДлина(Строка)-1) + НовыеПравые1;
   ИначеЕсли НовыеПравые2 <> Неопределено Тогда
       Р = Сред(Строка, 1, СтрДлина(Строка)-2) + НовыеПравые2;
   ИначеЕсли НовыеПравые3 <> Неопределено Тогда
       Р = Сред(Строка, 1, СтрДлина(Строка)-3) + НовыеПравые3;
   ИначеЕсли НовыеПравыеДобавить <> Неопределено Тогда
       Р = Строка + НовыеПравыеДобавить;
       НовыеПравыеДобавить = Неопределено;
   Иначе
       Р=Строка;
   КонецЕсли;
   
   Возврат Р;
КонецФункции





Народ, в виде апа. Набросайте тестов, вам че, жалко?
35 Гений 1С
 
гуру
30.05.08
10:36
Обновил.
http://slil.ru/25846251
В новой версии доступны тесты должностей, можно накидывать и тесты должностей.

ДобавитьТестДолжности("Руководитель", "Р", "Руководителя");
ДобавитьТестДолжности("Руководитель", "Д", "Руководителю");
ДобавитьТестДолжности("Руководитель", "В", "Руководителя");
ДобавитьТестДолжности("Руководитель", "Т", "Руководителем");
ДобавитьТестДолжности("Руководитель", "П", "Руководителе");

ДобавитьТестДолжности("Генеральный директор", "Р", "Генерального директора");
ДобавитьТестДолжности("Генеральный директор", "Д", "Генеральному директору");
ДобавитьТестДолжности("Генеральный директор", "В", "Генерального директора");
ДобавитьТестДолжности("Генеральный директор", "Т", "Генеральным директором");
ДобавитьТестДолжности("Генеральный директор", "П", "Генеральном директоре");

ДобавитьТестДолжности("Водитель", "Р", "Водителя");
ДобавитьТестДолжности("Водитель", "Д", "Водителю");
ДобавитьТестДолжности("Водитель", "В", "Водителя");
ДобавитьТестДолжности("Водитель", "Т", "Водителем");
ДобавитьТестДолжности("Водитель", "П", "Водителе");

ДобавитьТестДолжности("Заведущая", "Р", "Заведущую");
ДобавитьТестДолжности("Заведущая", "Д", "Заведущей");
ДобавитьТестДолжности("Заведущая", "В", "Заведущую");
ДобавитьТестДолжности("Заведущая", "Т", "Заведущей");
ДобавитьТестДолжности("Заведущая", "П", "Заведущей");


ДобавитьТестДолжности("Уборщица", "Р", "Уборщицу");
ДобавитьТестДолжности("Уборщица", "Д", "Уборщице");
ДобавитьТестДолжности("Уборщица", "В", "Уборщицу");
ДобавитьТестДолжности("Уборщица", "Т", "Уборщицей");
ДобавитьТестДолжности("Уборщица", "П", "Уборщице");
36 Гений 1С
 
гуру
30.05.08
10:40
(33) Кстати, если накопится большая библиотека тестов, можно протестировать и крохотульку, меня удивляет, что ее автор не набросал тестов, доказывающих работоспособность программы.
37 MaxS
 
30.05.08
10:47
(0) берем ЗУП и видим такой нехитрый код:
КомпонентаСклоненияФИО = глЗначениеПеременной("глКомпонентаСклоненияФИО");
УниверсальныеМеханизмы.Просклонять(КомпонентаСклоненияФИО, ФИОСотрудника, 2, ФИОСотрудника);

// Функция склоняет переданую фразу
// Параметры:
//  Фраза (обязательный), тип строка
//   Параметр должен содержать фразу. Каждое слово фразы будет просклонено отдельно
//
//  Падеж (обязательный), тип число
//   Падеж, в который необходимо поставить ФИО.
//   1 - Именительный
//   2 - Родительный
//   3 - Дательный
//   4 - Винительный
//   5 - Творительный
//   6 - Предложный
//
Функция Просклонять(Компонента, Знач Фраза = "", Падеж = 1, Результат) Экспорт
38 Гений 1С
 
гуру
30.05.08
10:51
(37) Ой, ты мне прямо глаза открыл... А ты посмотрел, что код делает? Он обращается к клоузе-соурс функции, реализованной во внешней компоненте. Нафига для склонений ВК? Не уподобляйтесь дятлу!
39 MaxS
 
30.05.08
10:54
(38) ну если я заказчику буду делать внешний отчетик для ЗУП, то наверное целесообразнее будет воспользоваться типовыми механизмами ;)
ладно, это уже оффтопик ;)
40 Filippov
 
30.05.08
11:06
Ибрагим Оглы
Джаваншир Наргиз Абдул Гамид Кызы
... Любовь-Роза ...
41 Гений 1С
 
гуру
30.05.08
11:24
(39) Это другой случай... Ради склонения юзать ВК, это из пушки по воробьям.

(40) Пример по форме, пожалуйста.
42 Гений 1С
 
гуру
30.05.08
11:25
(40) Для таких случаев есть возможность склонения одного слова, можете ее проверить. ;-) Т.е. Ибрагим - это Имя, а Оглы - фамилия? ;-)
Поставьте для теста Ибрагим Адольфович Оглы... ;-)
Или вызовите функцию склонения именно имени.
43 Filippov
 
30.05.08
11:26
(2) А по поводу простоты склонения должностей Вы сильно упрощаете - если делать не очень упрощённый и ограниченный вариант, то придется принять во внимание грамматику великого-могучего...
44 Гений 1С
 
гуру
30.05.08
11:37
(43) Может быть может-быть... На самом деле проще забить исключения в словарь... Для этого и нужны тесты...
45 Гений 1С
 
гуру
30.05.08
11:38
Тогда и только тогда, когда будут тесты, можно будет проверить как работает склонение у меня, в крохотульке и в компоненте 1це.
46 Гений 1С
 
гуру
30.05.08
11:38
Например. В должностях если встречается слово "по" то дальше не менять...
47 Гений 1С
 
гуру
30.05.08
11:39
Заведующий по материальной части, f.e.
48 Фокусник
 
30.05.08
11:43
(42) Оглы - это не имя и не фамилия, и даже не отчество - это "мальчик", а Кызы - "девочка". Так что можешь пол по этому признаку определять (;
49 Гений 1С
 
гуру
30.05.08
11:44
(48) А что компонента 1С, как ибрагима просклоняла?
50 Гений 1С
 
гуру
30.05.08
11:45
(48) Типо мистер или сударь?
51 Lmn
 
30.05.08
11:49
(0) Плин, круто! Рад бы себя увековечить, да не страдаю манией величия. :)
52 Фокусник
 
30.05.08
11:50
(50) видимо... во всяком случае мне так одна знакомая "кызы" объяснила (:
53 Sol78
 
30.05.08
12:43
(44) Охрененный подход. Нафига нам алгоритмы, забьём всё тупо в исключения.
Крохотулька известна с хрен знает какого года, её ещё в 6.0 приделывали, как я понял.

И оттестирована соотвественно не на 10 и не на 20 словах. А на реальных базах в течении многих лет, только на проклубе 16-ть листов комментариев. А её часто, как раз из-за маленького размера, просто приводят в виде текста на разных форумах, что я неоднократно и видел.

На партнерском уже есть несколько замечаний к их внешненй компоненте, а крохотулька в тех случаях работает
54 animatic
 
30.05.08
12:49
Алиева Райсат и подобные как склоняются в твоей компоненте, 1С-овская не смогла правильно просклонять, о чем я им на партнерском писал.
55 Живой Ископаемый
 
30.05.08
12:50
(0)
http://docs.google.com/Doc?id=df8g2nxh_30d5q4zrdx

Если чо непонятно - спрашивай...
56 Живой Ископаемый
 
30.05.08
12:56
Ну, то есть, если уж я задаю пол М - то фамилию Бегбедер надо бы склонять... если Ж - то не надо... Но имя нужно склонять и в Ж, а то как-то некошерно...
57 Живой Ископаемый
 
30.05.08
12:57
И опять же, почему в творительном падеже женский род будет Астридом, а не Астридой?
58 Гений 1С
 
гуру
30.05.08
13:07
(53) Подход к тестированию в корне неверный. Должна быть база тестов, вот ее и можно тестировать... Извините, сопровождать Крохотульку невозможно. Уродство, а не код.. И это не имхо, а объективная реальность...
59 Гений 1С
 
гуру
30.05.08
13:08
(53) Еще раз - база тестов позволит протестировать все модули склонения - мой, партнерский и крохотульку. Бывают знаете ли привнесенные ошибки, которые возникают при правке...
Так что лучше помогите создать базу тестов.
60 Гений 1С
 
гуру
30.05.08
13:09
(53) я как раз алгоритмы и юзаю...
Проверьте ка, как крохотулька просклоняет "Заместитель бухгалтера по художественной самодеятельности и цирковому мастерству"
61 Гений 1С
 
гуру
30.05.08
13:10
(55) а это ты что тестировал? Мою обработку или что?
62 Гений 1С
 
гуру
30.05.08
13:12
Я написал эту херню, потому что крохотулька у меня выдавала ошибки, а сопровождать ее нереально. Я хочу обозримый инструмент, который можно поправить, если есть ошибки...

Подход с тестами до сих пор никто не догадался придумать, потому что ленивые.
Блин, как я вижу, ни один 1сник не просклонял ни одной фамилии. Даже нахаляву жрать не хотят. Мда.
63 Гений 1С
 
гуру
30.05.08
13:12
Кстати, моя прога не защищена законами об авторских правилах. Я сыт и кушать лишнего не хочу.
64 Живой Ископаемый
 
30.05.08
13:15
(61)Да, твою обработку.. форму только пририсовал
65 Живой Ископаемый
 
30.05.08
13:17
(62) Я две просклонял - в разных сочетаниях.. Фридерика Бегбедера правильно склоняет. если сказать что это Должность...
Астрид Линдгрен неправильно творительный падеж в любом роде  в любом виде
66 Живой Ископаемый
 
30.05.08
13:18
выслать что ли, то что поменял?
67 Фокусник
 
30.05.08
13:18
(63) "не хлебом единым сыт человек"... (;
68 Гений 1С
 
гуру
30.05.08
13:18
(64) Кинь код тестов
69 Гений 1С
 
гуру
30.05.08
13:19
(64) Если уж дорисовывать, то
А ваще список тестов потом можно в эксель перегнать. ;-)
или сразу...
а оттуда генерить код для тестов.
70 Гений 1С
 
гуру
30.05.08
13:22
(65) Строка должна быть Ф И О. Добавь отчество.
Вообще мне нужно от тебя тест по образцу, про тех же Лингред и Бергебера. ;-)

Если уж добавлять форму, то вывод в табличное поле. ;-)
71 Живой Ископаемый
 
30.05.08
13:23
(64)
дык в том документе, ниже...
Или что ты имеешь в виду?
вот в таком формате:
ДобавитьТест("Бегбедер Фридерик", "М", "Р", "Бегбедера Фридерика");
ДобавитьТест("Бегбедер Фридерик", "М", "Д", "Бегбедеру Фридерику");
ДобавитьТест("Бегбедер Фридерик", "М", "В", "Бегбедер Фридерик");//?
ДобавитьТест("Бегбедер Фридерик", "М", "Т", "Бегбедером Фридериком");
ДобавитьТест("Бегбедер Фридерик", "М", "П", "Бегбедере Фридерике");

ДобавитьТест("Линдгрен Астрид", "М", "Р", "Линдгрен Астрид");//?
ДобавитьТест("Линдгрен Астрид", "М", "Д", "Линдгрен Астриде");
ДобавитьТест("Линдгрен Астрид", "М", "В", "Линдгрен Астрид");//?
ДобавитьТест("Линдгрен Астрид", "М", "Т", "Линдгрен Астридой");
ДобавитьТест("Линдгрен Астрид", "М", "П", "Линдгрен Астриде");


Тапм где "//?" - не уверен... уже всю грамоту подзабыл
72 Гений 1С
 
гуру
30.05.08
13:23
(70) хотя нет, стоп отчество у них пустое будет, все пучком.
(66) Не, вышли по образцу, как их правильно склонять, я же не монстр русского языка. ;-)
73 Живой Ископаемый
 
30.05.08
13:25
нету у них отчеств... НЕТУ... как факса у уральского.. :) буду через час-полтора
74 Гений 1С
 
гуру
30.05.08
13:27
Типо:

ДобавитьТест("Линстред Астрида Марковна", "М", "Р", "Линстред Астриду Марковну");
ДобавитьТест("Линстред Астрида Марковна", "М", "Д", "Линстред Астриде Марковне");
...
75 Гений 1С
 
гуру
30.05.08
13:31
ОШИБКА    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковны    Ж    Р
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    Д
ОШИБКА    Линстред Астриду Марковну    РАСЧ:    Линстред Астрида Марковна    М    В
ОШИБКА    Линстред Астридой Марковной    РАСЧ:    Линстред Астрида Марковна    М    Т
ОШИБКА    Линстред Астриде Марковне    РАСЧ:    Линстред Астрида Марковна    М    П


Добавить что ли правило, чтобы фамилии заканчивающиеся на Д не склонялись?
Насчет склонения имени надо посмотреть правила, гут. Хороший тест.
76 Гений 1С
 
гуру
30.05.08
13:45
Какие из этих фамилий не склоняются и почему:

Бегбедер
Линстред
Линстрен

Уже нашел пару ошибок, поправил, вот код:

   //CКЛОНЕНИЕ ФАМИЛИИ
   Если Вид = "Фамилия" Тогда
       
       Если обСлужПроверитьДляСклонения(П, "Д") Тогда
           //Не склоняем фамилии, заканчивающиеся на Д
       ИначеЕсли Падеж = "П" Тогда
           //Предложный (о ком о чем)
           Если обСлужПроверитьДляСклонения(П, "ИН ЫН ЯК ЕВ ОВ") Тогда
               НовыеПравыеДобавить = "е";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ") И Пол="М"  Тогда
               НовыеПравые2 = "ом";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ") И Пол="Ж"  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           //Винительный (кого, что)
           Если обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИН ЫН ЯК ЕВ ОВ")  Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ую";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Т" Тогда
           //Творительный (Кем, Чем)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЕВ ОВ")  Тогда
               НовыеПравыеДобавить = "ым";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ЯК")  Тогда
               НовыеПравыеДобавить = "ом";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
               НовыеПравые1 = "м";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           //Родительный (Кого, Чего)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЯК ЕВ ОВ")  Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           //Дательный (Кому, Чему)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЯК ЕВ ОВ УК")  Тогда
               НовыеПравыеДобавить = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИЙ")  Тогда
               НовыеПравые2 = "ому";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
       КонецЕсли;
       
   ИначеЕсли Вид="Имя" Тогда
       
       //СКЛОНЕНИЕ ИМЕНИ
       
       Если Падеж = "Т" Тогда
           
           //Творительный (Кем, Чем)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
                   НовыеПравые3 = "лом";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "ем";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "ом";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я А")  Тогда
                   НовыеПравые1 = "ей";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "ем";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "ю";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "ой";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "ей";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "П" Тогда
           
           //Предложный (О ком о чем)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
                   НовыеПравые3 = "ле";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
                   НовыеПравые1 = "и";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я А")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые2 = "е";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А Я")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЯ")  Тогда
                   НовыеПравые1 = "и";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "и";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           
           //Винительный (кого, что)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
                   НовыеПравые3 = "ла";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "я";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "а";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "у";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "ю";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "я";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "у";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "ю";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           
           //Родительный (Кого, Чего)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "я";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "а";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "А Я")  Тогда
                   НовыеПравые1 = "и";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "я";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "у";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "ю";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           
           //Дательный (Кому, Чему)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
                   НовыеПравые1 = "лу";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
                   НовыеПравые1 = "ю";
               ИначеЕсли П.ЗаканчиваетсяНаСогласную Тогда
                   НовыеПравыеДобавить = "у";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "ю";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЯ")  Тогда
                   НовыеПравые1 = "и";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Я")  Тогда
                   НовыеПравые1 = "е";
               ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
                   НовыеПравые1 = "и";
               КонецЕсли;
           КонецЕсли;
           
       КонецЕсли;
       
   ИначеЕсли Вид="Отчество" Тогда
       
       //СКЛОНЕНИЕ ОТЧЕСТВА
       
       Если Падеж = "Т" Тогда
           //Творительный (Кем, Чем)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "ем";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "ой";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "П" Тогда
           
           //Предложный (О ком о чем)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "е";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "е";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           
           //Винительный (кого, что)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "а";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "у";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           
           //Родительный (Кого, Чего)  Рожать ФИО
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "а";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "у";
               КонецЕсли;
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           
           //Дательный (Кому, Чему)
           Если Пол="М" Тогда
               Если обСлужПроверитьДляСклонения(П, "Ч")  Тогда
                   НовыеПравыеДобавить = "у";
               КонецЕсли;
           Иначе
               Если обСлужПроверитьДляСклонения(П, "А")  Тогда
                   НовыеПравые1 = "е";
               КонецЕсли;
           КонецЕсли;
       КонецЕсли;
       
           
   ИначеЕсли Вид = "Должность" Тогда
       
       //Разбиваем по словам должность
       Слова=обСлужРазбитьНаСловаДляСклонения(Строка);
       Р="";
       Для Каждого Слово ИЗ Слова Цикл
           Р=Р+?(Р="",""," ")+обСклонениеСтроки(Слово, Падеж, "СловоДолжности", Пол);
       КонецЦикла;
       
       Возврат Р;
       
   ИначеЕсли Вид = "СловоДолжности" Тогда
       
       //СКЛОНЯЕМ ДОЛЖНОСТЬ
       //Заканчивается на согласную: Директор, программист
       //Заканчивается на гласную: Уборщица
       //Заканчивается на ь: Водитель, Руководитель
       //Заканчивается на й: Генеральный,
       //Прилагательное: Ответственная, заведущая (на ая)
       
       Если Падеж = "Т" Тогда
           
           //Творительный (Кем, Чем)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ым";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ей";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "ей";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "ем";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "ом";
           КонецЕсли;
           
       ИначеЕсли Падеж = "П" Тогда
           
           //Предложный (О ком о чем)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ом";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ей";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А Ь")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "е";
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           
           //Винительный (кого, что)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ую";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "я";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "а";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           
           //Родительный (Кого, Чего)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ую";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "я";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "а";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           
           //Дательный (Кому, Чему)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ому";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ей";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "ю";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "у";
           КонецЕсли;
           
       КонецЕсли;
       
   КонецЕсли;
77 Гений 1С
 
гуру
30.05.08
13:46
ОК    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковну    Ж    Р
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    Д
ОК    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковну    Ж    В
ОК    Линстред Астридой Марковной    РАСЧ:    Линстред Астридой Марковной    Ж    Т
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    П
ОК    Линстрен Марфу Марковну    РАСЧ:    Линстрен Марфу Марковну    Ж    Р
ОК    Линстрен Марфе Марковне    РАСЧ:    Линстрен Марфе Марковне    Ж    Д
ОК    Линстрен Марфу Марковну    РАСЧ:    Линстрен Марфу Марковну    Ж    В
ОК    Линстрен Марфой Марковной    РАСЧ:    Линстрен Марфой Марковной    Ж    Т
ОК    Линстрен Марфе Марковне    РАСЧ:    Линстрен Марфе Марковне    Ж    П
ОШИБКА    Бегбедера Фридерика Вольдемаровича    РАСЧ:    Бегбедер Фридерика Вольдемаровича    М    Р
ОШИБКА    Бегбедеру Фридерику Вольдемаровичу    РАСЧ:    Бегбедер Фридерику Вольдемаровичу    М    Д
ОК    Бегбедер Фридерика Вольдемаровича    РАСЧ:    Бегбедер Фридерика Вольдемаровича    М    В
ОШИБКА    Бегбедером Фридериком Вольдемаровичем    РАСЧ:    Бегбедер Фридериком Вольдемаровичем    М    Т
ОШИБКА    Бегбедере Фридерике Вольдемаровиче    РАСЧ:    Бегбедер Фридерике Вольдемаровиче    М    П
78 Sol78
 
30.05.08
13:48
(60) (62) Так и напиши на проклабе про ошибки которые нашел, автор их там тоже просит, см. запись от 20/02/2008 13:11

Но нет же, куда там, других можно задалбывать чтобы для его поделки присылали тесты и обзывать при этом тупыми и ленивыми потому что не шлют.

А самому привести для другого обнаруженные ошибки - этого не для гениев, ага.
79 Sol78
 
30.05.08
13:51
+(78) заодно и попиариться лишний раз, куда ж без этого. А ни один проект до конца не доведен. Вечно гениальные замыслы, обещание в будущем золотых гор - и везде пшик, не слуху не духу через пару месяцев.

Уверен, что и эту обработку забросишь через неделю-две. Зато сколько громких слов-то.
80 Viktosha
 
30.05.08
13:54
Правила изменения имен и фамилий
СКЛОНЕНИЕ

     Личные имена, отчества и фамилии в русском языке склоняются, если их окончания поддаются изменению в соответствии с правилами русского словоизменения. Некоторые иноязычные имена, заимствованные в русский язык, и их конечные элементы порой резко отличаются от типичных русских имен и их окончаний. Такие имена остаются в литературном языке несклоняемыми. Ниже приводятся правила склонения русских фамилий, а также личных именований представителей других народов РФ и иностранных граждан.
     Склонение фамилий в русском языке также определяется характером окончаний и соответствием между грамматическим родом слова и полом именуемого. Основное ядро фамилий русского населения, а также многих других народов нашей страны составляют так называемые стандартные фамилии, оформленные суффиксами -ов/ев, -ин/ын, -ский/ской, -цкий/цкой. Эти фамилии беспрепятственно склоняются по образцам, приведенным ниже.
     Но у русского и многих других народов имеются фамилии, не оформленные соответствующими суффиксами. Они склоняются не во всех случаях.
К склоняемым относятся фамилии, созвучные прилагательным: Бедный, Жареный, Нужный, Стальной, Убогий. Эти фамилии могут иметь формы мужского и женского рода и множественного числа.
     Нестандартные фамилии, созвучные существительным, часто не имеют мужских и женских соответствий. Среди них есть слова мужского рода: Бык, Ус, Сосед, Мельник, Воспитанник, Татарин, Казначей - и слова женского рода: Пятница, Судьба, Зима, Ручка, Красавица, Гусыня, Ворона, Повариха. И те и другие принадлежат как мужчинам, так и женщинам и склоняются в соответствии не с грамматическим родом, а с полом носителя.
     Встречаются даже фамилии, созвучные словам среднего грамматического рода: Блюдо, Благо, Долото. Несоответствие между фамилиями, совпадающими со словами среднего рода, и полом человека (мужским и женским), позволяет не склонять эти фамилии. Несклоняемыми остаются и фамилии Стецко, Писаренко, Москаленко.
     Вне грамматического рода и, следовательно, несклоняемыми остаются фамилии, исторически образовавшиеся из родительного падежа личного или прозвищного имени главы семьи или всего семейства в целом: Хитрово, Мертваго, Бураго (от Хитрой, Мертвой, Бурой), Седых, Фоминых (от Седые, Фомины).

     Фамилия как именование семьи предполагает наличие формы множественного числа: Петровы, Кашкины, Введенские. Если вступающие в брак берут общую фамилию, она пишется во множественном числе: Дмитриевы, Донские, Усатые. Нестандартные фамилии, кроме фамилий в форме прилагательных, официальных документальных форм множественного числа не имеют. Поэтому пишут: Мария Ивановна и Николай Иванович Виноград, супруги Сосед, муж и жена Суздаль.
     Несмотря на ряд трудностей, возникающих при склонении собственно русских и иноязычных фамилий в русском языке, все же желательно склонять все элементы именования человека, если они поддаются склонению. Действующая в русском языке система падежных окончаний достаточно жестко заставляет воспринимать оставшееся без склонения склоняемое слово как стоящее не в том падеже или относящееся не к тому роду, к которому оно в действительности относится. Например, Иван Иванович Сима, в родительном падеже должно быть Ивана Ивановича Симы. Если будет написано: для Ивана Ивановича Сима, это значит, что в именительном падеже данная фамилия имеет форму Сим, а не Сима. Оставленные без склонения мужские фамилии типа Ветер, Немешай будут приняты за женские, потому что подобные фамилии у мужчин склоняются: с Петром Сергеевичем Немешаем, от Владимира Павловича Ветра.
81 Viktosha
 
30.05.08
13:59
+(80) это отсюда, тут же примеры
http://www.gramma.ru/SPR/?id=2.8
82 Гений 1С
 
гуру
30.05.08
14:01
(78) Дятел, я тебе еще раз объясняю зачем нужна база тестов - ею можно тестить правильность любой обработки, что проклабовской, что моей, что 1ской. Она ценна сама по себе...
Вот бы в яндексе нарыть тестовую базу склонений, не знаю как искать.
83 Гений 1С
 
гуру
30.05.08
14:04
(81) Так Бегбедер Линстред Линстрен склоняются или нет?
84 Гений 1С
 
гуру
30.05.08
14:05
(78) Ценна, даже если я не закончу до конца код. Закончит кто-то другой, потому что код понятен и прозрачен. 1ский закрыт, крохотулька - убожество.
85 Viktosha
 
30.05.08
14:09
Смотря кто это, если женщина то вроде нет, а если мужчина то да, кстати еще зависит от "национальности" фамилии
86 Sol78
 
30.05.08
14:14
Ну вот и оскорбления пошли, когда сказать нечего. Чуть про него что скажут - так сразу КАРАУЛ, где модераторы???

А сам ни спорить не умеет, ни в коде разбираться. Да ещё и лентяй.
> "Закончит кто-то другой". Убогий, что там надо будет заканчивать - "исключения вписыать что-ли", как-ты тут советовал? Гений одним словом.
87 Sol78
 
30.05.08
14:16
(78) "не знаю как искать" - и это тоже характерная особенность ;)
Что ты сам вообще сделал? Алгоритм тебе дали, базу тестов ты тоже ищещь чтобы "тебе дали" или ссылку "дали". и девушки что "дали" - прямо слоган твой. От самого никакой пользы.
88 Гений 1С
 
гуру
30.05.08
14:17
(86) Ладно, погорячился, но твой тон мне непонятен, ровно как и доводы.
Я тебе объяснил пользу от наличия базы тестов. Возражения есть?
89 Sol78
 
30.05.08
14:21
(88) Насчет тестов - нет. Вот и напиши их. И будет от тебя польза.
90 Chum
 
30.05.08
14:23
Для теста:

Музаффар Юнусович Галиб Оглы
91 Гений 1С
 
гуру
30.05.08
14:24
На данный момент база тестов такова:

ОК    Иванову Анну Семеновну    РАСЧ:    Иванову Анну Семеновну    Ж    В
ОК    Ивановой Анной Семеновной    РАСЧ:    Ивановой Анной Семеновной    Ж    Т
ОК    Ивановой Анне Семеновне    РАСЧ:    Ивановой Анне Семеновне    Ж    Д
ОК    Ивановой Анне Семеновне    РАСЧ:    Ивановой Анне Семеновне    Ж    П
ОК    Осипова Сергея Александровича    РАСЧ:    Осипова Сергея Александровича    М    Р
ОК    Осипову Сергею Александровичу    РАСЧ:    Осипову Сергею Александровичу    М    Д
ОК    Осипова Сергея Александровича    РАСЧ:    Осипова Сергея Александровича    М    В
ОК    Осиповым Сергеем Александровичем    РАСЧ:    Осиповым Сергеем Александровичем    М    Т
ОК    Осипове Сергее Александровиче    РАСЧ:    Осипове Сергее Александровиче    М    П
ОК    Жириновского Владимира Вольфовича    РАСЧ:    Жириновского Владимира Вольфовича    М    Р
ОК    Жириновскому Владимиру Вольфовичу    РАСЧ:    Жириновскому Владимиру Вольфовичу    М    Д
ОК    Жириновского Владимира Вольфовича    РАСЧ:    Жириновского Владимира Вольфовича    М    В
ОК    Жириновским Владимиром Вольфовичем    РАСЧ:    Жириновским Владимиром Вольфовичем    М    Т
ОК    Жириновском Владимире Вольфовиче    РАСЧ:    Жириновском Владимире Вольфовиче    М    П
ОК    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковну    Ж    Р
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    Д
ОК    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковну    Ж    В
ОК    Линстред Астридой Марковной    РАСЧ:    Линстред Астридой Марковной    Ж    Т
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    П
ОК    Линстрен Марфу Марковну    РАСЧ:    Линстрен Марфу Марковну    Ж    Р
ОК    Линстрен Марфе Марковне    РАСЧ:    Линстрен Марфе Марковне    Ж    Д
ОК    Линстрен Марфу Марковну    РАСЧ:    Линстрен Марфу Марковну    Ж    В
ОК    Линстрен Марфой Марковной    РАСЧ:    Линстрен Марфой Марковной    Ж    Т
ОК    Линстрен Марфе Марковне    РАСЧ:    Линстрен Марфе Марковне    Ж    П
ОК    Бегбедера Фридерика Вольдемаровича    РАСЧ:    Бегбедера Фридерика Вольдемаровича    М    Р
ОК    Бегбедеру Фридерику Вольдемаровичу    РАСЧ:    Бегбедеру Фридерику Вольдемаровичу    М    Д
ОК    Бегбедера Фридерика Вольдемаровича    РАСЧ:    Бегбедера Фридерика Вольдемаровича    М    В
ОК    Бегбедером Фридериком Вольдемаровичем    РАСЧ:    Бегбедером Фридериком Вольдемаровичем    М    Т
ОК    Бегбедере Фридерике Вольдемаровиче    РАСЧ:    Бегбедере Фридерике Вольдемаровиче    М    П
ОК    Руководителя    РАСЧ:    Руководителя        Р
ОК    Руководителю    РАСЧ:    Руководителю        Д
ОК    Руководителя    РАСЧ:    Руководителя        В
ОК    Руководителем    РАСЧ:    Руководителем        Т
ОК    Руководителе    РАСЧ:    Руководителе        П
ОК    Генерального директора    РАСЧ:    Генерального директора        Р
ОК    Генеральному директору    РАСЧ:    Генеральному директору        Д
ОК    Генерального директора    РАСЧ:    Генерального директора        В
ОК    Генеральным директором    РАСЧ:    Генеральным директором        Т
ОК    Генеральном директоре    РАСЧ:    Генеральном директоре        П
ОК    Водителя    РАСЧ:    Водителя        Р
ОК    Водителю    РАСЧ:    Водителю        Д
ОК    Водителя    РАСЧ:    Водителя        В
ОК    Водителем    РАСЧ:    Водителем        Т
ОК    Водителе    РАСЧ:    Водителе        П
ОК    Заведущую    РАСЧ:    Заведущую        Р
ОК    Заведущей    РАСЧ:    Заведущей        Д
ОК    Заведущую    РАСЧ:    Заведущую        В
ОК    Заведущей    РАСЧ:    Заведущей        Т
ОК    Заведущей    РАСЧ:    Заведущей        П
ОК    Уборщицу    РАСЧ:    Уборщицу        Р
ОК    Уборщице    РАСЧ:    Уборщице        Д
ОК    Уборщицу    РАСЧ:    Уборщицу        В
ОК    Уборщицей    РАСЧ:    Уборщицей        Т
ОК    Уборщице    РАСЧ:    Уборщице        П
92 Гений 1С
 
гуру
30.05.08
14:25
(90) Просклоняй
(87) Хватит ныть, я обработку написал и формат теста сделал.
От тебя только просклонять свою или чужую ФИО прошу...
Только ныть способен.
93 Гений 1С
 
гуру
30.05.08
14:26
Код немного упорядочил, вот он:

   //CКЛОНЕНИЕ ФАМИЛИИ
   Если Вид = "Фамилия" Тогда
       
       Если обСлужПроверитьДляСклонения(П, "ЕН ЦКО НКО ОВО АГО ЫХ ЮДО АГО ОТО") Тогда
           //Не склоняем некоторые фамилии
       ИначеЕсли Падеж = "П" Тогда
           //Предложный (о ком о чем)
           Если обСлужПроверитьДляСклонения(П, "ИН ЫН ЯК ЕВ ОВ ЕР") Тогда
               НовыеПравыеДобавить = "е";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ой";
           ИначеЕсли Пол="М"  И обСлужПроверитьДляСклонения(П, "ИЙ") Тогда
               НовыеПравые2 = "ом";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "ИЙ") Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           //Винительный (кого, что)
           Если обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИН ЫН ЯК ЕВ ОВ ЕР")  Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ую";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Т" Тогда
           //Творительный (Кем, Чем)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЕВ ОВ")  Тогда
               НовыеПравыеДобавить = "ым";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ЯК ЕР")  Тогда
               НовыеПравыеДобавить = "ом";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
               НовыеПравые1 = "м";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           //Родительный (Кого, Чего)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЯК ЕВ ОВ ЕР")  Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           //Дательный (Кому, Чему)
           Если обСлужПроверитьДляСклонения(П,  "ИН ЫН ЯК ЕВ ОВ УК ЕР")  Тогда
               НовыеПравыеДобавить = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИЙ")  Тогда
               НовыеПравые2 = "ому";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "ИНА ЫНА ЕВА ОВА")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли обСлужПроверитьДляСклонения(П,  "АЯ")  Тогда
               НовыеПравые2 = "ой";
           КонецЕсли;
       КонецЕсли;
       
   ИначеЕсли Вид="Имя" Тогда
       
       //СКЛОНЕНИЕ ИМЕНИ
       
       Если Падеж = "Т" Тогда
           
           //Творительный (Кем, Чем)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
               НовыеПравые3 = "лом";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Й")  Тогда
               НовыеПравые1 = "ем";
           ИначеЕсли Пол="М" И П.ЗаканчиваетсяНаСогласную Тогда
               НовыеПравыеДобавить = "ом";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Я А")  Тогда
               НовыеПравые1 = "ей";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "ем";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "ю";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "ой";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "Я")  Тогда
               НовыеПравые1 = "ей";
           КонецЕсли;
           
       ИначеЕсли Падеж = "П" Тогда
           
           //Предложный (О ком о чем)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
               НовыеПравые3 = "ле";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "ИЙ")  Тогда
               НовыеПравые1 = "и";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Й")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли Пол="М" И П.ЗаканчиваетсяНаСогласную Тогда
               НовыеПравыеДобавить = "е";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Я А")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые2 = "е";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А Я")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "ИЯ")  Тогда
               НовыеПравые1 = "и";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "и";
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           
           //Винительный (кого, что)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
               НовыеПравые3 = "ла";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Й")  Тогда
               НовыеПравые1 = "я";
           ИначеЕсли Пол="М" И П.ЗаканчиваетсяНаСогласную Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Я")  Тогда
               НовыеПравые1 = "ю";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "я";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "Я")  Тогда
               НовыеПравые1 = "ю";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           
           //Родительный (Кого, Чего)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "Й")  Тогда
               НовыеПравые1 = "я";
           ИначеЕсли Пол="М" И П.ЗаканчиваетсяНаСогласную Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "А Я")  Тогда
               НовыеПравые1 = "и";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "я";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "Я")  Тогда
               НовыеПравые1 = "ю";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           
           //Дательный (Кому, Чему)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "ЕЛ")  Тогда
               НовыеПравые1 = "лу";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Й")  Тогда
               НовыеПравые1 = "ю";
           ИначеЕсли Пол="М" И П.ЗаканчиваетсяНаСогласную Тогда
               НовыеПравыеДобавить = "у";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Я")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли Пол="М" И обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "ю";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "ИЯ")  Тогда
               НовыеПравые1 = "и";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "Я")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "и";
           КонецЕсли;
           
       КонецЕсли;
       
   ИначеЕсли Вид="Отчество" Тогда
       
       //СКЛОНЕНИЕ ОТЧЕСТВА
       
       Если Падеж = "Т" Тогда
           //Творительный (Кем, Чем)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "Ч")  Тогда
               НовыеПравыеДобавить = "ем";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "ой";
           КонецЕсли;
           
       ИначеЕсли Падеж = "П" Тогда
           
           //Предложный (О ком о чем)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "Ч")  Тогда
               НовыеПравыеДобавить = "е";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "е";
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           
           //Винительный (кого, что)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "Ч")  Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           
           //Родительный (Кого, Чего)  Рожать ФИО
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "Ч")  Тогда
               НовыеПравыеДобавить = "а";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           
           //Дательный (Кому, Чему)
           Если Пол="М" И обСлужПроверитьДляСклонения(П, "Ч")  Тогда
               НовыеПравыеДобавить = "у";
           ИначеЕсли Пол="Ж" И обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "е";
           КонецЕсли;
           
       КонецЕсли;
       
           
   ИначеЕсли Вид = "Должность" Тогда
       
       //Разбиваем по словам должность
       Слова=обСлужРазбитьНаСловаДляСклонения(Строка);
       Р="";
       Для Каждого Слово ИЗ Слова Цикл
           Р=Р+?(Р="",""," ")+обСклонениеСтроки(Слово, Падеж, "СловоДолжности", Пол);
       КонецЦикла;
       
       Возврат Р;
       
   ИначеЕсли Вид = "СловоДолжности" Тогда
       
       //СКЛОНЯЕМ ДОЛЖНОСТЬ
       //Заканчивается на согласную: Директор, программист
       //Заканчивается на гласную: Уборщица
       //Заканчивается на ь: Водитель, Руководитель
       //Заканчивается на й: Генеральный,
       //Прилагательное: Ответственная, заведущая (на ая)
       
       Если Падеж = "Т" Тогда
           
           //Творительный (Кем, Чем)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ым";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ей";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "ей";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "ем";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "ом";
           КонецЕсли;
           
       ИначеЕсли Падеж = "П" Тогда
           
           //Предложный (О ком о чем)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ом";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ей";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А Ь")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "е";
           КонецЕсли;
           
       ИначеЕсли Падеж = "В" Тогда
           
           //Винительный (кого, что)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ую";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "я";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "а";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Р" Тогда
           
           //Родительный (Кого, Чего)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ого";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ую";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "у";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "я";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "а";
           КонецЕсли;
           
       ИначеЕсли Падеж = "Д" Тогда
           
           //Дательный (Кому, Чему)
           Если обСлужПроверитьДляСклонения(П, "ЫЙ")  Тогда
               НовыеПравые2 = "ому";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "АЯ")  Тогда
               НовыеПравые2 = "ей";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "А")  Тогда
               НовыеПравые1 = "е";
           ИначеЕсли обСлужПроверитьДляСклонения(П, "Ь")  Тогда
               НовыеПравые1 = "ю";
           ИначеЕсли П.ЗаканчиваетсяНаСогласную  Тогда
               НовыеПравыеДобавить = "у";
           КонецЕсли;
           
       КонецЕсли;
       
   КонецЕсли;
94 Гений 1С
 
гуру
30.05.08
14:27
(90) по схеме ФИО: Музаффар Галиб Юнусович.. ;-)
95 Гений 1С
 
гуру
30.05.08
14:28
меня вот удивляет, что разработчики 1С (хотя 1с не удивляет), нет разработчик крохотульки не создал такую базу тестов...
96 Гений 1С
 
гуру
30.05.08
14:38
(78) видишь ли не хочу вкладываться в обработки, код которых может понять только их автор.... Это убожество а не код, я не верю, что его можно сопровождать.
97 Гений 1С
 
гуру
30.05.08
15:01
ОК:
http://infostart.ru/profile/8089/projects/2031/

Будем ждать фиелд репортов, а заодно почитаем комменты к крохотульке, может чего из них пригодится для моей СУПЕР-ПУПЕР-МЕГА-ГЕНИ-ВЕЩИ. ;-)
98 Живой Ископаемый
 
30.05.08
15:12
Так, кажется это я с ума сошел на старости лет... Астрид Линдгрен не будет изменяться, все правильно твоя обработка пишет....
99 Живой Ископаемый
 
30.05.08
15:14
Бегбедер - склоняется, потому что м.р.
Линдгрен - не склоняется потому что Ж. р.
100 butterbean
 
30.05.08
15:15
100
101 Живой Ископаемый
 
30.05.08
15:18
Далее
РАСЧ:    Кук    Томасе    Падеж=П    Род=М     типа ФИО
РАСЧ:    Кук    Томаса    Падеж=В    Род=М     типа ФИО
РАСЧ:    Кук    Томасом    Падеж=Т    Род=М     типа ФИО
РАСЧ:    Кук    Томаса    Падеж=Р    Род=М     типа ФИО
РАСЧ:    Куку    Томасу    Падеж=Д    Род=М     типа ФИО


Неправильно должно быть:

ДобавитьТест("Кук Томас", "М", "Р", "Кука Томаса");
ДобавитьТест("Кук Томас", "М", "Д", "Куку Томасу");
ДобавитьТест("Кук Томас", "М", "В", "Кука Томаса");
ДобавитьТест("Кук Томас", "М", "Т", "Куком Томасом");
ДобавитьТест("Кук Томас", "М", "П", "Куке Томасе");
102 Живой Ископаемый
 
30.05.08
15:21
А вот чулпан хаматова - правильно:

РАСЧ:    Хаматовой    Чулпан    Падеж=П    Род=Ж     типа ФИО
РАСЧ:    Хаматову    Чулпан    Падеж=В    Род=Ж     типа ФИО
РАСЧ:    Хаматовой    Чулпан    Падеж=Т    Род=Ж     типа ФИО
РАСЧ:    Хаматовой    Чулпан    Падеж=Р    Род=Ж     типа ФИО
РАСЧ:    Хаматовой    Чулпан    Падеж=Д    Род=Ж     типа ФИО
103 Живой Ископаемый
 
30.05.08
15:26
Опять же
РАСЧ:    Памук    Орхан    Падеж=П    Род=М     типа ФИО
РАСЧ:    Памук    Орхан    Падеж=В    Род=М     типа ФИО
РАСЧ:    Памук    Орхан    Падеж=Т    Род=М     типа ФИО
РАСЧ:    Памук    Орхан    Падеж=Р    Род=М     типа ФИО
РАСЧ:    Памуку    Орхан    Падеж=Д    Род=М     типа ФИО

Надо

РАСЧ:    Памуке    Орхане    Падеж=П    Род=М     типа ФИО
РАСЧ:    Памука    Орхана    Падеж=В    Род=М     типа ФИО
РАСЧ:    Памуком    Орханом    Падеж=Т    Род=М     типа ФИО
РАСЧ:    Памука    Орхана    Падеж=Р    Род=М     типа ФИО
РАСЧ:    Памуку    Орхану    Падеж=Д    Род=М     типа ФИО

Фамилия и имя склоняются, потому что - м.р.
104 Гений 1С
 
гуру
30.05.08
15:27
(101) Спасибо, обновил:
ОК    Кука Томаса    РАСЧ:    Кука Томаса    М    Р
ОК    Куку Томасу    РАСЧ:    Куку Томасу    М    Д
ОК    Кука Томаса    РАСЧ:    Кука Томаса    М    В
ОК    Куком Томасом    РАСЧ:    Куком Томасом    М    Т
ОК    Куке Томасе    РАСЧ:    Куке Томасе    М    П
105 Гений 1С
 
гуру
30.05.08
15:27
Исправления на инфостарте выложил
106 Гений 1С
 
гуру
30.05.08
15:28
(102) дай тест по чулпан, добавлю в базу
107 Живой Ископаемый
 
30.05.08
15:30
ДобавитьТест("Хаматова Чулпан", "М", "Р", "Хаматовой    Чулпан");
ДобавитьТест("Хаматова Чулпан", "М", "Д", "Хаматовой    Чулпан");
ДобавитьТест("Хаматова Чулпан", "М", "В", "Хаматову    Чулпан");
ДобавитьТест("Хаматова Чулпан", "М", "Т", "Хаматовой    Чулпан");
ДобавитьТест("Хаматова Чулпан", "М", "П", "Хаматовой    Чулпан");
====
108 Живой Ископаемый
 
30.05.08
15:33
так, ща....
109 Гений 1С
 
гуру
30.05.08
15:34
ОК    Памука Орхана    РАСЧ:    Памука Орхана    М    Р
ОК    Памуку Орхану    РАСЧ:    Памуку Орхану    М    Д
ОК    Памука Орхана    РАСЧ:    Памука Орхана    М    В
ОК    Памуком Орханом    РАСЧ:    Памуком Орханом    М    Т
ОК    Памуке Орхане    РАСЧ:    Памуке Орхане    М    П

Поправил, прикинь, в списке согласных забыл указать букву "Н". ;-)
Обновление выложил на инфосатрт
110 Гений 1С
 
гуру
30.05.08
15:35
(99) Взять как исключения окончания ЕР м.р и ЕН Ж.р?
111 Живой Ископаемый
 
30.05.08
15:36
Погоди, не бери пока ничего.. ща я ее...
112 Живой Ископаемый
 
30.05.08
15:51
Похоже правильно

ДобавитьТест( "Ботичелли Джованни", "М", "П","Ботичелли Джованни ");
ДобавитьТест( "Ботичелли Джованни", "М", "В","Ботичелли Джованни ");
ДобавитьТест( "Ботичелли Джованни", "М", "Т","Ботичелли Джованни ");
ДобавитьТест( "Ботичелли Джованни", "М", "Р","Ботичелли Джованни ");
ДобавитьТест( "Ботичелли Джованни", "М", "Д","Ботичелли Джованни ");

А марадонну, имхо, таки нужно просклонять

ДобавитьТест( "Марадонна Диего", "М", "П","Марадонне Диего ");
ДобавитьТест( "Марадонна Диего", "М", "В","Марадонну Диего ");
ДобавитьТест( "Марадонна Диего", "М", "Т","Марадонной Диего ");
ДобавитьТест( "Марадонна Диего", "М", "Р","Марадонну Диего ");
ДобавитьТест( "Марадонна Диего", "М", "Д","Марадонне Диего ");


Аналогично - Берия....
ДобавитьТест( "Берия Лаврентий Павлович", "М", "П","Берии Лаврентии Павловиче");
ДобавитьТест( "Берия Лаврентий Павлович", "М", "В","Берию Лаврентия Павловича");
ДобавитьТест( "Берия Лаврентий Павлович", "М", "Т","Берией Лаврентием Павловичем");
ДобавитьТест( "Берия Лаврентий Павлович", "М", "Р","Берию Лаврентия Павловича");
ДобавитьТест( "Берия Лаврентий Павлович", "М", "Д","Берии Лаврентию Павловичу");



Но вообще, пусть кто-то еще проверит.. а то для меня русский не родной все-таки. :)
113 Живой Ископаемый
 
30.05.08
15:53
щас, скачаю обновленную, еще потестирую
114 Амёба
 
30.05.08
15:54
ОШИБКА    БЕРГГОЛЬЦ ОЛЬГУ ФЕДОРОВНУ    РАСЧ:    БЕРГГОЛЬЦ ОЛЬГу ФЕДОРОВНу    Ж    Р
ОШИБКА    БЕРГГОЛЬЦ ОЛЬГЕ ФЕДОРОВНЕ    РАСЧ:    БЕРГГОЛЬЦ ОЛЬГе ФЕДОРОВНе    Ж    Д
ОШИБКА    БЕРГГОЛЬЦ ОЛЬГУ ФЕДОРОВНУ    РАСЧ:    БЕРГГОЛЬЦ ОЛЬГу ФЕДОРОВНу    Ж    В
ОШИБКА    БЕРГГОЛЬЦ ОЛЬГОЙ ФЕДОРОВНОЙ    РАСЧ:    БЕРГГОЛЬЦ ОЛЬГой ФЕДОРОВНой    Ж    Т
ОШИБКА    БЕРГГОЛЬЦ ОЛЬГЕ ФЕДОРОВНЕ    РАСЧ:    БЕРГГОЛЬЦ ОЛЬГе ФЕДОРОВНе    Ж    П
115 Живой Ископаемый
 
30.05.08
16:02
Ну Ёманарот! срочно склоняй мужсике фамилии...
ДобавитьТест( "Беринг Витус", "М", "П","Беринге Витусе ");
ДобавитьТест( "Беринг Витус", "М", "В","Беринга Витуса ");
ДобавитьТест( "Беринг Витус", "М", "Т","Берингом Витусом ");
ДобавитьТест( "Беринг Витус", "М", "Р","Беринга Витуса ");
ДобавитьТест( "Беринг Витус", "М", "Д","Берингу Витусу ");
116 Живой Ископаемый
 
30.05.08
16:02
И
ДобавитьТест( "Блейн Дэвид", "М", "П","Блейне Дэвиде ");
ДобавитьТест( "Блейн Дэвид", "М", "В","Блейна Дэвида ");
ДобавитьТест( "Блейн Дэвид", "М", "Т","Блейном Дэвидом ");
ДобавитьТест( "Блейн Дэвид", "М", "Р","Блейна Дэвида ");
ДобавитьТест( "Блейн Дэвид", "М", "Д","Блейну Дэвиду ");
117 Живой Ископаемый
 
30.05.08
16:04
ДобавитьТест( "Йосариан Джон", "М", "П","Йосариане Джоне ");
ДобавитьТест( "Йосариан Джон", "М", "В","Йосариана Джона ");
ДобавитьТест( "Йосариан Джон", "М", "Т","Йосарианом Джоном ");
ДобавитьТест( "Йосариан Джон", "М", "Р","Йосариана Джона ");
ДобавитьТест( "Йосариан Джон", "М", "Д","Йосариану Джону ");
118 Живой Ископаемый
 
30.05.08
16:05
ДобавитьТест( "Микоян Анатолий", "М", "П","Микояне Анатолии ");
ДобавитьТест( "Микоян Анатолий", "М", "В","Микояна Анатолия ");
ДобавитьТест( "Микоян Анатолий", "М", "Т","Микояном Анатолием ");
ДобавитьТест( "Микоян Анатолий", "М", "Р","Микояна Анатолия ");
ДобавитьТест( "Микоян Анатолий", "М", "Д","Микояну Анатолию ");
119 Амёба
 
30.05.08
16:07
ДобавитьТестДолжности("Дорожно-путевой рабочий", "Р", "Дорожно-путевого рабочего");
ДобавитьТестДолжности("Дорожно-путевой рабочий", "Д", "Дорожно-путевому рабочему");
ДобавитьТестДолжности("Дорожно-путевой рабочий", "В", "Дорожно-путевого рабочего");
ДобавитьТестДолжности("Дорожно-путевой рабочий", "Т", "Дорожно-путевым рабочим");
ДобавитьТестДолжности("Дорожно-путевой рабочий", "П", "Дорожно-путевом рабочем");


ОШИБКА    Дорожно-путевого рабочего    РАСЧ:    Дорожно-путевой рабочий        Р
ОШИБКА    Дорожно-путевому рабочему    РАСЧ:    Дорожно-путевой рабочий        Д
ОШИБКА    Дорожно-путевого рабочего    РАСЧ:    Дорожно-путевой рабочий        В
ОШИБКА    Дорожно-путевым рабочим    РАСЧ:    Дорожно-путевой рабочий        Т
ОШИБКА    Дорожно-путевом рабочем    РАСЧ:    Дорожно-путевой рабочий        П
120 Амёба
 
30.05.08
16:15
ДобавитьТестДолжности("Артист ансамбля песни и танца", "Р", "Артиста ансамбля песни и танца");
ДобавитьТестДолжности("Артист ансамбля песни и танца", "Д", "Артисту ансамбля песни и танца");
ДобавитьТестДолжности("Артист ансамбля песни и танца", "В", "Артиста ансамбля песни и танца");
ДобавитьТестДолжности("Артист ансамбля песни и танца", "Т", "Артистом ансамбля песни и танца");
ДобавитьТестДолжности("Артист ансамбля песни и танца", "П", "Артисте ансамбля песни и танца");
121 Гений 1С
 
гуру
30.05.08
16:16
(115) можно без пробела на конце???
122 Гений 1С
 
гуру
30.05.08
16:17
(114) Напиши как в шаблоне, без больших букв. ;-)
123 Живой Ископаемый
 
30.05.08
16:18
ДобавитьТест( "Лавлейс Ада", "Ж", "П","Лавлейс Аде ");
ДобавитьТест( "Лавлейс Ада", "Ж", "В","Лавлейс Аду ");
ДобавитьТест( "Лавлейс Ада", "Ж", "Т","Лавлейс Адой ");
ДобавитьТест( "Лавлейс Ада", "Ж", "Р","Лавлейс Аду ");
ДобавитьТест( "Лавлейс Ада", "Ж", "Д","Лавлейс Аде ");
ДобавитьТест( "Арендт Ханна", "Ж", "П","Арендт Ханне ");
ДобавитьТест( "Арендт Ханна", "Ж", "В","Арендт Ханну ");
ДобавитьТест( "Арендт Ханна", "Ж", "Т","Арендт Ханной ");
ДобавитьТест( "Арендт Ханна", "Ж", "Р","Арендт Ханну ");
ДобавитьТест( "Арендт Ханна", "Ж", "Д","Арендт Ханне ");
ДобавитьТест( "Рерих Елена", "Ж", "П","Рерих Елене ");
ДобавитьТест( "Рерих Елена", "Ж", "В","Рерих Елену ");
ДобавитьТест( "Рерих Елена", "Ж", "Т","Рерих Еленой ");
ДобавитьТест( "Рерих Елена", "Ж", "Р","Рерих Елену ");
ДобавитьТест( "Рерих Елена", "Ж", "Д","Рерих Елене ");
ДобавитьТест( "Самбрано Мария", "Ж", "П","Самбрано Марие ");
ДобавитьТест( "Самбрано Мария", "Ж", "В","Самбрано Марию ");
ДобавитьТест( "Самбрано Мария", "Ж", "Т","Самбрано Марией ");
ДобавитьТест( "Самбрано Мария", "Ж", "Р","Самбрано Марию ");
ДобавитьТест( "Самбрано Мария", "Ж", "Д","Самбрано Марии ");
ДобавитьТест( "де'Сталь Анна", "Ж", "П","де'Сталь Анне ");
ДобавитьТест( "де'Сталь Анна", "Ж", "В","де'Сталь Анну ");
ДобавитьТест( "де'Сталь Анна", "Ж", "Т","де'Сталь Анной ");
ДобавитьТест( "де'Сталь Анна", "Ж", "Р","де'Сталь Анну ");
ДобавитьТест( "де'Сталь Анна", "Ж", "Д","де'Сталь Анне ");
все правильно, кроме последнего:
ДобавитьТест( "Тумаркин Анна Эстер", "Ж", "П","Тумаркиной Анне Эстер");
ДобавитьТест( "Тумаркин Анна Эстер", "Ж", "В","Тумаркину Анну Эстер");
ДобавитьТест( "Тумаркин Анна Эстер", "Ж", "Т","Тумаркиной Анной Эстер");
ДобавитьТест( "Тумаркин Анна Эстер", "Ж", "Р","Тумаркину Анну Эстер");
ДобавитьТест( "Тумаркин Анна Эстер", "Ж", "Д","Тумаркиной Анне Эстер");
просклонял сука, как мужскую фамилию... хотя я вообще не уверен что ее можно склонять... Но если бы фамилия была русской - то именно так как я написал
124 Живой Ископаемый
 
30.05.08
16:19
(121) Ну.. дяденька.. это не пробел, это отчество... :))
125 Живой Ископаемый
 
30.05.08
16:22
все, капец, сломалась функция... :) даже не представляю как ты исправишь:
ДобавитьТест( "Складовская-Кюри Мария", "Ж", "П","Складовской-Кюри Марие");
ДобавитьТест( "Складовская-Кюри Мария", "Ж", "В","Складовскую-Кюри Марию");
ДобавитьТест( "Складовская-Кюри Мария", "Ж", "Т","Складовской-Кюри Марией");
ДобавитьТест( "Складовская-Кюри Мария", "Ж", "Р","Складовскую-Кюри Марию");
ДобавитьТест( "Складовская-Кюри Мария", "Ж", "Д","Складовской-Кюри Марии");
126 IT Михаил
 
30.05.08
16:26
интеллектуальный онанизм
127 Амёба
 
30.05.08
16:26
ДобавитьТест("Ицхак Рабин", "М", "Р", "Ицхака Рабина");
ДобавитьТест("Ицхак Рабин", "М", "Д", "Ицхаку Рабину");
ДобавитьТест("Ицхак Рабин", "М", "В", "Ицхака Рабина");
ДобавитьТест("Ицхак Рабин", "М", "Т", "Ицхаком Рабином");
ДобавитьТест("Ицхак Рабин", "М", "П", "Ицхаке Рабине");

ДобавитьТест("Ясир Арафат", "М", "Р", "Ясира Арафата");
ДобавитьТест("Ясир Арафат", "М", "Д", "Ясиру Арафату");
ДобавитьТест("Ясир Арафат", "М", "В", "Ясира Арафата");
ДобавитьТест("Ясир Арафат", "М", "Т", "Ясиром Арафатом");
ДобавитьТест("Ясир Арафат", "М", "П", "Ясире Арафате");
128 Живой Ископаемый
 
30.05.08
16:28
с остальными тетками более-мене справилась...

ДобавитьТест( "Деллада Грация", "Ж", "П","Деллада Грацие ");
ДобавитьТест( "Деллада Грация", "Ж", "В","Деллада Грацию ");
ДобавитьТест( "Деллада Грация", "Ж", "Т","Деллада Грацией ");
ДобавитьТест( "Деллада Грация", "Ж", "Р","Деллада Грацию ");
ДобавитьТест( "Деллада Грация", "Ж", "Д","Деллада Грации ");
ДобавитьТест( "Елинек Эльфрида", "Ж", "П","Елинек Эльфриде ");
ДобавитьТест( "Елинек Эльфрида", "Ж", "В","Елинек Эльфриду ");
ДобавитьТест( "Елинек Эльфрида", "Ж", "Т","Елинек Эльфридой ");
ДобавитьТест( "Елинек Эльфрида", "Ж", "Р","Елинек Эльфриду ");
ДобавитьТест( "Елинек Эльфрида", "Ж", "Д","Елинек Эльфриде ");
ДобавитьТест( "Бак Перл", "Ж", "П","Бак Перл ");
ДобавитьТест( "Бак Перл", "Ж", "В","Бак Перл ");
ДобавитьТест( "Бак Перл", "Ж", "Т","Бак Перл ");
ДобавитьТест( "Бак Перл", "Ж", "Р","Бак Перл ");
ДобавитьТест( "Бак Перл", "Ж", "Д","Бак Перл ");
ДобавитьТест( "Ли Харпер", "Ж", "П","Ли Харпер ");
ДобавитьТест( "Ли Харпер", "Ж", "В","Ли Харпер ");
ДобавитьТест( "Ли Харпер", "Ж", "Т","Ли Харпер ");
ДобавитьТест( "Ли Харпер", "Ж", "Р","Ли Харпер ");
ДобавитьТест( "Ли Харпер", "Ж", "Д","Ли Харпер ");
ДобавитьТест( "Лессинг Дорис", "Ж", "П","Лессинг Дорис ");
ДобавитьТест( "Лессинг Дорис", "Ж", "В","Лессинг Дорис ");
ДобавитьТест( "Лессинг Дорис", "Ж", "Т","Лессинг Дорис ");
ДобавитьТест( "Лессинг Дорис", "Ж", "Р","Лессинг Дорис ");
ДобавитьТест( "Лессинг Дорис", "Ж", "Д","Лессинг Дорис ");
ДобавитьТест( "Маатаи Вангари", "Ж", "П","Маатаи Вангари ");
ДобавитьТест( "Маатаи Вангари", "Ж", "В","Маатаи Вангари ");
ДобавитьТест( "Маатаи Вангари", "Ж", "Т","Маатаи Вангари ");
ДобавитьТест( "Маатаи Вангари", "Ж", "Р","Маатаи Вангари ");
ДобавитьТест( "Маатаи Вангари", "Ж", "Д","Маатаи Вангари ");
ДобавитьТест( "Шимборская Вислава", "Ж", "П","Шимборской Виславе ");
ДобавитьТест( "Шимборская Вислава", "Ж", "В","Шимборскую Виславу ");
ДобавитьТест( "Шимборская Вислава", "Ж", "Т","Шимборской Виславой ");
ДобавитьТест( "Шимборская Вислава", "Ж", "Р","Шимборскую Виславу ");//<-- почему пишет Шимборской? - исправить
ДобавитьТест( "Шимборская Вислава", "Ж", "Д","Шимборской Виславе ");

Нужно только решить проблему двойных фамилий и двойных имен типа Эрих-Мария... хотя конечно, если написать имя через дефис, то вроде тоже справляется...
129 Амёба
 
30.05.08
16:32
ДобавитьТест("Добрыйвечер Людмила", "Ж", "Р", "Добрыйвечер Людмилу");
ДобавитьТест("Добрыйвечер Людмила", "Ж", "Д", "Добрыйвечер Людмиле");
ДобавитьТест("Добрыйвечер Людмила", "Ж", "В", "Добрыйвечер Людмилу");
ДобавитьТест("Добрыйвечер Людмила", "Ж", "Т", "Добрыйвечер Людмилой");
ДобавитьТест("Добрыйвечер Людмила", "Ж", "П", "Добрыйвечер Людмиле");
130 Живой Ископаемый
 
30.05.08
16:33
И еще...
ДобавитьТест( "Ходжкин Дороти", "Ж", "П","Ходжкин Дороти ");
ДобавитьТест( "Ходжкин Дороти", "Ж", "В","Ходжкина Дороти ");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Т","Ходжкиным Дороти ");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Р","Ходжкина Дороти ");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Д","Ходжкину Дороти ");
чтозанах?
Даже если принять что это русская фамилия, нужно так:
ДобавитьТест( "Ходжкин Дороти", "Ж", "П","Ходжкин Дороти");
ДобавитьТест( "Ходжкин Дороти", "Ж", "В","Ходжкину Дороти");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Т","Ходжкиной Дороти");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Р","Ходжкину Дороти");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Д","Ходжкиной Дороти");
но вообще правильно также, как и с Линдгрен:
ДобавитьТест( "Ходжкин Дороти", "Ж", "П","Ходжкин Дороти");
ДобавитьТест( "Ходжкин Дороти", "Ж", "В","Ходжкин Дороти");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Т","Ходжкин Дороти");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Р","Ходжкин Дороти");
ДобавитьТест( "Ходжкин Дороти", "Ж", "Д","Ходжкин Дороти");

как определять - не подскажу
131 Амёба
 
30.05.08
16:39
ДобавитьТест("Смоловой Дмитрий Иванович", "М", "Р", "Смолового Дмитрия Ивановича");
ДобавитьТест("Смоловой Дмитрий Иванович", "М", "Д", "Смоловому Дмитрию Ивановичу");
ДобавитьТест("Смоловой Дмитрий Иванович", "М", "В", "Смолового Дмитрия Ивановича");
ДобавитьТест("Смоловой Дмитрий Иванович", "М", "Т", "Смоловым Дмитрием Ивановичем");
ДобавитьТест("Смоловой Дмитрий Иванович", "М", "П", "Смоловом Дмитрии Ивановиче");
132 Гений 1С
 
гуру
30.05.08
16:42
Поправил в обработке:

ОК    Иванову Анну Семеновну    РАСЧ:    Иванову Анну Семеновну    Ж    В
ОК    Ивановой Анной Семеновной    РАСЧ:    Ивановой Анной Семеновной    Ж    Т
ОК    Ивановой Анне Семеновне    РАСЧ:    Ивановой Анне Семеновне    Ж    Д
ОК    Ивановой Анне Семеновне    РАСЧ:    Ивановой Анне Семеновне    Ж    П
ОК    Осипова Сергея Александровича    РАСЧ:    Осипова Сергея Александровича    М    Р
ОК    Осипову Сергею Александровичу    РАСЧ:    Осипову Сергею Александровичу    М    Д
ОК    Осипова Сергея Александровича    РАСЧ:    Осипова Сергея Александровича    М    В
ОК    Осиповым Сергеем Александровичем    РАСЧ:    Осиповым Сергеем Александровичем    М    Т
ОК    Осипове Сергее Александровиче    РАСЧ:    Осипове Сергее Александровиче    М    П
ОК    Жириновского Владимира Вольфовича    РАСЧ:    Жириновского Владимира Вольфовича    М    Р
ОК    Жириновскому Владимиру Вольфовичу    РАСЧ:    Жириновскому Владимиру Вольфовичу    М    Д
ОК    Жириновского Владимира Вольфовича    РАСЧ:    Жириновского Владимира Вольфовича    М    В
ОК    Жириновским Владимиром Вольфовичем    РАСЧ:    Жириновским Владимиром Вольфовичем    М    Т
ОК    Жириновском Владимире Вольфовиче    РАСЧ:    Жириновском Владимире Вольфовиче    М    П
ОК    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковну    Ж    Р
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    Д
ОК    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковну    Ж    В
ОК    Линстред Астридой Марковной    РАСЧ:    Линстред Астридой Марковной    Ж    Т
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    П
ОК    Линстрен Марфу Марковну    РАСЧ:    Линстрен Марфу Марковну    Ж    Р
ОК    Линстрен Марфе Марковне    РАСЧ:    Линстрен Марфе Марковне    Ж    Д
ОК    Линстрен Марфу Марковну    РАСЧ:    Линстрен Марфу Марковну    Ж    В
ОК    Линстрен Марфой Марковной    РАСЧ:    Линстрен Марфой Марковной    Ж    Т
ОК    Линстрен Марфе Марковне    РАСЧ:    Линстрен Марфе Марковне    Ж    П
ОК    Бегбедера Фридерика Вольдемаровича    РАСЧ:    Бегбедера Фридерика Вольдемаровича    М    Р
ОК    Бегбедеру Фридерику Вольдемаровичу    РАСЧ:    Бегбедеру Фридерику Вольдемаровичу    М    Д
ОК    Бегбедера Фридерика Вольдемаровича    РАСЧ:    Бегбедера Фридерика Вольдемаровича    М    В
ОК    Бегбедером Фридериком Вольдемаровичем    РАСЧ:    Бегбедером Фридериком Вольдемаровичем    М    Т
ОК    Бегбедере Фридерике Вольдемаровиче    РАСЧ:    Бегбедере Фридерике Вольдемаровиче    М    П
ОК    Кука Томаса    РАСЧ:    Кука Томаса    М    Р
ОК    Куку Томасу    РАСЧ:    Куку Томасу    М    Д
ОК    Кука Томаса    РАСЧ:    Кука Томаса    М    В
ОК    Куком Томасом    РАСЧ:    Куком Томасом    М    Т
ОК    Куке Томасе    РАСЧ:    Куке Томасе    М    П
ОК    Памука Орхана    РАСЧ:    Памука Орхана    М    Р
ОК    Памуку Орхану    РАСЧ:    Памуку Орхану    М    Д
ОК    Памука Орхана    РАСЧ:    Памука Орхана    М    В
ОК    Памуком Орханом    РАСЧ:    Памуком Орханом    М    Т
ОК    Памуке Орхане    РАСЧ:    Памуке Орхане    М    П
ОК    Беринге Витусе    РАСЧ:    Беринге Витусе    М    П
ОК    Беринга Витуса    РАСЧ:    Беринга Витуса    М    В
ОК    Берингом Витусом    РАСЧ:    Берингом Витусом    М    Т
ОК    Беринга Витуса    РАСЧ:    Беринга Витуса    М    Р
ОК    Берингу Витусу    РАСЧ:    Берингу Витусу    М    Д
ОК    Блейне Дэвиде    РАСЧ:    Блейне Дэвиде    М    П
ОК    Блейна Дэвида    РАСЧ:    Блейна Дэвида    М    В
ОК    Блейном Дэвидом    РАСЧ:    Блейном Дэвидом    М    Т
ОК    Блейна Дэвида    РАСЧ:    Блейна Дэвида    М    Р
ОК    Блейну Дэвиду    РАСЧ:    Блейну Дэвиду    М    Д
ОК    Йосариане Джоне    РАСЧ:    Йосариане Джоне    М    П
ОК    Йосариана Джона    РАСЧ:    Йосариана Джона    М    В
ОК    Йосарианом Джоном    РАСЧ:    Йосарианом Джоном    М    Т
ОК    Йосариана Джона    РАСЧ:    Йосариана Джона    М    Р
ОК    Йосариану Джону    РАСЧ:    Йосариану Джону    М    Д
ОК    Микояне Анатолии    РАСЧ:    Микояне Анатолии    М    П
ОК    Микояна Анатолия    РАСЧ:    Микояна Анатолия    М    В
ОК    Микояном Анатолием    РАСЧ:    Микояном Анатолием    М    Т
ОК    Микояна Анатолия    РАСЧ:    Микояна Анатолия    М    Р
ОК    Микояну Анатолию    РАСЧ:    Микояну Анатолию    М    Д
ОК    Руководителя    РАСЧ:    Руководителя        Р
ОК    Руководителю    РАСЧ:    Руководителю        Д
ОК    Руководителя    РАСЧ:    Руководителя        В
ОК    Руководителем    РАСЧ:    Руководителем        Т
ОК    Руководителе    РАСЧ:    Руководителе        П
ОК    Генерального директора    РАСЧ:    Генерального директора        Р
ОК    Генеральному директору    РАСЧ:    Генеральному директору        Д
ОК    Генерального директора    РАСЧ:    Генерального директора        В
ОК    Генеральным директором    РАСЧ:    Генеральным директором        Т
ОК    Генеральном директоре    РАСЧ:    Генеральном директоре        П
ОК    Водителя    РАСЧ:    Водителя        Р
ОК    Водителю    РАСЧ:    Водителю        Д
ОК    Водителя    РАСЧ:    Водителя        В
ОК    Водителем    РАСЧ:    Водителем        Т
ОК    Водителе    РАСЧ:    Водителе        П
ОК    Заведущую    РАСЧ:    Заведущую        Р
ОК    Заведущей    РАСЧ:    Заведущей        Д
ОК    Заведущую    РАСЧ:    Заведущую        В
ОК    Заведущей    РАСЧ:    Заведущей        Т
ОК    Заведущей    РАСЧ:    Заведущей        П
ОК    Уборщицу    РАСЧ:    Уборщицу        Р
ОК    Уборщице    РАСЧ:    Уборщице        Д
ОК    Уборщицу    РАСЧ:    Уборщицу        В
ОК    Уборщицей    РАСЧ:    Уборщицей        Т
ОК    Уборщице    РАСЧ:    Уборщице        П
ОК    Дорожно-путевого рабочего    РАСЧ:    Дорожно-путевого рабочего        Р
ОК    Дорожно-путевому рабочему    РАСЧ:    Дорожно-путевому рабочему        Д
ОК    Дорожно-путевого рабочего    РАСЧ:    Дорожно-путевого рабочего        В
ОК    Дорожно-путевым рабочим    РАСЧ:    Дорожно-путевым рабочим        Т
ОК    Дорожно-путевом рабочем    РАСЧ:    Дорожно-путевом рабочем        П
ОК    Артиста ансамбля песни и танца    РАСЧ:    Артиста ансамбля песни и танца        Р
ОК    Артисту ансамбля песни и танца    РАСЧ:    Артисту ансамбля песни и танца        Д
ОК    Артиста ансамбля песни и танца    РАСЧ:    Артиста ансамбля песни и танца        В
ОК    Артистом ансамбля песни и танца    РАСЧ:    Артистом ансамбля песни и танца        Т
ОК    Артисте ансамбля песни и танца    РАСЧ:    Артисте ансамбля песни и танца        П
Ошибок по ФИО: 0
Ошибок по должности: 0
133 Гений 1С
 
гуру
30.05.08
16:45
(123) а ты уверен что Тумаркин Анна склоняется, может быть Тумаркина еще и склоняется. Как считаешь?
134 Гений 1С
 
гуру
30.05.08
16:45
(125) С дефисом еще поработаю, в курсе.
135 Гений 1С
 
гуру
30.05.08
16:46
В последней версии:

ОК    Лавлейс Аде    РАСЧ:    Лавлейс Аде    Ж    П
ОК    Лавлейс Аду    РАСЧ:    Лавлейс Аду    Ж    В
ОК    Лавлейс Адой    РАСЧ:    Лавлейс Адой    Ж    Т
ОК    Лавлейс Аду    РАСЧ:    Лавлейс Аду    Ж    Р
ОК    Лавлейс Аде    РАСЧ:    Лавлейс Аде    Ж    Д
ОК    Арендт Ханне    РАСЧ:    Арендт Ханне    Ж    П
ОК    Арендт Ханну    РАСЧ:    Арендт Ханну    Ж    В
ОК    Арендт Ханной    РАСЧ:    Арендт Ханной    Ж    Т
ОК    Арендт Ханну    РАСЧ:    Арендт Ханну    Ж    Р
ОК    Арендт Ханне    РАСЧ:    Арендт Ханне    Ж    Д
ОК    Рерих Елене    РАСЧ:    Рерих Елене    Ж    П
ОК    Рерих Елену    РАСЧ:    Рерих Елену    Ж    В
ОК    Рерих Еленой    РАСЧ:    Рерих Еленой    Ж    Т
ОК    Рерих Елену    РАСЧ:    Рерих Елену    Ж    Р
ОК    Рерих Елене    РАСЧ:    Рерих Елене    Ж    Д
ОК    Самбрано Марие    РАСЧ:    Самбрано Марие    Ж    П
ОК    Самбрано Марию    РАСЧ:    Самбрано Марию    Ж    В
ОК    Самбрано Марией    РАСЧ:    Самбрано Марией    Ж    Т
ОК    Самбрано Марию    РАСЧ:    Самбрано Марию    Ж    Р
ОК    Самбрано Марии    РАСЧ:    Самбрано Марии    Ж    Д
ОК    де'Сталь Анне    РАСЧ:    де'Сталь Анне    Ж    П
ОК    де'Сталь Анну    РАСЧ:    де'Сталь Анну    Ж    В
ОК    де'Сталь Анной    РАСЧ:    де'Сталь Анной    Ж    Т
ОК    де'Сталь Анну    РАСЧ:    де'Сталь Анну    Ж    Р
ОК    де'Сталь Анне    РАСЧ:    де'Сталь Анне    Ж    Д
ОШИБКА    Тумаркиной Анне Эстер    РАСЧ:    Тумаркин Анне Эстер    Ж    П
ОШИБКА    Тумаркину Анну Эстер    РАСЧ:    Тумаркин Анну Эстер    Ж    В
ОШИБКА    Тумаркиной Анной Эстер    РАСЧ:    Тумаркин Анной Эстер    Ж    Т
ОШИБКА    Тумаркину Анну Эстер    РАСЧ:    Тумаркин Анну Эстер    Ж    Р
ОШИБКА    Тумаркиной Анне Эстер    РАСЧ:    Тумаркин Анне Эстер    Ж    Д
136 Живой Ископаемый
 
30.05.08
16:50
(135) Вполне может быть что Тумаркин и не склоняется.. Она вроде в румынии родилась... есть еще английские фамилие на "кин" - та же Ходжкин - она точно не склоняется...
137 Живой Ископаемый
 
30.05.08
16:52
Проверь пока
ДобавитьТест( "Шимборская Вислава", "Ж", "П","Шимборской Виславе ");
ДобавитьТест( "Шимборская Вислава", "Ж", "В","Шимборскую Виславу ");
ДобавитьТест( "Шимборская Вислава", "Ж", "Т","Шимборской Виславой ");
ДобавитьТест( "Шимборская Вислава", "Ж", "Р","Шимборскую Виславу ");//<-- почему пишет Шимборской? - исправить

ДобавитьТест( "Шимборская Вислава", "Ж", "Д","Шимборской Виславе ");
138 Гений 1С
 
гуру
30.05.08
16:56
Обновил на инфостарте:

ОК    Иванову Анну Семеновну    РАСЧ:    Иванову Анну Семеновну    Ж    В
ОК    Ивановой Анной Семеновной    РАСЧ:    Ивановой Анной Семеновной    Ж    Т
ОК    Ивановой Анне Семеновне    РАСЧ:    Ивановой Анне Семеновне    Ж    Д
ОК    Ивановой Анне Семеновне    РАСЧ:    Ивановой Анне Семеновне    Ж    П
ОК    Осипова Сергея Александровича    РАСЧ:    Осипова Сергея Александровича    М    Р
ОК    Осипову Сергею Александровичу    РАСЧ:    Осипову Сергею Александровичу    М    Д
ОК    Осипова Сергея Александровича    РАСЧ:    Осипова Сергея Александровича    М    В
ОК    Осиповым Сергеем Александровичем    РАСЧ:    Осиповым Сергеем Александровичем    М    Т
ОК    Осипове Сергее Александровиче    РАСЧ:    Осипове Сергее Александровиче    М    П
ОК    Жириновского Владимира Вольфовича    РАСЧ:    Жириновского Владимира Вольфовича    М    Р
ОК    Жириновскому Владимиру Вольфовичу    РАСЧ:    Жириновскому Владимиру Вольфовичу    М    Д
ОК    Жириновского Владимира Вольфовича    РАСЧ:    Жириновского Владимира Вольфовича    М    В
ОК    Жириновским Владимиром Вольфовичем    РАСЧ:    Жириновским Владимиром Вольфовичем    М    Т
ОК    Жириновском Владимире Вольфовиче    РАСЧ:    Жириновском Владимире Вольфовиче    М    П
ОК    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковну    Ж    Р
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    Д
ОК    Линстред Астриду Марковну    РАСЧ:    Линстред Астриду Марковну    Ж    В
ОК    Линстред Астридой Марковной    РАСЧ:    Линстред Астридой Марковной    Ж    Т
ОК    Линстред Астриде Марковне    РАСЧ:    Линстред Астриде Марковне    Ж    П
ОК    Линстрен Марфу Марковну    РАСЧ:    Линстрен Марфу Марковну    Ж    Р
ОК    Линстрен Марфе Марковне    РАСЧ:    Линстрен Марфе Марковне    Ж    Д
ОК    Линстрен Марфу Марковну    РАСЧ:    Линстрен Марфу Марковну    Ж    В
ОК    Линстрен Марфой Марковной    РАСЧ:    Линстрен Марфой Марковной    Ж    Т
ОК    Линстрен Марфе Марковне    РАСЧ:    Линстрен Марфе Марковне    Ж    П
ОК    Бегбедера Фридерика Вольдемаровича    РАСЧ:    Бегбедера Фридерика Вольдемаровича    М    Р
ОК    Бегбедеру Фридерику Вольдемаровичу    РАСЧ:    Бегбедеру Фридерику Вольдемаровичу    М    Д
ОК    Бегбедера Фридерика Вольдемаровича    РАСЧ:    Бегбедера Фридерика Вольдемаровича    М    В
ОК    Бегбедером Фридериком Вольдемаровичем    РАСЧ:    Бегбедером Фридериком Вольдемаровичем    М    Т
ОК    Бегбедере Фридерике Вольдемаровиче    РАСЧ:    Бегбедере Фридерике Вольдемаровиче    М    П
ОК    Кука Томаса    РАСЧ:    Кука Томаса    М    Р
ОК    Куку Томасу    РАСЧ:    Куку Томасу    М    Д
ОК    Кука Томаса    РАСЧ:    Кука Томаса    М    В
ОК    Куком Томасом    РАСЧ:    Куком Томасом    М    Т
ОК    Куке Томасе    РАСЧ:    Куке Томасе    М    П
ОК    Памука Орхана    РАСЧ:    Памука Орхана    М    Р
ОК    Памуку Орхану    РАСЧ:    Памуку Орхану    М    Д
ОК    Памука Орхана    РАСЧ:    Памука Орхана    М    В
ОК    Памуком Орханом    РАСЧ:    Памуком Орханом    М    Т
ОК    Памуке Орхане    РАСЧ:    Памуке Орхане    М    П
ОК    Беринге Витусе    РАСЧ:    Беринге Витусе    М    П
ОК    Беринга Витуса    РАСЧ:    Беринга Витуса    М    В
ОК    Берингом Витусом    РАСЧ:    Берингом Витусом    М    Т
ОК    Беринга Витуса    РАСЧ:    Беринга Витуса    М    Р
ОК    Берингу Витусу    РАСЧ:    Берингу Витусу    М    Д
ОК    Блейне Дэвиде    РАСЧ:    Блейне Дэвиде    М    П
ОК    Блейна Дэвида    РАСЧ:    Блейна Дэвида    М    В
ОК    Блейном Дэвидом    РАСЧ:    Блейном Дэвидом    М    Т
ОК    Блейна Дэвида    РАСЧ:    Блейна Дэвида    М    Р
ОК    Блейну Дэвиду    РАСЧ:    Блейну Дэвиду    М    Д
ОК    Йосариане Джоне    РАСЧ:    Йосариане Джоне    М    П
ОК    Йосариана Джона    РАСЧ:    Йосариана Джона    М    В
ОК    Йосарианом Джоном    РАСЧ:    Йосарианом Джоном    М    Т
ОК    Йосариана Джона    РАСЧ:    Йосариана Джона    М    Р
ОК    Йосариану Джону    РАСЧ:    Йосариану Джону    М    Д
ОК    Микояне Анатолии    РАСЧ:    Микояне Анатолии    М    П
ОК    Микояна Анатолия    РАСЧ:    Микояна Анатолия    М    В
ОК    Микояном Анатолием    РАСЧ:    Микояном Анатолием    М    Т
ОК    Микояна Анатолия    РАСЧ:    Микояна Анатолия    М    Р
ОК    Микояну Анатолию    РАСЧ:    Микояну Анатолию    М    Д
ОК    Лавлейс Аде    РАСЧ:    Лавлейс Аде    Ж    П
ОК    Лавлейс Аду    РАСЧ:    Лавлейс Аду    Ж    В
ОК    Лавлейс Адой    РАСЧ:    Лавлейс Адой    Ж    Т
ОК    Лавлейс Аду    РАСЧ:    Лавлейс Аду    Ж    Р
ОК    Лавлейс Аде    РАСЧ:    Лавлейс Аде    Ж    Д
ОК    Арендт Ханне    РАСЧ:    Арендт Ханне    Ж    П
ОК    Арендт Ханну    РАСЧ:    Арендт Ханну    Ж    В
ОК    Арендт Ханной    РАСЧ:    Арендт Ханной    Ж    Т
ОК    Арендт Ханну    РАСЧ:    Арендт Ханну    Ж    Р
ОК    Арендт Ханне    РАСЧ:    Арендт Ханне    Ж    Д
ОК    Рерих Елене    РАСЧ:    Рерих Елене    Ж    П
ОК    Рерих Елену    РАСЧ:    Рерих Елену    Ж    В
ОК    Рерих Еленой    РАСЧ:    Рерих Еленой    Ж    Т
ОК    Рерих Елену    РАСЧ:    Рерих Елену    Ж    Р
ОК    Рерих Елене    РАСЧ:    Рерих Елене    Ж    Д
ОК    Самбрано Марие    РАСЧ:    Самбрано Марие    Ж    П
ОК    Самбрано Марию    РАСЧ:    Самбрано Марию    Ж    В
ОК    Самбрано Марией    РАСЧ:    Самбрано Марией    Ж    Т
ОК    Самбрано Марию    РАСЧ:    Самбрано Марию    Ж    Р
ОК    Самбрано Марии    РАСЧ:    Самбрано Марии    Ж    Д
ОК    де'Сталь Анне    РАСЧ:    де'Сталь Анне    Ж    П
ОК    де'Сталь Анну    РАСЧ:    де'Сталь Анну    Ж    В
ОК    де'Сталь Анной    РАСЧ:    де'Сталь Анной    Ж    Т
ОК    де'Сталь Анну    РАСЧ:    де'Сталь Анну    Ж    Р
ОК    де'Сталь Анне    РАСЧ:    де'Сталь Анне    Ж    Д
ОК    Деллада Грацие    РАСЧ:    Деллада Грацие    Ж    П
ОК    Деллада Грацию    РАСЧ:    Деллада Грацию    Ж    В
ОК    Деллада Грацией    РАСЧ:    Деллада Грацией    Ж    Т
ОК    Деллада Грацию    РАСЧ:    Деллада Грацию    Ж    Р
ОК    Деллада Грации    РАСЧ:    Деллада Грации    Ж    Д
ОК    Елинек Эльфриде    РАСЧ:    Елинек Эльфриде    Ж    П
ОК    Елинек Эльфриду    РАСЧ:    Елинек Эльфриду    Ж    В
ОК    Елинек Эльфридой    РАСЧ:    Елинек Эльфридой    Ж    Т
ОК    Елинек Эльфриду    РАСЧ:    Елинек Эльфриду    Ж    Р
ОК    Елинек Эльфриде    РАСЧ:    Елинек Эльфриде    Ж    Д
ОК    Бак Перл    РАСЧ:    Бак Перл    Ж    П
ОК    Бак Перл    РАСЧ:    Бак Перл    Ж    В
ОК    Бак Перл    РАСЧ:    Бак Перл    Ж    Т
ОК    Бак Перл    РАСЧ:    Бак Перл    Ж    Р
ОК    Бак Перл    РАСЧ:    Бак Перл    Ж    Д
ОК    Ли Харпер    РАСЧ:    Ли Харпер    Ж    П
ОК    Ли Харпер    РАСЧ:    Ли Харпер    Ж    В
ОК    Ли Харпер    РАСЧ:    Ли Харпер    Ж    Т
ОК    Ли Харпер    РАСЧ:    Ли Харпер    Ж    Р
ОК    Ли Харпер    РАСЧ:    Ли Харпер    Ж    Д
ОК    Лессинг Дорис    РАСЧ:    Лессинг Дорис    Ж    П
ОК    Лессинг Дорис    РАСЧ:    Лессинг Дорис    Ж    В
ОК    Лессинг Дорис    РАСЧ:    Лессинг Дорис    Ж    Т
ОК    Лессинг Дорис    РАСЧ:    Лессинг Дорис    Ж    Р
ОК    Лессинг Дорис    РАСЧ:    Лессинг Дорис    Ж    Д
ОК    Маатаи Вангари    РАСЧ:    Маатаи Вангари    Ж    П
ОК    Маатаи Вангари    РАСЧ:    Маатаи Вангари    Ж    В
ОК    Маатаи Вангари    РАСЧ:    Маатаи Вангари    Ж    Т
ОК    Маатаи Вангари    РАСЧ:    Маатаи Вангари    Ж    Р
ОК    Маатаи Вангари    РАСЧ:    Маатаи Вангари    Ж    Д
ОК    Шимборской Виславе    РАСЧ:    Шимборской Виславе    Ж    П
ОК    Шимборскую Виславу    РАСЧ:    Шимборскую Виславу    Ж    В
ОК    Шимборской Виславой    РАСЧ:    Шимборской Виславой    Ж    Т
ОК    Шимборскую Виславу    РАСЧ:    Шимборскую Виславу    Ж    Р
ОК    Шимборской Виславе    РАСЧ:    Шимборской Виславе    Ж    Д
ОК    Ицхака Рабина    РАСЧ:    Ицхака Рабина    М    Р
ОК    Ицхаку Рабину    РАСЧ:    Ицхаку Рабину    М    Д
ОК    Ицхака Рабина    РАСЧ:    Ицхака Рабина    М    В
ОК    Ицхаком Рабином    РАСЧ:    Ицхаком Рабином    М    Т
ОК    Ицхаке Рабине    РАСЧ:    Ицхаке Рабине    М    П
ОК    Ясира Арафата    РАСЧ:    Ясира Арафата    М    Р
ОК    Ясиру Арафату    РАСЧ:    Ясиру Арафату    М    Д
ОК    Ясира Арафата    РАСЧ:    Ясира Арафата    М    В
ОК    Ясиром Арафатом    РАСЧ:    Ясиром Арафатом    М    Т
ОК    Ясире Арафате    РАСЧ:    Ясире Арафате    М    П
ОК    Смолового Дмитрия Ивановича    РАСЧ:    Смолового Дмитрия Ивановича    М    Р
ОК    Смоловому Дмитрию Ивановичу    РАСЧ:    Смоловому Дмитрию Ивановичу    М    Д
ОК    Смолового Дмитрия Ивановича    РАСЧ:    Смолового Дмитрия Ивановича    М    В
ОК    Смоловым Дмитрием Ивановичем    РАСЧ:    Смоловым Дмитрием Ивановичем    М    Т
ОК    Смоловом Дмитрии Ивановиче    РАСЧ:    Смоловом Дмитрии Ивановиче    М    П
ОК    Руководителя    РАСЧ:    Руководителя        Р
ОК    Руководителю    РАСЧ:    Руководителю        Д
ОК    Руководителя    РАСЧ:    Руководителя        В
ОК    Руководителем    РАСЧ:    Руководителем        Т
ОК    Руководителе    РАСЧ:    Руководителе        П
ОК    Генерального директора    РАСЧ:    Генерального директора        Р
ОК    Генеральному директору    РАСЧ:    Генеральному директору        Д
ОК    Генерального директора    РАСЧ:    Генерального директора        В
ОК    Генеральным директором    РАСЧ:    Генеральным директором        Т
ОК    Генеральном директоре    РАСЧ:    Генеральном директоре        П
ОК    Водителя    РАСЧ:    Водителя        Р
ОК    Водителю    РАСЧ:    Водителю        Д
ОК    Водителя    РАСЧ:    Водителя        В
ОК    Водителем    РАСЧ:    Водителем        Т
ОК    Водителе    РАСЧ:    Водителе        П
ОК    Заведущую    РАСЧ:    Заведущую        Р
ОК    Заведущей    РАСЧ:    Заведущей        Д
ОК    Заведущую    РАСЧ:    Заведущую        В
ОК    Заведущей    РАСЧ:    Заведущей        Т
ОК    Заведущей    РАСЧ:    Заведущей        П
ОК    Уборщицу    РАСЧ:    Уборщицу        Р
ОК    Уборщице    РАСЧ:    Уборщице        Д
ОК    Уборщицу    РАСЧ:    Уборщицу        В
ОК    Уборщицей    РАСЧ:    Уборщицей        Т
ОК    Уборщице    РАСЧ:    Уборщице        П
ОК    Дорожно-путевого рабочего    РАСЧ:    Дорожно-путевого рабочего        Р
ОК    Дорожно-путевому рабочему    РАСЧ:    Дорожно-путевому рабочему        Д
ОК    Дорожно-путевого рабочего    РАСЧ:    Дорожно-путевого рабочего        В
ОК    Дорожно-путевым рабочим    РАСЧ:    Дорожно-путевым рабочим        Т
ОК    Дорожно-путевом рабочем    РАСЧ:    Дорожно-путевом рабочем        П
ОК    Артиста ансамбля песни и танца    РАСЧ:    Артиста ансамбля песни и танца        Р
ОК    Артисту ансамбля песни и танца    РАСЧ:    Артисту ансамбля песни и танца        Д
ОК    Артиста ансамбля песни и танца    РАСЧ:    Артиста ансамбля песни и танца        В
ОК    Артистом ансамбля песни и танца    РАСЧ:    Артистом ансамбля песни и танца        Т
ОК    Артисте ансамбля песни и танца    РАСЧ:    Артисте ансамбля песни и танца        П
Ошибок по ФИО: 0
Ошибок по должности: 0
139 Гений 1С
 
гуру
30.05.08
16:59
ОК    Инструкторе по рукопашной борьбе    РАСЧ:    Инструкторе по рукопашной борьбе        П
140 Гений 1С
 
гуру
30.05.08
17:03
(130) Не подскажешь потому что не знаешь или не хочешь?
141 Живой Ископаемый
 
30.05.08
17:11
Потому что не знаю...
142 Живой Ископаемый
 
30.05.08
17:16
так, Шиборскую вроде уже верно склоняет
143 Живой Ископаемый
 
30.05.08
17:17
Ходжкин тоже...
144 Живой Ископаемый
 
30.05.08
17:22
ДобавитьТест( "Баварская Изабелла", "Ж", "П","Баварской Изабелле ");
ДобавитьТест( "Баварская Изабелла", "Ж", "В","Баварскую Изабеллу ");
ДобавитьТест( "Баварская Изабелла", "Ж", "Т","Баварской Изабеллой ");
ДобавитьТест( "Баварская Изабелла", "Ж", "Р","Баварскую Изабеллу ");
ДобавитьТест( "Баварская Изабелла", "Ж", "Д","Баварской Изабелле ");
ДобавитьТест( "Стюарт Мария", "Ж", "П","Стюарт Марие ");
ДобавитьТест( "Стюарт Мария", "Ж", "В","Стюарт Марию ");
ДобавитьТест( "Стюарт Мария", "Ж", "Т","Стюарт Марией ");
ДобавитьТест( "Стюарт Мария", "Ж", "Р","Стюарт Марию ");
ДобавитьТест( "Стюарт Мария", "Ж", "Д","Стюарт Марии ");
ДобавитьТест( "Мбанди-Нгола Зинга", "Ж", "П","Мбанди-Нгола Зинге ");
ДобавитьТест( "Мбанди-Нгола Зинга", "Ж", "В","Мбанди-Нгола Зингу ");
ДобавитьТест( "Мбанди-Нгола Зинга", "Ж", "Т","Мбанди-Нгола Зингой ");
ДобавитьТест( "Мбанди-Нгола Зинга", "Ж", "Р","Мбанди-Нгола Зингу ");
ДобавитьТест( "Мбанди-Нгола Зинга", "Ж", "Д","Мбанди-Нгола Зинге ");
ДобавитьТест( "Ганди Индира", "Ж", "П","Ганди Индире ");
ДобавитьТест( "Ганди Индира", "Ж", "В","Ганди Индиру ");
ДобавитьТест( "Ганди Индира", "Ж", "Т","Ганди Индирой ");
ДобавитьТест( "Ганди Индира", "Ж", "Р","Ганди Индиру ");
ДобавитьТест( "Ганди Индира", "Ж", "Д","Ганди Индире ");
ДобавитьТест( "Ганди Раджив", "М", "П","Ганди Радживе ");
ДобавитьТест( "Ганди Раджив", "М", "В","Ганди Раджива ");
ДобавитьТест( "Ганди Раджив", "М", "Т","Ганди Радживом ");
ДобавитьТест( "Ганди Раджив", "М", "Р","Ганди Раджива ");
ДобавитьТест( "Ганди Раджив", "М", "Д","Ганди Радживу ");
ДобавитьТест( "Неру Джвахарлал", "М", "П","Неру Джвахарлале ");
ДобавитьТест( "Неру Джвахарлал", "М", "В","Неру Джвахарлала ");
ДобавитьТест( "Неру Джвахарлал", "М", "Т","Неру Джвахарлалом ");
ДобавитьТест( "Неру Джвахарлал", "М", "Р","Неру Джвахарлала ");
ДобавитьТест( "Неру Джвахарлал", "М", "Д","Неру Джвахарлалу ");
//

До сюда - все верно...

//с Тагором - лажа
ДобавитьТест( "Тагор Робиндранад", "М", "П","Тагоре Робиндранаде ");
ДобавитьТест( "Тагор Робиндранад", "М", "В","Тагора Робиндранада ");
ДобавитьТест( "Тагор Робиндранад", "М", "Т","Тагором Робиндранадом ");
ДобавитьТест( "Тагор Робиндранад", "М", "Р","Тагора Робиндранада ");
ДобавитьТест( "Тагор Робиндранад", "М", "Д","Тагору Робиндранаду ");
145 Гений 1С
 
гуру
30.05.08
17:24
(144) Я добавлю окончание ОР, но не уверен, что его склоняют, хотя Пахтакор - Пахтакору...
146 Гений 1С
 
гуру
30.05.08
17:27
(141) я распечатал 24 страницы дискусии по крохотульке, попробую оттуда примеры нарыть. ;-)
147 Живой Ископаемый
 
30.05.08
17:28
http://ru.wikipedia.org/wiki/Тагор,_Рабиндранат
буквально в первом абзаце:
" Его мать, Сарада Деви, умерла, когда Тагору было 14 лет. "
148 Гений 1С
 
гуру
30.05.08
17:28
(147) убедил, злодей, поправлю. только уже завтра...
накидывайте еще
149 Амёба
 
30.05.08
17:29
ДобавитьТестДолжности("Медицинская сестра", "Р", "Медицинскую сестру");
ДобавитьТестДолжности("Медицинская сестра", "Д", "Медицинской сестре");
ДобавитьТестДолжности("Медицинская сестра", "В", "Медицинскую сестру");
ДобавитьТестДолжности("Медицинская сестра", "Т", "Медицинской сестрой");
ДобавитьТестДолжности("Медицинская сестра", "П", "Медицинской сестре");
150 Гений 1С
 
гуру
30.05.08
17:38
Обновил, теперь берет и двойный-тройные фамилии:
ОК    Складовской-Кюри Марие    РАСЧ:    Складовской-Кюри Марие    Ж    П
ОК    Складовскую-Кюри Марию    РАСЧ:    Складовскую-Кюри Марию    Ж    В
ОК    Складовской-Кюри Марией    РАСЧ:    Складовской-Кюри Марией    Ж    Т
ОК    Складовскую-Кюри Марию    РАСЧ:    Складовскую-Кюри Марию    Ж    Р
ОК    Складовской-Кюри Марии    РАСЧ:    Складовской-Кюри Марии    Ж    Д
ОК    Петрова-Водкина    РАСЧ:    Петрова-Водкина    М    Р
ОК    Петрову-Водкину    РАСЧ:    Петрову-Водкину    М    Д
ОК    Петрова-Водкина    РАСЧ:    Петрова-Водкина    М    В
ОК    Петровым-Водкиным    РАСЧ:    Петровым-Водкиным    М    Т
ОК    Петрове-Водкине    РАСЧ:    Петрове-Водкине    М    П
151 Амёба
 
30.05.08
17:39
ДобавитьТестДолжности("Машинистка", "Р", "Машинистку");
ДобавитьТестДолжности("Машинистка", "Д", "Машинистке");
ДобавитьТестДолжности("Машинистка", "В", "Машинистку");
ДобавитьТестДолжности("Машинистка", "Т", "Машинисткой");
ДобавитьТестДолжности("Машинистка", "П", "Машинистке");
152 Амёба
 
30.05.08
17:42
ДобавитьТестДолжности("Сторож", "Р", "Сторожа");
ДобавитьТестДолжности("Сторож", "Д", "Сторожу");
ДобавитьТестДолжности("Сторож", "В", "Сторожа");
ДобавитьТестДолжности("Сторож", "Т", "Сторожем");
ДобавитьТестДолжности("Сторож", "П", "Стороже");
153 Гений 1С
 
гуру
30.05.08
17:44
(149) Победил медсестру, заведущую и уборщицу... ;-)
154 Гений 1С
 
гуру
30.05.08
17:44
ОК    Заведущую    РАСЧ:    Заведущую        Р
ОК    Заведущей    РАСЧ:    Заведущей        Д
ОК    Заведущую    РАСЧ:    Заведущую        В
ОК    Заведущей    РАСЧ:    Заведущей        Т
ОК    Заведущей    РАСЧ:    Заведущей        П
ОК    Уборщицу    РАСЧ:    Уборщицу        Р
ОК    Уборщице    РАСЧ:    Уборщице        Д
ОК    Уборщицу    РАСЧ:    Уборщицу        В
ОК    Уборщицей    РАСЧ:    Уборщицей        Т
ОК    Уборщице    РАСЧ:    Уборщице        П

ОК    Медицинскую сестру    РАСЧ:    Медицинскую сестру        Р
ОК    Медицинской сестре    РАСЧ:    Медицинской сестре        Д
ОК    Медицинскую сестру    РАСЧ:    Медицинскую сестру        В
ОК    Медицинской сестрой    РАСЧ:    Медицинской сестрой        Т
ОК    Медицинской сестре    РАСЧ:    Медицинской сестре        П
155 Амёба
 
30.05.08
17:48
ДобавитьТестДолжности("Горновой доменной печи", "Р", "Горнового доменной печи");
ДобавитьТестДолжности("Горновой доменной печи", "Д", "Горновому доменной печи");
ДобавитьТестДолжности("Горновой доменной печи", "В", "Горнового доменной печи");
ДобавитьТестДолжности("Горновой доменной печи", "Т", "Горновым доменной печи");
ДобавитьТестДолжности("Горновой доменной печи", "П", "Горновом доменной печи");
156 Гений 1С
 
гуру
30.05.08
17:49
Еще и тагора победили, обновил:

ОК    Тагоре Робиндранаде    РАСЧ:    Тагоре Робиндранаде    М    П
ОК    Тагора Робиндранада    РАСЧ:    Тагора Робиндранада    М    В
ОК    Тагором Робиндранадом    РАСЧ:    Тагором Робиндранадом    М    Т
ОК    Тагора Робиндранада    РАСЧ:    Тагора Робиндранада    М    Р
ОК    Тагору Робиндранаду    РАСЧ:    Тагору Робиндранаду    М    Д

Все, на сегодня только принимаю рекламации.
Поправлять буду позже.
157 Живой Ископаемый
 
30.05.08
17:50
(155) Я думал над этим... хотел привести в качетсве примера "корабль ее величества"... Но по-моему это не правильно... должность тут  - "корабль" и "горновой"....
158 Амёба
 
30.05.08
17:54
ДобавитьТестДолжности("Жокей", "Р", "Жокея");
ДобавитьТестДолжности("Жокей", "Д", "Жокею");
ДобавитьТестДолжности("Жокей", "В", "Жокея");
ДобавитьТестДолжности("Жокей", "Т", "Жокеем");
ДобавитьТестДолжности("Жокей", "П", "Жокее");
159 Амёба
 
30.05.08
17:58
ДобавитьТестДолжности("Швея", "Р", "Швею");
ДобавитьТестДолжности("Швея", "Д", "Швее");
ДобавитьТестДолжности("Швея", "В", "Швею");
ДобавитьТестДолжности("Швея", "Т", "Швееё");
ДобавитьТестДолжности("Швея", "П", "Швее");

Всё беру из ОКПДТР в ЗУП.
160 Амёба
 
30.05.08
17:58
ДобавитьТестДолжности("Швея", "Р", "Швею");
ДобавитьТестДолжности("Швея", "Д", "Швее");
ДобавитьТестДолжности("Швея", "В", "Швею");
ДобавитьТестДолжности("Швея", "Т", "Швеей");
ДобавитьТестДолжности("Швея", "П", "Швее");

Ошибся немного.
161 Гений 1С
 
гуру
30.05.08
18:01
(155) С доменной печью прикольно.
Наверное, на первом же прилагательном нужно делать стоп и дальше не склонять.
т.е. оператор вакуумной , стоп, склоняем только оператора
162 Гений 1С
 
гуру
30.05.08
18:01
или "Оператор станка с программным числовым управлением"
стоппером будет "нка".
163 Гений 1С
 
гуру
30.05.08
18:02
или "анка"
164 Гений 1С
 
гуру
30.05.08
18:02
кстати. когда я боролся с сестрой, привнес ошибки, но они были выявлены тестами. вот зачем нужны тесты!
165 12345
 
30.05.08
18:24
а слабо набросать варианты шоб в8 кошку от собаки через веб камеру отличала???)))
166 Гений 1С
 
гуру
02.06.08
12:41
В новой версии на инфостарт расширена тестовая база.
Кроме того, найдено пару ошибок у меня на родительном падеже в тестовых примерах - неправильно просклонял.

Не знаю, как правильно - о марие или о марии, думаю все же о марии. ;-)

Кроме того - для сравнения та же тестовая база используется для тестирования крохотульки.
Есть спорные моменты, честно говоря, не знаю, некоторые фамилии склоняются или нет.

Что касается востребованности - лично мне претит, когда такой прозрачный функционал запихивают в ДЛЛ. ;-)
К тому же неясны моменты насчет оплаты за этот ДЛЛ. ;-)
Лично я писал на досуге.

В планах - протестировать на имеющейся тестовой базе NameDecl.dll, посмотреть, что она выдаст... ;-)
И если там ошибка, как вы ее будете исправлять? Ждать 1С? Думаю, делать затычку на уровне вызова метода. ;-)
В общем, лично мне не нравится, когда такой код выносят в ДЛЛ.

Я проанализировал половину примеров, встречающихся в комментариях к "Крохотульке", добавил их в тестовую базу.
Скоро одолею оставшуюся половину.

Основная трудность - это список несклоняемых фамилий. Трудность не техническая, а предметная. Нужно составить что-то типо мини-словаря. ;-)
167 Гений 1С
 
гуру
02.06.08
17:00
Накидайте тестов, тупые 1сники, не ленитесь, не ленитесь!
168 Гений 1С
 
гуру
02.06.08
19:03
Протестировал типовую на тестовых примерах, выдает ошибки, а как правильно?:
Арендт Ханна=>ОШИБКА:    Арендте Ханне     НАДО:    Арендт Ханне    Ж    П
Арендт Ханна=>ОШИБКА:    Арендта Ханну     НАДО:    Арендт Ханну    Ж    В
Арендт Ханна=>ОШИБКА:    Арендтом Ханной     НАДО:    Арендт Ханной    Ж    Т
Арендт Ханна=>ОШИБКА:    Арендта Ханны     НАДО:    Арендт Ханны    Ж    Р
Арендт Ханна=>ОШИБКА:    Арендту Ханне     НАДО:    Арендт Ханне    Ж    Д
NameDeclension : Неправильное значение параметра "ФИО". Недопустимый символ '''.
де'Сталь Анна=>ОШИБКА:         НАДО:    де'Сталь Анне    Ж    П
NameDeclension : Неправильное значение параметра "ФИО". Недопустимый символ '''.
де'Сталь Анна=>ОШИБКА:         НАДО:    де'Сталь Анну    Ж    В
NameDeclension : Неправильное значение параметра "ФИО". Недопустимый символ '''.
де'Сталь Анна=>ОШИБКА:         НАДО:    де'Сталь Анной    Ж    Т
NameDeclension : Неправильное значение параметра "ФИО". Недопустимый символ '''.
де'Сталь Анна=>ОШИБКА:         НАДО:    де'Сталь Анны    Ж    Р
NameDeclension : Неправильное значение параметра "ФИО". Недопустимый символ '''.
де'Сталь Анна=>ОШИБКА:         НАДО:    де'Сталь Анне    Ж    Д
Деллада Грация=>ОШИБКА:    Делладе Грации     НАДО:    Деллада Грации    Ж    П
Деллада Грация=>ОШИБКА:    Делладу Грацию     НАДО:    Деллада Грацию    Ж    В
Деллада Грация=>ОШИБКА:    Делладой Грацией     НАДО:    Деллада Грацией    Ж    Т
Деллада Грация=>ОШИБКА:    Деллады Грации     НАДО:    Деллада Грации    Ж    Р
Деллада Грация=>ОШИБКА:    Делладе Грации     НАДО:    Деллада Грации    Ж    Д
Бак Перл=>ОШИБКА:    Баке Перле     НАДО:    Бак Перл    Ж    П
Бак Перл=>ОШИБКА:    Бака Перла     НАДО:    Бак Перл    Ж    В
Бак Перл=>ОШИБКА:    Баком Перлом     НАДО:    Бак Перл    Ж    Т
Бак Перл=>ОШИБКА:    Бака Перла     НАДО:    Бак Перл    Ж    Р
Бак Перл=>ОШИБКА:    Баку Перлу     НАДО:    Бак Перл    Ж    Д
Ли Харпер=>ОШИБКА:    Ли Харпере     НАДО:    Ли Харпер    Ж    П
Ли Харпер=>ОШИБКА:    Ли Харпера     НАДО:    Ли Харпер    Ж    В
Ли Харпер=>ОШИБКА:    Ли Харпером     НАДО:    Ли Харпер    Ж    Т
Ли Харпер=>ОШИБКА:    Ли Харпера     НАДО:    Ли Харпер    Ж    Р
Ли Харпер=>ОШИБКА:    Ли Харперу     НАДО:    Ли Харпер    Ж    Д
Шимборская Вислава=>ОШИБКА:    Шимборскае Виславе     НАДО:    Шимборской Виславе    Ж    П
Шимборская Вислава=>ОШИБКА:    Шимборскаю Виславу     НАДО:    Шимборскую Виславу    Ж    В
Шимборская Вислава=>ОШИБКА:    Шимборскаей Виславой     НАДО:    Шимборской Виславой    Ж    Т
Шимборская Вислава=>ОШИБКА:    Шимборскаи Виславы     НАДО:    Шимборской Виславы    Ж    Р
Шимборская Вислава=>ОШИБКА:    Шимборскае Виславе     НАДО:    Шимборской Виславе    Ж    Д
Ицхак Рабин=>ОШИБКА:    Ицхаком Рабиным     НАДО:    Ицхаком Рабином    М    Т
Полушка Анна=>ОШИБКА:    Полушки Анны     НАДО:    Полушка Анны    Ж    Р
Полушка Анна=>ОШИБКА:    Полушке Анне     НАДО:    Полушка Анне    Ж    Д
Полушка Анна=>ОШИБКА:    Полушку Анну     НАДО:    Полушка Анну    Ж    В
Полушка Анна=>ОШИБКА:    Полушкой Анной     НАДО:    Полушка Анной    Ж    Т
Полушка Анна=>ОШИБКА:    Полушке Анне     НАДО:    Полушка Анне    Ж    П
Фарада Семен Фазанович=>ОШИБКА:    Фарады Семена Фазановича     НАДО:    Фарада Семена Фазановича    М    Р
Фарада Семен Фазанович=>ОШИБКА:    Фараде Семену Фазановичу     НАДО:    Фарада Семену Фазановичу    М    Д
Фарада Семен Фазанович=>ОШИБКА:    Фараду Семена Фазановича     НАДО:    Фарада Семена Фазановича    М    В
Фарада Семен Фазанович=>ОШИБКА:    Фарадой Семеном Фазановичем     НАДО:    Фарада Семеном Фазановичем    М    Т
Фарада Семен Фазанович=>ОШИБКА:    Фараде Семене Фазановиче     НАДО:    Фарада Семене Фазановиче    М    П
Ганнибал Павел=>ОШИБКА:    Ганнибала Павела     НАДО:    Ганнибал Павла    М    Р
Ганнибал Павел=>ОШИБКА:    Ганнибалу Павелу     НАДО:    Ганнибал Павлу    М    Д
Ганнибал Павел=>ОШИБКА:    Ганнибала Павела     НАДО:    Ганнибал Павла    М    В
Ганнибал Павел=>ОШИБКА:    Ганнибалом Павелом     НАДО:    Ганнибал Павлом    М    Т
Ганнибал Павел=>ОШИБКА:    Ганнибале Павеле     НАДО:    Ганнибал Павле    М    П
169 Гений 1С
 
гуру
02.06.08
19:05
а что, NameDecl не умеет склонять должности? или по другому надо вызывать
170 Живой Ископаемый
 
02.06.08
19:09
Я, кстати подумал - не будет никаких проблем с английскими фамилиями типа "Ходжкин"... принцип простой - если это Ж.Р - то не склоняем... обочное условие - если это агнлийская барышня, то ее фамилия так и буедт "Ходжкин", в противоположность руской, которая была бы "Ходжкина"...
А если это М.Р., то думаю не страшно, если Эндрю Ходжкин, скажем, будет просклонен по тому же правилу, что "Иван Кошкин"
171 Живой Ископаемый
 
02.06.08
19:11
RE: Протестировал типовую на тестовых примерах, выдает ошибки, а как правильно?:
А в типовой указывается род? Просто это очень важно... Если Бак Перл - это дядька, то права типавая.. Если тетка (как на самом деле) - то типовая не права... Перл - это жемчужина... вредли так назовут мальчика... хотя, могут конечно. :)
Бак Перл=>ОШИБКА:    Баке Перле     НАДО:    Бак Перл    Ж    П
Бак Перл=>ОШИБКА:    Бака Перла     НАДО:    Бак Перл    Ж    В
Бак Перл=>ОШИБКА:    Баком Перлом     НАДО:    Бак Перл    Ж    Т
Бак Перл=>ОШИБКА:    Бака Перла     НАДО:    Бак Перл    Ж    Р
Бак Перл=>ОШИБКА:    Баку Перлу     НАДО:    Бак Перл    Ж    Д
172 Гений 1С
 
гуру
02.06.08
19:17
(171) да, в типовой три параметра: ФИО, падеж, число.

Типовая не умеет склонять павла. Вах... Может и Льва не умеет, надо посмотреть.

Выложил обновление на инфостарте

Ганнибал Павел=>ОШИБКА:    Ганнибала Павела     НАДО:    Ганнибал Павла    М    Р
Ганнибал Павел=>ОШИБКА:    Ганнибалу Павелу     НАДО:    Ганнибал Павлу    М    Д
Ганнибал Павел=>ОШИБКА:    Ганнибала Павела     НАДО:    Ганнибал Павла    М    В
Ганнибал Павел=>ОШИБКА:    Ганнибалом Павелом     НАДО:    Ганнибал Павлом    М    Т
Ганнибал Павел=>ОШИБКА:    Ганнибале Павеле     НАДО:    Ганнибал Павле    М    П
173 Живой Ископаемый
 
02.06.08
19:18
с Полушкой - вопрос.. в русской традиции - такие фамилии нужно склонять.. Возьми для примера туже Любовь Склиску, фамилия которой склоняется...
174 Живой Ископаемый
 
02.06.08
19:19
Фараду - да, нужно склонять, потому что М.Р.
175 Живой Ископаемый
 
02.06.08
19:19
Ганнибала бы я тоже просклонял по той же причине...
176 Живой Ископаемый
 
02.06.08
19:20
С делладой - наверное можно и так и так, не уверен...
177 Гений 1С
 
гуру
02.06.08
19:28
Кстати, неплохая шняга тут, надо из нее чего-нибудь потырить. ;-)
http://www.infostart.ru/profile/8349/projects/803/
178 Гений 1С
 
гуру
03.06.08
09:50
Собираюсь добавить в функцию проверку исключений и языки.
Т.е. чтобы работало с русским и другими языками.
Исключения заносятся в константу. Если ее нет в конфе, то работает без проверки исключений.
Будет форма для редактирования исключений.
Таким образом, если найдена ошибка, она заносится в список исключений, потом телеграфируется об ошибке сюда, мы ее в следующей версии обработки исправляем и можно жить спокойно дальше - бизнес-процессы ни на секунду не прерываются. ;-)
179 Asdam
 
03.06.08
11:00
180 Asdam
 
03.06.08
11:00
181 Гений 1С
 
гуру
03.06.08
11:50
(179) Допишешь в мою обработку? ;-)
Я организовываю только поддержку других языков на уровне интерфейса. Реализацию укров делать не буду.
182 Гений 1С
 
гуру
03.06.08
11:50
Проверка движка мисты:
<строка>
<значение>Иванов</значение>
<падеж>Р</падеж>
<вид>Фамилия</вид>
<пол>М</пол>
</строка>
183 Гений 1С
 
гуру
03.06.08
11:51
ое... надо переходить на XML-формат тестов. ;-)
184 Asdam
 
05.06.08
12:15
Автоклавщик литья под давлением=>ОШИБКА:    Автоклавщика литья пода давлениема    НАДО:    Автоклавщика литья под давлением        Р
Автоклавщик литья под давлением=>ОШИБКА:    Автоклавщику литья поду давлениему    НАДО:    Автоклавщику литья под давлением        Д
Автоклавщик литья под давлением=>ОШИБКА:    Автоклавщика литья пода давлениема    НАДО:    Автоклавщика литья под давлением        В
Автоклавщик литья под давлением=>ОШИБКА:    Автоклавщиком литья подом давлениемом    НАДО:    Автоклавщиком литья под давлением        Т
Автоклавщик литья под давлением=>ОШИБКА:    Автоклавщике литья поде давлениеме    НАДО:    Автоклавщике литья под давлением        П
Автоклавщик-сушильщик аккумуляторных пластин=>ОШИБКА:    Автоклавщик-сушильщика аккумуляторныха пластина    НАДО:    Автоклавщика-сушильщика аккумуляторных пластин        Р
Автоклавщик-сушильщик аккумуляторных пластин=>ОШИБКА:    Автоклавщик-сушильщику аккумуляторныху пластину    НАДО:    Автоклавщику-сушильщику аккумуляторных пластин        Д
Автоклавщик-сушильщик аккумуляторных пластин=>ОШИБКА:    Автоклавщик-сушильщика аккумуляторныха пластина    НАДО:    Автоклавщика-сушильщика аккумуляторных пластин        В
Автоклавщик-сушильщик аккумуляторных пластин=>ОШИБКА:    Автоклавщик-сушильщиком аккумуляторныхом пластином    НАДО:    Автоклавщиком-сушильщиком аккумуляторных пластин        Т
Автоклавщик-сушильщик аккумуляторных пластин=>ОШИБКА:    Автоклавщик-сушильщике аккумуляторныхе пластине    НАДО:    Автоклавщике-сушильщике аккумуляторных пластин        П
Агроном-инспектор=>ОШИБКА:    Агроном-инспектора    НАДО:    Агронома-инспектора        Р
Агроном-инспектор=>ОШИБКА:    Агроном-инспектору    НАДО:    Агроному-инспектору        Д
Агроном-инспектор=>ОШИБКА:    Агроном-инспектора    НАДО:    Агронома-инспектора        В
Агроном-инспектор=>ОШИБКА:    Агроном-инспектором    НАДО:    Агрономом-инспектором        Т
Агроном-инспектор=>ОШИБКА:    Агроном-инспекторе    НАДО:    Агрономе-инспекторе        П
185 Гений 1С
 
гуру
05.06.08
17:02
(184) Пасибо, поправим и включим.
186 Asdam
 
06.06.08
10:51
А может настройку правил и слов-исключений вынести во внешний, например, *.ini файл, который размещать в каталоге дополнительной информации. Чтобы оперативно вносить изменения в правила, не прибегая к изменениям конфигурации или обработки.
187 Гений 1С
 
гуру
06.06.08
17:04
(186) смысл? вставляешь-то все равно функцию, попутно можно и константу добавить, в ней и хранить исключения... Юзверям дать обработку чтобы они этот список могли редактировать (что хранится в константе), нет времени все написать эту обработочку.
188 Гений 1С
 
гуру
19.06.08
13:44
Обновил, добавил редактор исключений:
http://infostart.ru/projects/2031

Поддержите меня, там в комментах ассемблерщик распоясался и тупую критику моего кода разводит.