Склонение по падежам фамилий и должностей в 1С
Внешняя компонента Morpher.dll предназначена для склонения по падежам фамилий, имен и отчеств, а также произвольных словосочетаний
на русском и украинском языках.
В настоящий момент реализованы функции:
| Функция | | Русский | Украинский |
| Склонение фамилий, имен и отчеств | Да | Да |
| Склонение произвольных словосочетаний | Да | Работа ведется |
| Определение рода (пола) | Да | Да |
«Произвольные словосочетания» включают в себя должности, названия отделов, предприятий и организаций, например:
директор по маркетингу,
инженер-программист,
отдел продаж.
Компонента выполнена по технологии Native API, что позволяет ей работать в толстом и тонком клиентах платформы 1С 8.2.
Для установки не требуется регистрировать компоненту в системном реестре и не нужны права администратора.
Инструкции по установке и использованию
Внешняя компонента состоит из одного файла с названием Morpher.dll.
Для установки достаточно поместить этот файл в папку bin 1С:Предприятия (в ту же папку, где находится файл 1cv8c.exe).
Для проверки работоспособности компоненты откройте вашу конфигурацию в режиме Конфигуратора, кликните правой кнопкой на узле «Конфигурация» и
выберите в появившемся меню пункт «Открыть модуль обычного приложения». Добавьте в модуль следующий код:
Процедура ПриНачалеРаботыСистемы()
Если ПодключитьВнешнююКомпоненту(
"Morpher.dll",
"Морфер",
ТипВнешнейКомпоненты.Native)
Тогда
морфер = Новый ("AddIn.Морфер.Русский");
Сообщить (морфер.Дательный ("Привет Приветыч"));
Иначе
Сообщить ("Не удалось ПодключитьВнешнююКомпоненту Morpher.dll.");
КонецЕсли;
КонецПроцедуры
Функции склонения
Названия функций соответствуют падежам русского языка:
| Функция |
Вопрос |
Описание |
| Родительный | кого? чего? | Строит форму родительного падежа. |
| Дательный | кому? чему? | Строит форму дательного падежа. |
| Винительный | кого? что? | Строит форму винительного падежа. |
| Творительный | кем? чем? | Строит форму творительного падежа. |
| Предложный | о ком? о чем? | Предложный падеж без предлога. * |
| ПредложныйО | о ком? о чем? | Предложный падеж с предлогом О/ОБ/ОБО. * |
| ПредложныйВ | где? | Предложный падеж с предлогом В/НА. * |
* См. Рекомендации по выбору варианта предложного падежа
Для украинского языка нужно создать объект "AddIn.Морфер.Українська", а список функций выглядит так:
| Функція |
Питання |
Опис |
| Родовий | кого? чого? | Утворює форму родового відмінку |
| Давальний | кому? чому? | Утворює форму давального відмінку |
| Знахiдний | кого? що? | Утворює форму знахiдного відмінку |
| Орудний | ким? чим? | Утворює форму орудного відмінку |
| Мiсцевий | на кому? на чому? | Утворює форму мiсцевого відмінку без прийменника |
| Кличний | Шановний... | Утворює форму кличного відмінку |
Каждая из вышеперечисленных функций принимает строковый параметр – словосочетание в именительном падеже и возвращает также строку – исходное словосочетание в форме заданного падежа.
Функция определения пола
Данная функция определяет грамматический род входного словосочетания.
Роду однозначно соответствует пол, если словосочетание называет человека.
Для русского языка функция называется Род и может возвращать одно из следующих строковых значений:
| Функция |
Возвращаемые значения |
Означает |
| Род | Муж | Мужской род или пол |
| Жен | Женский род или пол |
| Сред | Средний род |
| Множ | Множественное число |
Для украинского языка соответствующая функция называется Рід:
| Функція |
Повертає значення |
Означає |
| Рід |
Чол | Чоловічий рід або стать |
| Жін | Жіночий рід або стать |
| Сер | Середній рід |
| Множ | Множина |
В случае если входное словосочетание не содержит русских (или украинских) слов, функции склонения и определения рода
возвращают встроенное значение Неопределено.
Функции не имеют англоязычных синонимов.
Полезные ссылки
Заказать компоненту склонения Morpher.dll
Альтернатива покупке компоненты – бесплатный веб-сервис «Морфер» (пока только для русского языка). Работа с веб-сервисами – это встроенная возможность платформы 1С, при этом склонение производится на серверах morpher.ru, а 1С выступает в роли клиента.
Скачать пример внешней обработки.
Комментарии
1sneg
16.11.2011 22:19 UTC
морфер = Новый("AddIn.Морфер.Русский");
сотрудник = Справочники.Сотрудники.Выбрать();
сотрудник.Следующий();
Сообщить (морфер.Дательный (сотрудник.Наименование));
{МодульОбычногоПриложения(28)}: Поле объекта недоступно для записи (Наименование)
Сообщить (морфер.Дательный (сотрудник.Наименование));
Как побороть?
Сообщить (морфер.Дательный ("Телегин Петр Кузьмич"));
Работает нормально
|