Вход | Регистрация

1С:Предприятие ::

Метки: 

Родительный падеж в печатных формах

Я
   Ann
15.12.03 - 16:21
Подскажите, пожалуйста, как решается вопрос использования родительного падежа в печатных формах?
Например, приказ о приеме:
Приказываю Петрова Ивана Дмитринвича принять .....
 
 
   Vlad_nik
 
1 - 15.12.03 - 16:26
Посмотри на Hippo - там была функция Падеж.
   Ann
2 - 15.12.03 - 17:39
А Вы не подскажете конкретнее на хиппо найти эту функцию? По поиску не получается что-то.
   skunk
 
3 - 15.12.03 - 17:41
// (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 )

Надеюсь разберешся


Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует