Использование склонений ФИО и должностей в справках и приказах

28.03.11

Разработка - Универсальные функции

Часто в справке или приказе нужно указать ФИО и/или должность в падеже. Используется, как правило, родительный, дательный и винительный падеж. В прилагаемом фрагменте глобального модуля предлагается вариант решения данной проблемы.

Скачать файлы

Наименование Файл Версия Размер
ФрагментГлобальногоМодуля.txt
.txt 12,02Kb
176
.txt 12,02Kb 176 Скачать

Для склонения ФИО используется функция глПадежФИО(). В 99% случаев работает без ошибок. Исключения могут быть только для каких-либо национальных фамилий и имен.

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

При необходимости тексты функций можно доработать.

См. также

Библиотека процедур и функций для технологической платформы "1С: Предприятие 7.7"

Универсальные функции Платформа 1С v7.7 Россия Абонемент ($m)

В библиотеку собраны различные функции по работе с документами, журналами, типами данных, строками, датой и временем, таблицами значений, Excel, файлами, XML, JSON, Http-сервисами, SMTP серверами и т.п.

1 стартмани

22.12.2023    657    9    user706545_kseg1971    0    

4

1С 7.7 и новый 1С:Контрагент

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Россия Бесплатно (free)

Получение реквизитов контрагентов из 1С:Контрагент для старых конфигураций под 1с 7.7.

25.04.2022    1819    zhenyat    7    

6

Печать таблицы значений в 1С 7.7 при отладке

Универсальные функции Платформа 1С v7.7 Россия Бесплатно (free)

Функция выводит таблицу значений в табличный документ. (v7.7) Особенно полезно при отладке. Не нужно вносить изменения в код, вызываем функцию как вычисляемое выражение при останове. Если таблица обрабатывается в несколько этапов, можно вывести её после каждого и визуально проследить эволюцию.

30.06.2021    4398    Zoltan_Black    11    

2

Установка принтера по умолчанию для 1С 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Установка принтера по умолчанию в 1С 7.7. Обработка может быть полезна в том случае, когда нужно установить принтер по умолчанию, а доступа к рабочему столу нет (например, терминальный режим без рабочего стола или remoteApp)

1 стартмани

13.02.2019    13285    4    alsen    3    

4

Формирование строки json в 1С: 7.7

Универсальные функции Платформа 1С v7.7 Конфигурации 1cv7 1С:Комплексная 7.7 Абонемент ($m)

Предлагается набор функций 1с 7.7 для формирования строки json стандартными средствами.

1 стартмани

10.12.2018    10094    malovandrey    2    

18

Как создать индикатор в 1С:Предприятии 7.7

Универсальные функции Работа с интерфейсом Платформа 1С v7.7 Конфигурации 1cv7 Россия Абонемент ($m)

В статье дано описание создания индикатора на форме в среде разработки 1С:Предприятие 7.7 исключительно типовыми средствами.

1 стартмани

27.09.2016    18672    2    HAMMER_59    6    

2
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. samamoiloff 861 28.03.11 15:43 Сейчас в теме
По поводу склонения ФИО есть старая версия, даже не помню откуда взятая, огромная благодарность тому, кто делал...
Не было нареканий.
В ячейке Табличного документа пишем выражение Падеж(Сотрудник.Наименование,3,3)
А в Глобальном модуле 2 процедурки:
Функция ПадежС(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)<>"опой"))или((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<>45),"",?(za=7,"л",?(za=10,"к",?(za=13,"йц",?(ze=0,"",?(ze<12,"ь"+?(ze=1,"ц",""),?(ze<37,"ц",?(ze<49,"йц","р"))))))))));
zf=?((zd=9)или((z4=3)и(z3="ы")),z1,Лев(z1,z5-?((zd>6)или(zf<>""),2,?(zd>0,1,0)))+zf+СокрП(Сред("а у а "+Сред("оыые",Найти("внч",z9)+1,1)+"ме "+?(Найти("гжкхш",Лев(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,z3=3,Знач z4="123",z5=1) Экспорт
Возврат?(z5<4,Падеж(СокрЛП(СтрЗаменить(Сред(z1,Найти(z1+" "," ")+1),".",". ")),z2,z3,СтрЗаменить(z4,z5,ПадежС(Лев(z1,Найти(z1+" "," ")-1),z2,Сред("ча"+НРег(Прав(z1,1)),z3,1),z5)+" "),z5+1),z4);
КонецФункции // Падеж()
4. Yashazz 4709 29.03.11 11:48 Сейчас в теме
(1) Ага, это товарищ Jurer делал. Ещё есть http://infostart.ru/public/16470/
В общем, велосипед изобретён успешно, да.
cool.vlad4; +1 Ответить
5. cool.vlad4 2 29.03.11 11:57 Сейчас в теме
(4) то, что доктор прописал, спасибо!
2. samamoiloff 861 28.03.11 15:48 Сейчас в теме
Не смог я HTML код сюда вставить...
3. jack19 148 28.03.11 16:48 Сейчас в теме
Возможно приведённая Вами функция и работает, но больно уж её текст непрозрачный. Если понадобится что-то подправить, то чёрт ногу сломит.
6. Hoodoo 23.10.11 20:30 Сейчас в теме
автору спасибо за решение вопроса
7. winise 29.10.11 00:31 Сейчас в теме
Велосипед, не велосипед, главное работает !!!
8. 2112861 29.10.11 18:19 Сейчас в теме
НЕ ОЖИДАЛА, что даже такая обработка есть
9. Edd123 05.01.12 23:21 Сейчас в теме
Обработка интересная, а сайту минус за то, что многие обработки продают как кота в мешке, чтобы посмотреть на обработку и понять, что это полная лажа за нее нужно сначала заплатить. Ех, не хватает на вас общества защиты прав потребителей...
Оставьте свое сообщение