Склонение в 1С

Aug 15, 2022 12:58

Начиная с версии платформы 8.3.13 был реализован метод ПолучитьСклоненияСтроки().

Указанный метод позволяет правильно «склонять» несклоняемые фамилии. Также он отлично справляется со сложными и иностранными именами. В особо сложных случаях есть возможность дополнительно указать, какой род следует использовать. Метод без ошибок обрабатывает следующие грамматические правила:

  • склонение мужских имен, оканчивающихся на гласную;
  • склонение женские имен, оканчивающихся на некоторые гласные;
  • склонение только второй компоненты в двойных именах;
  • склонение фамилий, оканчивающихся на согласный.
Начиная с версии платформы 8.3.14.1565 был добавлен новый метод ПолучитьСклоненияСтрокиПоЧислу(), позволяющий выводить согласованные с числительными и имеющие определенную падежную форму словосочетания. Рассмотрим основные варианты использования данного метода.

В самом простом случае используется только возможность склонения, а числовое значение выводится одними цифрами:




Склонение количественных и порядковых числительных

Для «придания красоты» итоговому словосочетанию можно в явном виде указать разряд числительного, используемого в предложении: порядковое или количественное. В этом случае платформа самостоятельно добавит к порядковым числительным буквенное падежное окончание:



Представление числа в 1С

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



Склонение единиц измерения

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



Сложные словосочетания примеры

На уровне платформы поддерживается склонение в 1С достаточно сложных синтаксических конструкций: автоматически определяются подлежащие склонению слова и, например, игнорируются фрагменты текста, заключенные в кавычки:



Склонение ФИО, числа, слова по падежам в 1С 8.3:

&НаСервере
Процедура Склонение()

// доступна с версии 8.3.13
    ФИО_Падеж = ПолучитьСклоненияСтроки("Ковалевская Софья Васильевна", "Л=ru_RU;ПЛ=Женский", "ПД=Творительный");
    // ПД: Именительный, Родительный, Дательный, Винительный, Творительный, Предложный
    Для Индекс = 0 По ФИО_Падеж.Количество() - 1 Цикл
        Сообщить(ФИО_Падеж[Индекс]); // Ковалевской Софьей Васильевной
    КонецЦикла;

// доступна с версии 8.3.14
    Число_Падеж = ПолучитьСклоненияСтрокиПоЧислу("золото", 2.75, "килограмм, грамм, 2", "ЧС=Количественное", "ПД=Предложный; ПЧ=ЧислоПрописью");
    Для Индекс = 0 По Число_Падеж.Количество() - 1 Цикл
        Сообщить(Число_Падеж[Индекс]); // Двух килограммах семидесяти пяти граммах золота
    КонецЦикла;

Число_Падеж = ПолучитьСклоненияСтрокиПоЧислу("человек", 3, "", "ЧС=Порядковое", "ПД=Дательный; ПЧ=ЧислоСОкончанием");
    Для Индекс = 0 По Число_Падеж.Количество() - 1 Цикл
        Сообщить(Число_Падеж[Индекс]); // 3-му человеку
    КонецЦикла;

Число_Падеж = ПолучитьСклоненияСтрокиПоЧислу("счастливый утёнок", 13, "", "ЧС=Порядковое", "ПД=Родительный; ПЧ=ЧислоПрописью");
    Для Индекс = 0 По Число_Падеж.Количество() - 1 Цикл
        Сообщить(Число_Падеж[Индекс]); // Тринадцатого счастливого утёнка
    КонецЦикла;

Число_Падеж = ПолучитьСклоненияСтрокиПоЧислу("дом", 7, "", "ЧС=Порядковое", "ПД=Винительный; ПЧ=ЧислоСОкончанием");
    Для Индекс = 0 По Число_Падеж.Количество() - 1 Цикл
        Сообщить(Число_Падеж[Индекс]); // 7-ой дом
    КонецЦикла;

КонецПроцедуры

Смотрите также:
Электронный учебник по программированию в 1С
Рекомендации по изучению программирования 1С с нуля
Игра "Кто хочет стать миллионером?" с вопросами на определенную тематику (язык программирования JavaScript, английские, немецкие, французские, испанские, португальские, ни­дер­ландские, итальянские слова, электробезопасность, промышленная безопасность, бокс и т.п.), написанная на 1С
Программирование в 1С 8.3 с нуля - краткий самоучитель
Комплексная подготовка программистов 1С:Предприятие 8.2
Сайты с уроками программирования и со справочниками
Youtube-каналы с уроками программирования
Сайты для обучения программированию
Лекции и уроки

программирование

Previous post Next post
Up