Содержание:
1. Новый инструмент в платформе 1С – склонение
2. Описание метода «ПолучитьСклоненияСтроки»
3. Эксперименты по склонению в 1С
1. Новый инструмент в платформе 1С - склонение
Начиная с версии платформы 1С 8.3.13 стали доступными методы склонения строк. Это – «ПолучитьСклоненияСтроки» и «ПолучитьСклоненияСтрокиПоЧислу». Событие крайне важное, однако данный функционал столь же полезен, сколько и опасен. Так что настраивать склонения в 1С нужно с умом, чему Вы и научитесь, дочитав данный текст до конца. Сразу оговорюсь, что в статье речь пойдет только о первом методе.
Про полезность можно не рассказывать – огромное количество задач требуют использования словосочетаний и слов в падежах, отличных от именительных. А вот опасности надо перечислить.
1. Метод является черным ящиком (глобальный контекст). Есть только результат. А насколько результат являются единственным и правильными – вопрос открытый.
2. Потребность в склонениях в 1С возникает при работе с печатными формами: акты, накладные, договоры и т.д. В предпринимательской деятельности большая часть – это юридически значимые документы, где грамматические ошибки чреваты юридическими последствиями.
3. Русский язык богат и могуч. Падежи в русском языке подчиняются жестким правилам. Для получения падежа для имени собственного специально в явном виде указывается параметр «Пол». Это дает практически 100% результат. Но бывает так, что не один.
Таким образом правильным решением было бы отказаться от использования способа «слепо доверять», а применять инструмент Склонения по падежам в 1С как вспомогательный.
2. Описание метода «ПолучитьСклоненияСтроки»
Описание метода доступно в синтаксис-помощнике. Кратко:
ПолучитьСклоненияСтроки(<ИсходнаяСтрока>, <Локализация + Пол>, <Падеж>)
Локализация: ru_RU, en_US и т.д
Пол: Мужской, Женский – это если метод применяется для склонения собственных имен. Речь идет именно про пол, а не про род.
Падеж: Именительный, Родительный и т.д. до Предложного.
Результат – массив. В результате может быть один или несколько вариантов, но всегда массив. Поэтому для подстановки, например, значения в печатную форму необходимо выбрать элемент массива. Чаще всего первый. Либо предоставить право выбора элемента массива пользователю.
3. Эксперименты по склонению в 1С
Для проведения экспериментов по склонению в 1С была сделана простенькая обработка. Код модуля:
Примеры
Яйцо (по одному экземпляру каждого падежа):
· Именительный (Кто? Что?): яйцо
· Родительный (Кого? Чего?): яйца
· Дательный (Кому? Чему?): яйцу
· Винительный (Кого? Что?): яйцо
· Творительный (Кем? Чем?): яйцом
· Предложный (О ком? О чем?): яйце
Мартина Навратилова (Указан пол: Женский):
· Именительный (Кто? Что?): Мартина Навратилова
· Родительный (Кого? Чего?): Мартины Навратиловой
· Дательный (Кому? Чему?): Мартине Навратиловой
· Винительный (Кого? Что?): Мартину Навратилову
· Творительный (Кем? Чем?): Мартиной Навратиловой
· Предложный (О ком? О чем?): Мартине Навратиловой
Кий (легендарный основатель Киева. Указан пол: Мужской)
· Именительный (Кто? Что?): Кий
· Родительный (Кого? Чего?): Кия
· Дательный (Кому? Чему?): Кию
· Винительный (Кого? Что?): Кия
· Творительный (Кем? Чем?): Кием
· Предложный (О ком? О чем?): Кии
Предложный падеж в 1С для этого имени – Кие. Существительные на -ий, -ия с односложной основой имеют в безударном положении по общему правилу окончание -е. Аналогично: Вий.
Асалбек Назриев (Указан пол: Мужской)
· Именительный (Кто? Что?): Асалбек Назриев
· Родительный (Кого? Чего?): Асалбека Назриева
· Родительный (Кого? Чего?): Асалбка Назриева
· Дательный (Кому? Чему?): Асалбеку Назриеву
· Дательный (Кому? Чему?): Асалбку Назриеву
· Винительный (Кого? Что?): Асалбека Назриева
· Винительный (Кого? Что?): Асалбка Назриева
· Творительный (Кем? Чем?): Асалбеком Назриевым
· Творительный (Кем? Чем?): Асалбком Назриевым
· Предложный (О ком? О чем?): Асалбеке Назриеве
· Предложный (О ком? О чем?): Асалбке Назриеве
Платформа предлагает по 2 варианта во всех падежах.
Специалист компании «Кодерлайн»
Сергей Пушкин