Глобальный контекст.ПолучитьСклоненияСтроки

Методы · GetStringDeclensions

Склоняет указанную строку.

Синтаксис

ПолучитьСклоненияСтроки(<СклоняемаяСтрока>, <ОписаниеСтроки>, <ФорматнаяСтрока>)

Примеры платформы

Результат = ПолучитьСклоненияСтроки("токарь третьего разряда",
                                    ,
                                    "ПД=Дательный");
Результат = ПолучитьСклоненияСтроки("А. Грин",
                                    "ПЛ=Мужской",
                                    "ПД=Дательный");
Полное описание, параметры и ограничения

Глобальный контекст.ПолучитьСклоненияСтроки (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.

Методическая информация

Практические примеры

Подготовить адресата учебного текста в дательном падеже

Склоняем собственное название профессии для строки Кому. Возвращаемый массив проверяется до выбора первого варианта.

Где и как запускать

Полный серверный общий модуль учебной базы. Собственные значения в памяти, без чтения или записи рабочих данных.

Подготовка

  1. Используйте отдельную учебную базу без рабочих данных. Создайте серверный общий модуль УчебныйЯзык с флагом Сервер, без Привилегированный.

  2. Вставьте весь модуль выбранного примера, а не одну процедуру внутрь другой. Из своей серверной команды учебной обработки вызовите УчебныйЯзык.ВыполнитьПример().

  3. Все числа, строки и коллекции созданы в самом примере. Документы, регистры, файловая система и сеть не используются; никаких зависимостей от КА2/УНФ/УТ/БП нет.

  4. Браузер показывает код, но не исполняет BSL. Проверки результата нужно выполнить вручную на платформе 8.5.1.1343 в учебной базе.

Процедура ВыполнитьПример() Экспорт
    Профессия = "токарь третьего разряда";
    Варианты = ПолучитьСклоненияСтроки(Профессия, "Л=ru_RU", "ПД=Дательный");
    Если Варианты.Количество() = 0 Тогда
        ВызватьИсключение "Для собственной профессии не получен вариант склонения";
    КонецЕсли;
    Адресат = Варианты[0];
    Текст = "Кому: " + Адресат;
    Сообщить(ТипЗнч(Варианты) = Тип("Массив"));
    Сообщить(НРег(СокрЛП(Адресат)) = "токарю третьего разряда");
    Сообщить(СтрНачинаетсяС(Текст, "Кому: "));
    Сообщить(Текст);
    БезПадежа = ПолучитьСклоненияСтроки(Профессия, "Л=ru_RU");
    Если БезПадежа.Количество() = 0 Тогда
        ВызватьИсключение "Не получено исходное представление без падежа";
    КонецЕсли;
    Сообщить(БезПадежа[0] = Профессия);
КонецПроцедуры

Разбор по шагам

  1. Работать на сервере учебной базы: функция недоступна в тонком клиенте напрямую.

  2. Передать собственную строку профессии, русскую локализацию и ПД=Дательный, соответствующий вопросу кому.

  3. Результат — Массив возможных строк, не одна строка. Сначала проверить Количество(), затем взять вариант с индексом 0.

  4. Использовать выбранный вариант для конкретного текста адресата. Если вариантов несколько, в реальном интерфейсе нужен осмысленный выбор.

  5. Повторить вызов без параметра падежа: справка указывает, что тогда склонение не выполняется и возвращается исходный текст.

Как проверить результат

  1. Четыре проверки Истина; текст Кому: токарю третьего разряда.

  2. Замените исходную строку на собственную профессию и вручную проверьте варианты. Не утверждайте правильность всех фамилий по одному успешному примеру профессии.

Ожидаемый результат

Получена законченная строка учебного адресата с проверкой коллекции результата и демонстрацией отсутствующего падежа.

На что обратить внимание

  1. Поддерживаемая локализация склонения в установленной справке — русский язык. Передача en_US не делает пример универсальным переводчиком.

  2. Для имён собственных при необходимости задают ПЛ=Мужской или ПЛ=Женский. Пол не выводится надёжно только из произвольной строки.

  3. Метод может вернуть несколько вариантов. Автоматический выбор первого здесь относится только к собственной простой профессии.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.