Имя: Пароль:
1C
 
Падежи
Ø
0 Sww
 
09.12.05
13:08
Подскажите, пожалуйста, как в 1С7.7 сделать так, чтобы наименования справочников (ФИО, подразделение, должность) в печатной форме были родительном падеже?
1 ninal
 
09.12.05
13:10
Программу написать по склонению :-)))
2 Romanson
 
09.12.05
13:13
// (c) Jurer Production Begin ( Start )
// Номер версии 20 от 14.10.2002 - оптимизация кода + можно склонять профессии - Падеж(Профессия,Падеж,4)
// Только не забывайте проголосовать "ИДЕЯ", а то программа будет работать неправильно!
// __________________________________________________________________
//
// SuperJur.Narod.Ru
//
// _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ SuperJur _ _ _ _ _ _ _ _ _ _ _ _ _ _
//
// _ _ _ _ _ _ _ _ _ _ _ _ _ IQ = ICQ#: 164599984 _ _ _ _ _ _ _ _ _ _
// __________________________________________________________________
// Сообщения о недоточётах, замечания, пожелания шлите в мыло: UGeleznyakov@esv.ryazan.ru
// Гарантия 93 года и 8 месяцев!!!
// Послегарантийное обслуживание - бесплатно!!!
// Круглосуточная поддержка - все 24 часа в бою!
// Ссылка на источник обязательна!
// Эти программы защищены законом об авторских правах
// ПРОВЕРЕНО! ВИРУСОВ НЕТ!!! АНТИВИРУСОВ ТОЖЕ!!!
// SuperJur = Железняков Юрий Юрьевич ( Рязань - 2002 )
Функция ПадежС(z1,z2=2,z3="*")
  // z1 - существительное
  // z2 - номер падежа
  // старая версия
  //z4=Прав(z1,2);z5=Найти(".чайяь",Прав(z4,1));z5=?((z5=6)и(z3="ч"),4,z5);z6=СтрДлина(z1)-1;z7=?(z4="ия","и","е");
  //Возврат СокрП(?(z5>2,Лев(z1,z6)+Сред(?(Найти("гжкхш",Сред(z1,z6,1))>0,"и","ы")+" я и и е ю "+z7+" и у я ю ь ойемейьюе е "+z7+" и",8*z2+2*z5-21,2),?(z4="ел",Лев(z1,z6-1)+"л",?(z4="ев",Лев(z1,z6-1)+"ьв",z1))+?((z5=1)или(Прав(z1,3)="жан"),"",Сред("а у а "+?(z5=2,"е","о")+"ме",z2*2-3,2))))
  z4=Прав(z1,2);z5=?(z4="ия",7,Найти(".чайяь",Прав(z4,1)));z6=СтрДлина(z1)-2;
  Возврат ?(z2=1,z1,?(z5>2,Лев(z1,z6+1),?(z4="ел",Лев(z1,z6)+"л",?(z4="ев",Лев(z1,z6)+"ьв",z1)))+?(Прав(z1,3)="жан","",СокрП(Сред("а у а оме а у а еме "+?(Найти("гжкхш",Лев(z4,1))>0,"и","ы")+" е у ойе я ю я еме и е ю ейе и и ь ьюи и и ю ейи",10*?((z5=6)и(z3="ч"),4,z5)+2*z2-3,2))))
КонецФункции
//_____________________________________________________________________________
Функция Падеж(Знач z1,Знач z2=2,z3=3)
  // z1 - фамилия имя отчество например Железняков Юрий Юрьевич
  // Падеж
  // 2 - родительный ( нет кого? ) Железнякова Юрия Юрьевича
  // 3 - дательный ( кому? ) Железнякову Юрию Юрьевичу
  // 4 - винительный ( вижу кого? ) Железнякова Юрия Юрьевича
  // 5 - творительный ( кем? ) Железняковым Юрием Юрьевичем
  // 6 - предложный ( о ком? ) Железнякове Юрие Юрьевиче
  // Если задать Z2 меньше 0, то на выходе получим от -1=Железняков Ю. Ю. до -6=Железнякове Ю. Ю.
  // Параметр Пол может не указываться, но при наличии фамилий с
  // инициалами точное определение пола невозможно, поэтому предлагается задавать пол этим
  // параметром
  // 1 - мужской
  // 2 - женский
  // ДЛЯ СКЛОНЕНИЕ ПРОФЕССИЙ ИСПОЛЬЗУЙТЕ КОНСТРУКЦИЮ Падеж(Профессия,Падеж,4)
  // Бибик Галушка Цой Николайчик Наталия Петровна Герценберг
  z1=СокрЛП(z1);z3=Сред("ча"+Прав(z1,1)+"ч",z3,1);z4=Найти(z1+" "," ");
  Если z2<0 Тогда //участок преобразования Фамилия Имя Отчество --> Фамилия И. О.
    z2=-z2;
    z5=Лев(z1+" ", z4+1)+". ";
    z1=СтрЗаменить(z5+Сред(z1,Найти(Сред(z1+" ",z4+2)," ")+СтрДлина(z5)-1,1)+"."," .","");
  КонецЕсли;
  z5=Лев(z1,z4-1);z6=Прав(z5,3);z7=Прав(z6,2);z8=Прав(z7,1);
  z5=?(z3="а",?((z8="а")и(z6<>"ула")или(z7="ая"),Лев(z5,z4-?(z7="ая",3,2))+Сред(?(z7="ая",z7,z8+" ")+?(z7="ка","и е у ойе","ойойу"+?(z7="ая","ю"," ")+"ойой"),z2*2-1,2),z5), ?(Найти("ой ый ий",z7)>0,?(Найти("Цц",Сред(z5,z4-3,1))>0,ПадежС(z5,z2),Лев(z5,z4-3)+Сред(" огоомуого"+?((z7="ий")или(z6="гой")или(z6="хой"),"и","ы")+"м ом",z2*3-2,3)),?(Найти("вт",z8)+Найти("ак ах ик им ин ич рг ын юк яр яш",z7)>0,z5+Сред(" а у а "+Сред("оыыые", Найти(" внтч",z8)+1,1)+"ме",z2*2-1,2),z5)));
  z8=z4+Найти(Сред(z1+" ",z4+1)," ");
  Возврат ?((z3="ч")и(z4=СтрДлина(z1)+1),ПадежС(z1,z2),СокрП(z5))+" "+ПадежС(Сред(z1,z4+1,z8-z4-1),z2,z3)+" "+ПадежС(Сред(z1,z8+1,СтрДлина(z1)-z8),z2,z3)
КонецФункции // Функция Падеж(z1,z2=2,z3=3)
// (c) Jurer Production End ( Finish )
3 Tereann
 
09.12.05
13:14
Поиск на проклабе рулит