logotype

V8 склонение по падежам

- 01 Марта 2012.

Использование внешней компоненты "Склонение ФИО"
Внешняя компонента предназначена для склонения фамилий, имен и отчеств на русском языке. Компонента используется в конфигурациях на базе платформ "1С:Предприятия 7.7" и "1С:Предприятия 8".
Компонента предоставляет метод Просклонять, который производит склонение ФИО в виде строки, в требуемом падеже. Метод принимает параметр ФИО, Падеж, Пол.

Просклонять(ФИО, Падеж, Пол)

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

Параметр Падеж - задается числом и может принимать следующие значения от 1 до 6. (1 Именительный, 2 - Родительный, 3 - Дательный, 4 - Винительный, 5 - Творительный, 6 - Предложный)

Параметр Пол является не обязательным и принимает значения: 0 - авто, 1 - мужской, 2 - женский.

Функция возвращает результат склонения - строка, содержащая исходное ФИО в заданном падеже. В случае ошибки во входных данных сообщение об ошибке выводится в окно сообщений.
Приведенный ниже фрагмент кода на встроенном языке 1С загружает компоненту и используя метод компоненты Просклонять, получает форму родительного падежа для ФИО "Сидоров Иван Иванович".

Пример1:

Попытка

// Загружаем внешнюю компоненту
ЗагрузитьВнешнююКомпоненту("NameDecl.dll"); 
Объект = Новый("AddIn.NameDeclension");

Исключение

Сообщить("Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!" + ОписаниеОшибки());

КонецПопытки; 

// Определяем ФИО, которые надо просклонять
ФИО = " Сидоров Иван Иванович"; 

// Задаем требуемый падеж
Падеж = 3; 

// Получаем результат склонения
Результат = Объект.Просклонять(ФИО, Падеж); 


Компонента называется NameDecl.dll. Скачать можно на диске ИТС.

Пример2:

РезультатСклонения = "";
  Если УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной("глКомпонентаСклоненияФИО"), ОтветственныеЛица.РуководительДолжность, 2,, РезультатСклонения) Тогда
   Макет.Параметры.ДолжностьРуководителя = РезультатСклонения
  КонецЕсли;

Social Bookmarks