Содержание:
2.2 Склонение количественных и порядковых числительных
2.4 Склонение единиц измерения
2.5 Сложные словосочетания (примеры)
1. Библиотека стандартных подсистем
В состав актуальных типовых конфигураций входит подсистема «Склонение представлений объектов» Библиотеки стандартных подсистем в 1С (БСП), основное назначение: склонение ФИО в 1С, должностей и прочих наименований (например, номенклатуры).
Состав объектов подсистемы представлен на рисунке:
Рисунок 1. Состав объектов подсистемы (БСП v3.1)
Рассмотрим подробнее, как устроен данный механизм.
Объекты метаданных, для которых доступен механизм склонения, перечислены в свойстве Тип определяемого типа ОбъектСклонения. В демонстрационной конфигурации БСП 8.3 определены следующие типы:
Рисунок 2. Типы объектов склонения
1) Во всех формах элементов, для которых встраивается склонение, в обработчике ПриСозданииНаСервере добавлен фрагмент кода:
Рисунок 3. Фрагмент кода в обработчике ПриСозданииНаСервере
В параметре Представление указывается реквизит, который должен склоняться.
2) Во всех формах элементов, для которых встраивается склонение, в обработчике ПриЗаписиНаСервере добавлен фрагмент кода:
Рисунок 4. Фрагмент кода в обработчике ПриЗаписиНаСервере
В параметре Представление указывается реквизит, который должен склоняться.
В параметре ПараметрыСклонения необязательно передается структура дополнительных параметров склонения. Для конструирования структуры используется функция ПараметрыСклонения общего модуля СклонениеПредставленийОбъектовКлиентСервер.
3) Во всех формах элементов, для которых встраивается склонение, рядом с реквизитом, который необходимо просклонять, добавлена команда в виде гиперссылки с названием Склонения. Обработчик команды:
Рисунок 5. Фрагмент кода команды Склонения
В параметре Представление указывается реквизит, который должен склоняться.
В параметре ПараметрыСклонения не обязательно передается структура дополнительных параметров склонения. Для конструирования структуры используется функция ПараметрыСклонения общего модуля СклонениеПредставленийОбъектовКлиентСервер.
4) Во всех формах элементов, для которых встраивается склонение, в обработчике ПриИзменении реквизита, который должен склоняться, добавлен фрагмент кода:
Рисунок 6. Фрагмент кода в обработчике ПриИзменении
В параметре Представление указывается реквизит, который должен склоняться.
В параметре ПараметрыСклонения не обязательно передается структура дополнительных параметров склонения. Для конструирования структуры используется функция ПараметрыСклонения общего модуля СклонениеПредставленийОбъектовКлиентСервер.
Результат склонения записывается в регистр сведений «Склонения представлений объектов». Состав регистра представлен на рисунке:
Рисунок 7. Состав регистра «Склонения представлений объектов»
Измерение ХешПредставления содержит строковый результат вычисления переданного значения Представление по алгоритму MD5, а измерение Объект – значение определяемого типа ОбъектСклонения.
При обращении к методу склонения в 1С первым делом проверяется наличие результата в регистре сведений «Склонения представлений объектов». А склонение выполняется только при отсутствии записи или при вызове специального метода повторного заполнения.
Само же склонение в 1С 8.3 выполняется одним из способов, указанным в настройках подсистемы: через сторонний сервис «Морфер» или внутренний механизм платформы. Метод ПолучитьСклоненияСтроки() - доступен, начиная с версии платформы 8.3.13.
Настройка сервиса «Морфер» осуществляется в разделе «Администрирование – Интернет-поддержка и сервисы – Склонения представлений объектов»:
Рисунок 8. Настройка сервиса "Морфер"
При использовании сервиса рекомендуется выполнить регистрацию и в параметрах указать Токен, генерируемый в личном кабинете. Но стоит иметь в виду, что бесплатный вариант использования сервиса ограничен максимум 100 запросами в сутки.
Внутренний механизм платформы также выполняет склонение в 1С достаточно хорошо и может быть достойной альтернативой платному сервису.
2. Внутренние механизмы платформы
Начиная с версии платформы 8.3.13 был реализован метод ПолучитьСклоненияСтроки().
Указанный метод позволяет правильно «склонять» несклоняемые фамилии. Также он отлично справляется со сложными и иностранными именами. В особо сложных случаях есть возможность дополнительно указать, какой род следует использовать. Метод без ошибок обрабатывает следующие грамматические правила:
· склонение мужских имен, оканчивающихся на гласную;
· склонение женские имен, оканчивающихся на некоторые гласные;
· склонение только второй компоненты в двойных именах;
· склонение фамилий, оканчивающихся на согласный.
Начиная с версии платформы 8.3.14.1565 был добавлен новый метод ПолучитьСклоненияСтрокиПоЧислу(), позволяющий выводить согласованные с числительными и имеющие определенную падежную форму словосочетания. Рассмотрим основные варианты использования данного метода.
2.1 Склонение в 1С
В самом простом случае используется только возможность склонения, а числовое значение выводится одними цифрами:
2.2 Склонение количественных и порядковых числительных
Для «придания красоты» итоговому словосочетанию можно в явном виде указать разряд числительного, используемого в предложении: порядковое или количественное. В этом случае платформа самостоятельно добавит к порядковым числительным буквенное падежное окончание:
2.3 Представление числа в 1С
Поддерживается возможность самостоятельно задать то, как в итоговом словосочетании будет представлено число: как число, как число прописью или как число с окончанием. Единственное о чем следует не забывать: окончания не используются с количественными числительными и в некоторых других случаях:
2.4 Склонение единиц измерения
Нередко требуется просклонять совместно с цифровым значением также и указанные единицы измерения. Причем для дробных значений целая и дробная части могут измеряться в разных единицах. В подобной ситуации есть возможность указать как сами единицы, так и используемое количество разрядов дробной части:
2.5 Сложные словосочетания примеры
На уровне платформы поддерживается склонение в 1С достаточно сложных синтаксических конструкций: автоматически определяются подлежащие склонению слова и, например, игнорируются фрагменты текста, заключенные в кавычки:
Специалист компании ООО «Кодерлайн»
Алексей Болдонов.