Склонение ФИО

Опубликовал Marina (evoo) в раздел Программирование - Практика программирования

Склонение ФИО без подключения сторонних компонент для ЗУП 2.5!

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

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

Наименование Файл Версия Размер
Склонение ФИО
.epf 6,21Kb
11.10.13
45
.epf 1 6,21Kb 45 Скачать

См. также

PowerTools от 1 000
Комментарии
1. Петр (peterxx) 14 11.10.13 15:55 Сейчас в теме
Стесняюсь спросить, а чем она отличается (желательно в лучшую сторону) от уже предлагавшихся здесь и компоненты от 1С?
2. Котэ Пруидзе (kote) 450 11.10.13 17:28 Сейчас в теме
(1) судя по всему - это не внешняя компонента.. т.е. там код 1С отрабатывает - осталось только это все оформить в виде функции..
3. MagIvan (RailMen) 12.10.13 00:55 Сейчас в теме
Текст в студию.
Без текста - кот в мешке.
Sherdrada; echo77; +2 Ответить
4. Юрий Ульянов (spy-83) 166 12.10.13 08:24 Сейчас в теме
5. Marina (evoo) 6 14.10.13 04:21 Сейчас в теме
Столкнулась с задачей, нужно было просклонять ФИО в нескольких падежах. На просторах интернета предлагается часто вариант подключения внешней библиотеки NameDecl.dll.

НО, в ЗУП есть собственная компонента склонения и даже есть общая функция, которая работает с помощью подключения этой компоненты.

У меня возникли сложности с подключением компоненты и работой этой функции на управляемых формах. После того как проблема решена, спешу поделиться с теми кто работает на управляемых формах (вот особенность:)).
6. Marina (evoo) 6 14.10.13 04:23 Сейчас в теме
(4) spy-83, что-то не вижу текста у вас..
7. Яков Коган (Yashazz) 1987 14.10.13 13:51 Сейчас в теме
Если кому с текстом, то вот: http://infostart.ru/public/16470/ - во всех падежах.
А ещё можно поискать по автору Jurer (у меня сеть подтормаживает, щас не найду), там сильно сделано и лаконично.
8. Андрей Лещанов (Nuuq) 61 23.10.13 10:51 Сейчас в теме
Вот выдранный из дельфи на 1С77, этот для 1С82. Так же этот алгоритм видел еще где-то
Скрытый текст

У меня данный алгоритм успешно склоняет ФИО для печати некоторых документов в УТ 10.3
9. Xer shi (Xershi) 225 11.07.14 11:24 Сейчас в теме
(8) Nuuq, я чуть не умер от боли при взгляде на ваш код. Поменяйте цвет текста...
10. Артем Григоров (Alchemist) 29.07.14 10:34 Сейчас в теме
(1) peterxx, автор написал, что обработка не использует никаких внешних компонент - скачал, потратил 1$m - посмотрел исходный код, и увидел, что, на самом деле, обработка использует типовые механизмы ЗУП. Ставлю минус!!!

//Получение компоненты склонения ФИО 
&НаСервереБезКонтекста
Функция ПодключитьКомпоненту()

ИмяКомпоненты =  "ОбщийМакет.КомпонентаСклоненияФИО";
Если Не ПодключитьВнешнююКомпоненту(ИмяКомпоненты, "МояКомпонентаСклоненияФИО", ТипВнешнейКомпоненты.Native) Тогда
  ВызватьИсключение НСтр("ru = 'Ошибка подключения внешней компоненты.'");
КонецЕсли;

Возврат Новый("AddIn.МояКомпонентаСклоненияФИО.CNameDecl");

КонецФункции


// Функция склоняет переданую фразу через подключение к штатной Функции "Просклонять" и компоненте "КомпонентаСклоненияФИО" 
//   Падеж, в который необходимо поставить ФИО.
//   1 - Именительный
//   2 - Родительный
//   3 - Дательный
//   4 - Винительный
//   5 - Творительный
//   6 - Предложный
&НаСервере
Функция СклонятьНаСервере ()
	КомпонентаСклоненияФИО = ПодключитьКомпоненту();
	ФИОСотрудника = Сотрудники; 
	УниверсальныеМеханизмы.Просклонять(КомпонентаСклоненияФИО, ФИОСотрудника, 3,Неопределено, ФИОСотрудника);  
	Возврат ФИОСотрудника;
КонецФункции
...Показать Скрыть
d4rkmesa; +1 Ответить
11. Халидэ Гриценко (Халидэ) 09.09.15 08:07 Сейчас в теме
Представляет кого? Иванова Олег Анатольевича. А никак не Олега Анатольевича.