gifts2017

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

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

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

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

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

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

См. также

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

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

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

У меня данный алгоритм успешно склоняет ФИО для печати некоторых документов в УТ 10.3
9. Xer shi (Xershi) 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,Неопределено, ФИОСотрудника);  
	Возврат ФИОСотрудника;
КонецФункции
...Показать Скрыть
11. Халидэ Гриценко (Халидэ) 09.09.15 08:07
Представляет кого? Иванова Олег Анатольевича. А никак не Олега Анатольевича.