Склоняет указанную строку.
Синтаксис
ПолучитьСклоненияСтроки(<СклоняемаяСтрока>, <ОписаниеСтроки>, <ФорматнаяСтрока>)Примеры платформы
Результат = ПолучитьСклоненияСтроки("токарь третьего разряда",
,
"ПД=Дательный");
Результат = ПолучитьСклоненияСтроки("А. Грин",
"ПЛ=Мужской",
"ПД=Дательный");Полное описание, параметры и ограничения
Глобальный контекст.ПолучитьСклоненияСтроки (Global context.GetStringDeclensions)
Глобальный контекст (Global context)
ПолучитьСклоненияСтроки (GetStringDeclensions)
Доступен, начиная с версии 8.3.13.
Синтаксис:
ПолучитьСклоненияСтроки(<СклоняемаяСтрока>, <ОписаниеСтроки>, <ФорматнаяСтрока>)
Параметры:
<СклоняемаяСтрока> (обязательный)
Тип: Строка.
Содержит строку, которую нужно просклонять.
<ОписаниеСтроки> (необязательный)
Тип: Строка.
Содержит информацию о строке, которую требуется просклонять.
Каждый параметр задается именем параметра, символом "=" (равно) и значением параметра. Параметры перечисляются через символ ";" (точка с запятой).
Допустимы следующие параметры:
Л (L) - Код локализации. По умолчанию используется код локализации информационной базы. Примеры кодов локализации: ru_RU - Русский (Россия); en_US - Английский (США). В настоящий момент поддерживается только русский язык. Если код локализации не указан, то используется текущая локализация информационной базы.
ПЛ (GN) - Пол. Параметр используется при склонении имен собственных. Если пол не указан, то платформа пытается распознать его на основании переданного словосочетания. Возможные варианты:
Мужской (Masculine),
Женский (Feminine).
Значение по умолчанию: Пустая строка.
<ФорматнаяСтрока> (необязательный)
Тип: Строка.
Содержит параметры форматирования.
Каждый параметр задается именем параметра, символом "=" (равно) и значением параметра. Параметры перечисляются через символ ";" (точка с запятой).
Допустимы следующие параметры:
ПД (CS) – Падеж. Если падеж не указан, то склонение не выполняется (выдается исходная строка). Поддерживаются следующие падежи:
Именительный (Nominative),
Родительный (Genitive),
Дательный (Dative),
Винительный (Accusative),
Творительный (Instrumental),
Предложный (Prepositional).
Значение по умолчанию: Пустая строка.
Возвращаемое значение:
Тип: Массив.
Массив, содержащий возможные варианты склонения строки.
Если требуется только один вариант, можно использовать первый. Также в конфигурации может быть предусмотрен выбор пользователем варианта склонения из нескольких вариантов.
Описание:
Склоняет указанную строку.
Доступность:
Сервер, толстый клиент, внешнее соединение.
Пример:
Результат = ПолучитьСклоненияСтроки("токарь третьего разряда",
,
"ПД=Дательный");
// Результат - массив со строкой "токарю третьего разряда".
Результат = ПолучитьСклоненияСтроки("А. Грин",
"ПЛ=Мужской",
"ПД=Дательный");
// Результат - массив со строкой "А. Грину".
Использование в версии:
Доступен, начиная с версии 8.3.13.
Методическая информация
Практические примеры
Подготовить адресата учебного текста в дательном падеже
Склоняем собственное название профессии для строки Кому. Возвращаемый массив проверяется до выбора первого варианта.
Где и как запускать
Полный серверный общий модуль учебной базы. Собственные значения в памяти, без чтения или записи рабочих данных.
Подготовка
Используйте отдельную учебную базу без рабочих данных. Создайте серверный общий модуль УчебныйЯзык с флагом Сервер, без Привилегированный.
Вставьте весь модуль выбранного примера, а не одну процедуру внутрь другой. Из своей серверной команды учебной обработки вызовите УчебныйЯзык.ВыполнитьПример().
Все числа, строки и коллекции созданы в самом примере. Документы, регистры, файловая система и сеть не используются; никаких зависимостей от КА2/УНФ/УТ/БП нет.
Браузер показывает код, но не исполняет BSL. Проверки результата нужно выполнить вручную на платформе 8.5.1.1343 в учебной базе.
Процедура ВыполнитьПример() Экспорт
Профессия = "токарь третьего разряда";
Варианты = ПолучитьСклоненияСтроки(Профессия, "Л=ru_RU", "ПД=Дательный");
Если Варианты.Количество() = 0 Тогда
ВызватьИсключение "Для собственной профессии не получен вариант склонения";
КонецЕсли;
Адресат = Варианты[0];
Текст = "Кому: " + Адресат;
Сообщить(ТипЗнч(Варианты) = Тип("Массив"));
Сообщить(НРег(СокрЛП(Адресат)) = "токарю третьего разряда");
Сообщить(СтрНачинаетсяС(Текст, "Кому: "));
Сообщить(Текст);
БезПадежа = ПолучитьСклоненияСтроки(Профессия, "Л=ru_RU");
Если БезПадежа.Количество() = 0 Тогда
ВызватьИсключение "Не получено исходное представление без падежа";
КонецЕсли;
Сообщить(БезПадежа[0] = Профессия);
КонецПроцедурыРазбор по шагам
Работать на сервере учебной базы: функция недоступна в тонком клиенте напрямую.
Передать собственную строку профессии, русскую локализацию и ПД=Дательный, соответствующий вопросу кому.
Результат — Массив возможных строк, не одна строка. Сначала проверить Количество(), затем взять вариант с индексом 0.
Использовать выбранный вариант для конкретного текста адресата. Если вариантов несколько, в реальном интерфейсе нужен осмысленный выбор.
Повторить вызов без параметра падежа: справка указывает, что тогда склонение не выполняется и возвращается исходный текст.
Как проверить результат
Четыре проверки Истина; текст Кому: токарю третьего разряда.
Замените исходную строку на собственную профессию и вручную проверьте варианты. Не утверждайте правильность всех фамилий по одному успешному примеру профессии.
Ожидаемый результат
Получена законченная строка учебного адресата с проверкой коллекции результата и демонстрацией отсутствующего падежа.
На что обратить внимание
Поддерживаемая локализация склонения в установленной справке — русский язык. Передача en_US не делает пример универсальным переводчиком.
Для имён собственных при необходимости задают ПЛ=Мужской или ПЛ=Женский. Пол не выводится надёжно только из произвольной строки.
Метод может вернуть несколько вариантов. Автоматический выбор первого здесь относится только к собственной простой профессии.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.