Начиная с версии платформы 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-каналы с уроками программирования Сайты для обучения программированию Лекции и уроки