По теме из базы знаний
- ФИО и должность в родительном падеже
- Договор поставки (Внешняя печатная форма документа "Реализация товаров и услуг")
- Склонение ФИО и должностей через веб-сервис – 1С 8.2 / 8.3
- Полезные функции. Склонение (должность и фамилия подписантов). Любой язык
- Коротко о скриптах в конфигурации 1С:Документооборот
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(8)Компонента хорошо склоняет только ФИО, при склонении прочих названий, особенно, если должность, например, состоит из двух слов -генеральный директор, то результат склонения большая лотерея -генеральныя директора. Проверено много раз. Поэтому при формировании макета печатной формы нужно стремиться так унифицировать текст, чтобы должности, подразделения и прочее можно было выводить в именительном падеже.
Пользуйтесь. Только предварительно внимательно прочтите код!
// © Jurer Production Begin ( Start )
// В случае, если программа окажется для Вас полезной, и Вы представляете только свои интересы, а не интересы фирмы,
// автор будет весьма признателен, если Вы перечислите ему некую сумму на Ваше усмотрение (автор будет благодарен любым инициативам).
// Для этого через сбербанк перечислите N-ую сумму на следующий счет:
// филиал 8606/018 Рязанское ОСБ № 8606 СБ РФ г.Рязань РЕКВИЗИТЫ: ИНН 7707083893КОР.СЧЕТ 30101810500000000614 БИК 046126614
// ДЛЯ ПЕРЕЧИСЛЕНИЙ ВО ВКЛАД ФИЗИЧ.ЛИЦ – 47422810453009902100 НОМЕР СБЕРКНИЖКИ: 42301810953002115714/01 Железняков Юрий Юрьевич
// ____________________________________________________________ ______
//
// SuperJur.Narod.Ru
//
// ____________________________________________________________ ______
// Удаление этих строк незнаконно!
// Гарантия 91 года и 1 месяц!!!
// Послегарантийное обслуживание - бесплатно!!!
// Круглосуточная поддержка - все 48 часов в бою!
// Ссылка на источник обязательна!
// Эти программы защищены законом об авторских правах. Запрещается перепродажа данной программы.
// ПРОВЕРЕНО! ВИРУСОВ НЕТ!!! АНТИВИРУСОВ ТОЖЕ!!!
// Смотри Милячуша в творительном !!
// !№№!
// !52! выправил имя на -ия - досадная ошибка произошла в тексте программы
// !50! П:Ответственный за электрохозяйство Ф:Ацута Груша
// !48! исправлена ошибка при склонении фамилий (спасибо, Mario).
// !47! исправлена ошибка при склонении профессий ( спасибо, Павел Ковалев).
// !46! оптимизация + четвертый параметр задает, что вернуть - фамилия, имя или отчество или все сразу в нужном падеже
// !42! Осел + Соловей + Воробей + Немец + Кормилец + Силиец
// !41! отчества оканчивающиеся на "ы" считаются женскими ?
// Функция для склонения одного слова!!!
Функция ПадежС(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));//под составные слова
z1=НРег(?((z21)и(z1""),Лев(z1,1)+".",z1));
z7=Прав(z1,3);z8=Прав(z7,2);z9=Прав(z8,1);
z2=?(((z4=2)и((z3="а")или(z3="ы"))и(Найти("бвгджзклмнопрстфхцчшщъиеу",z9)>0))или((z4=2)и(z3="ч")и(Найти("оиеу",z9)>0))или((z4=1)и(Найти("мия мяэ лия кия жая лея",z7)>0)),1,Макс(z2,-z2));
z5=СтрДлина(z1);
z10=Найти("ая ия ел ок яц ий па да ца ша ба та га ка",z8);
z11=?(z4=1,?(Найти("оеиую",z9)+Найти("их ых аа еа ёа иа оа уа ыа эа юа яа",z8)>0,-1,?((z3="а")или(z3="ы"),?(z10=1,8,?(z9="а",?(z10>18,3,9),-1)),?(((Найти("ой ый",z8)>0)и(z5>4))или(Найти("гий жий кий ний чий хий ший щий",z7)>0),10,0))),0);
z11=?(z11=0,?(z10=4,7,Найти(".чайяь",z9)), z11);
z12=Найти("лец вей дец пец мец нец рец вец аец иец ыец бер бей",z7);
z14=?((z11=10)и(z25),?(Найти("чшщ",Лев(z7,1))+Найти("жий ний",z7)>0,"е","о"),?(z1="лев","ьв",?((Найти("аеёийоуэюя",Сред(z1,z5-3 ,1))+Найти("аеёийоуэюя",Лев(z7,1))=0)и(z1241),"",?(z10=7,"л",?(z10=10,"к",?(z10=13,"йц",?(z12=0,"",?((z120,ВРег(Лев(z14,1))+Сред(z14,2),z14)+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" ), то И. О.
Функция Падеж(z1,z2=2,z3=3,Знач z4="123",z5=1) Экспорт
Возврат?(z50)и(Найти("ющий нный",Сред(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)))));
КонецФункции//ПадежП
// © Jurer Production End ( Finish )
Показать
Спасибо огромное!!! Очень помогло данное решение проблемы.
Правда сначала при использовании кода немного запуталась и просклонялось не правильно,
но потом вродебы разобралась и теперь всё работает просто замечательно.
Ещё раз спасибо за подсказку!!!
Правда сначала при использовании кода немного запуталась и просклонялось не правильно,
но потом вродебы разобралась и теперь всё работает просто замечательно.
Ещё раз спасибо за подсказку!!!
это только ИМХО ;)
http://russkiiyazyk.ru/sintaksis/kak-pravilno-pisat-zaveduyushhiy-zaveduyushhaya-chem-ili-chego.html
Я в обеих функциях использовал пол и получал весьма странные результаты. Указанную вами обработку еще не тестировал.
Я в обеих функциях использовал пол и получал весьма странные результаты. Указанную вами обработку еще не тестировал.
(16) Бюрократические правила не всегда в теме филологических. Представьте, у вас утвержденное штатное расписание с должностью Заведующая складом. А через год на это место приходит работник мужчина. Будете менять штатное расписание? И почему стоит вопрос о заведующем/заведующей? Рабочий производственных бань/Рабочая производственных бань, Уборщик/Уборщица, Управляющий/Управляющая??? В кадровом деле определяющим является Общероссийский классификатор должностей (ОКПДТР). Что любопытно, в женском роде там только Заведующая машинописным бюро. Что за дискриминация мужского пола?!
Для БП 3.0:Работает для родительного падежа для должности Генеральный директор,для ФИО тот же механизм.
ООО "Рога и копыта", именуемым в дальнейшем «Подрядчик», в лице генерального директора Иванова Ивана Ивановича
ООО "Рога и копыта", именуемым в дальнейшем «Подрядчик», в лице генерального директора Иванова Ивана Ивановича
Падеж = 2;
ПустойДоговор = Справочники.ДоговорыКонтрагентов.ПустаяСсылка(); // для любого договора
Результат = СклонениеПредставленийОбъектов.ПросклонятьПредставление(Выборка.ДоговорКонтрагентаРуководительКонтрагента, Падеж, ПустойДоговор);
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот