Склонения в конфигурациях 1С: различия между версиями

Материал из system.c
Перейти к навигации Перейти к поиску
 
Строка 14: Строка 14:
 
   ПредложныйПадеж
 
   ПредложныйПадеж
 
В случае склонения словосочетания не являющегося ФИО (например должность "ГенеральныйДиректор), для корректной обработки требуется склонять слова по отдельности. Можно использовать следующий код:
 
В случае склонения словосочетания не являющегося ФИО (например должность "ГенеральныйДиректор), для корректной обработки требуется склонять слова по отдельности. Можно использовать следующий код:
     СтрокаДолжность = СтрЗаменить(Выборка.ОрганизацияДолжность, " ", Символы.ПС);
+
     СтрокаСПС = СтрЗаменить(СтрокаДолжность, " ", Символы.ПС);
     СтрокаДолжностьРез = "";
+
     СтрокаРезультат = "";
     Для _и = 1 По СтрЧислоСтрок(СтрокаДолжность) Цикл
+
     Для _и = 1 По СтрЧислоСтрок(СтрокаСПС) Цикл
             СтруктураСклонения = СклонениеПредставленийОбъектов.ДанныеСклонения(СтрПолучитьСтроку(СтрокаДолжность, _и),
+
             СтруктураСклонения = СклонениеПредставленийОбъектов.ДанныеСклонения(СтрПолучитьСтроку(СтрокаСПС, _и),
 
             Ложь,
 
             Ложь,
 
             Неопределено,
 
             Неопределено,
 
             Ложь);
 
             Ложь);
         СтрокаДолжностьРез = СтрокаДолжностьРез + СтруктураСклонения.РодительныйПадеж + " ";
+
         СтрокаРезультат = СтрокаРезультат + СтруктураСклонения.РодительныйПадеж + " ";
 
     КонецЦикла;
 
     КонецЦикла;

Текущая версия на 12:14, 9 октября 2019

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

 СклонениеПредставленийОбъектов.ДанныеСклонения(
     Представление,
     ЭтоФИО,
     Пол,
     ПоказыватьСообщения)

, где: Представление - собственно склоняемый объект; ЭтоФИО - булево значение Истина для фамилий и Ложь для всего остального; Пол - пол, если Представление фамилия (Внимание! Пол принимается в виде числа: 1 - мужской, 2 - женский); ПоказыватьСообщения - выводить сообщения внешней компоненты склонения.
Возвращает структуру со следующими полями:

 ИменительныйПадеж
 РодительныйПадеж
 ДательныйПадеж
 ВинительныйПадеж
 ТворительныйПадеж
 ПредложныйПадеж

В случае склонения словосочетания не являющегося ФИО (например должность "ГенеральныйДиректор), для корректной обработки требуется склонять слова по отдельности. Можно использовать следующий код:

   СтрокаСПС = СтрЗаменить(СтрокаДолжность, " ", Символы.ПС);
   СтрокаРезультат = "";
   Для _и = 1 По СтрЧислоСтрок(СтрокаСПС) Цикл
           СтруктураСклонения = СклонениеПредставленийОбъектов.ДанныеСклонения(СтрПолучитьСтроку(СтрокаСПС, _и),
           Ложь,
           Неопределено,
           Ложь);
       СтрокаРезультат = СтрокаРезультат + СтруктураСклонения.РодительныйПадеж + " ";
   КонецЦикла;