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

Материал из system.c
Перейти к навигации Перейти к поиску
(Новая страница: «Для склонения фамилий, должностей и прочего в конфигурациях 1С можно использовать функц...»)
 
Строка 1: Строка 1:
 
Для склонения фамилий, должностей и прочего в конфигурациях 1С можно использовать функцию
 
Для склонения фамилий, должностей и прочего в конфигурациях 1С можно использовать функцию
    СклонениеПредставленийОбъектов.ДанныеСклонения(
+
  СклонениеПредставленийОбъектов.ДанныеСклонения(
      Представление,
+
      Представление,
      ЭтоФИО,
+
      ЭтоФИО,
      Пол,
+
      Пол,
      ПоказыватьСообщения)
+
      ПоказыватьСообщения)
 
, где: ''Представление'' - собственно склоняемый объект; ''ЭтоФИО'' - булево значение ''Истина'' для фамилий и ''Ложь'' для всего остального; ''Пол'' - пол, если ''Представление'' фамилия (Внимание! Пол принимается в виде числа: 1 - мужской, 2 - женский); ''ПоказыватьСообщения'' - выводить сообщения внешней компоненты склонения.<br>
 
, где: ''Представление'' - собственно склоняемый объект; ''ЭтоФИО'' - булево значение ''Истина'' для фамилий и ''Ложь'' для всего остального; ''Пол'' - пол, если ''Представление'' фамилия (Внимание! Пол принимается в виде числа: 1 - мужской, 2 - женский); ''ПоказыватьСообщения'' - выводить сообщения внешней компоненты склонения.<br>
 
Возвращает структуру со следующими полями:
 
Возвращает структуру со следующими полями:
    ИменительныйПадеж
+
  ИменительныйПадеж
    РодительныйПадеж
+
  РодительныйПадеж
    ДательныйПадеж
+
  ДательныйПадеж
    ВинительныйПадеж
+
  ВинительныйПадеж
    ТворительныйПадеж
+
  ТворительныйПадеж
    ПредложныйПадеж
+
  ПредложныйПадеж
 +
В случае склонения словосочетания не являющегося ФИО (например должность "ГенеральныйДиректор), для корректной обработки требуется склонять слова по отдельности. Можно использовать следующий код:
 +
    СтрокаДолжность = СтрЗаменить(Выборка.ОрганизацияДолжность, " ", Символы.ПС);
 +
    СтрокаДолжностьРез = "";
 +
    Для _и = 1 По СтрЧислоСтрок(СтрокаДолжность) Цикл
 +
            СтруктураСклонения = СклонениеПредставленийОбъектов.ДанныеСклонения(СтрПолучитьСтроку(СтрокаДолжность, _и),
 +
            Ложь,
 +
            Неопределено,
 +
            Ложь);
 +
        СтрокаДолжностьРез = СтрокаДолжностьРез + СтруктураСклонения.РодительныйПадеж + " ";
 +
    КонецЦикла;

Версия 12:12, 9 октября 2019

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

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

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

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

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

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