Для вывода на печать многочисленных печатных форм в ЗУП 3.1 часто бывает необходимо использовать различные падежи имен существительных – фамилий, имен, отчеств, должностей, подразделений. Я расскажу о том, как склоняются представления объектов в ЗУП 3.1.
Что склоняется?
Есть 2 типа объектов, наименования которых склоняются различными механизмами в ЗУП 3.1:
- ФИО физических лиц;
- остальные объекты.
ФИО физических лиц склоняются самой программой. В ЗУП 3.1 существует собственный алгоритм, который превращает фамилии, имена и отчества из именительного падежа в любой другой падеж русского языка. При этом используется пол физического лица (мужской или женский).
Все остальные имена существительные (в частности, наименования должностей и подразделений) склоняются с помощью внешнего сервиса «Морфер».
Подключение сервиса находится в разделе «Администрирование – Интернет-поддержка и сервисы – Склонения представлений объектов».
Рис. 1. Подключение сервиса «Морфер»
Анонимного входа на сервис вполне достаточно для работы.
Как просклонять имя?
В карточке нового сотрудника после ввода фамилии, имени и отчества нажмите гиперссылку «Склонения» (см. рис. 2).
Рис. 2. Склонение фамилий, имен и отчеств сотрудников
Откроется окно с уже заполненными значениями по всем падежам. Останется только записать их, нажав кнопку «ОК».
ФИО физических лиц в падежных формах хранится в регистре сведений «Склонения представлений объектов».
Как это работает?
Работает это следующим образом: если склонения ФИО был сохранены в регистре, то при любом обращении к функции склонения программа будет читать данные из регистра. Это дает максимальную скорость работы, кроме того, в регистре можно отредактировать значения – бывают сложные случаи, ФИО иностранцев, например, которые могут иметь отличия от предложенных программой вариантов.
Если в регистре нет записи по искомому ФИО, то программа просклоняет его «на лету».
Рис. 3. Регистр сведений «Склонения представлений объектов»
Посмотрим на регистр сведений изнутри – из Конфигуратора.
Рис. 4. Регистр сведений «Склонения представлений объектов» — тип измерения «Объект»
Измерение «Объект» имеет тип «ОбъектСклонения» – это определяемый тип (см. рис. 5), в состав которого входят:
- Физические лица
- Должности
- Подразделения
- Позиции штатного расписания
Рис. 5. Состав определяемого типа «ОбъектСклонения»
Именно эти объекты конфигурации могут склоняться. В карточке каждого из них есть гиперссылка «Склонения», по нажатию на которую открывается форма со всеми падежами.
На рис. 6 видно, как просклонялось наименование должности «Ведущий инженер» при включенном сервисе «Морфер».
Рис. 6. Склонения элемента справочника «Должности»
Если же выключить сервис «Морфер» и перезаполнить склонения (кнопка со стрелкой вниз), а затем записать полученное состояние в регистр, то потом, даже при включенном сервисе «Морфер», в документы будут подставляться значения без склонения. Эта проблема может быть решена повторным заполнением склонений объекта при включенном сервисе «Морфер» или же удалением записи по этому объекту в регистре сведений.
Программный вызов функции склонения объектов
Функции склонения представлений объектов находятся в общем модуле «СклонениеПредставленийОбъектов».
- Функция ПросклонятьФИО(ФИО, Падеж, Объект = Неопределено, Пол = Неопределено) Экспорт
Описание:
– Склоняет ФИО.
– Только для работы на ОС Windows..
.
Параметры:
ФИО — Строка — Строка, в которой содержится ФИО для склонения.
Падеж — Число — падеж, в который необходимо просклонять представление объекта.
1 — Именительный.
2 — Родительный.
3 — Дательный.
4 — Винительный.
5 — Творительный.
6 — Предложный.
Объект — ОбъектСклонения — Ссылка на объект, реквизит которого склоняется.
Пол — Число — Число — пол физического лица,
1 — мужской,
2 — женский.Возвращаемое значение:
Строка — Результат склонения ФИО в падеже.Пример вызова функции склонения ФИО сотрудника
ФИОПолноеРодПадеж = СклонениеПредставленийОбъектов.ПросклонятьФИО(ФИОПолное, 2, Сотрудник, ПолСотрудника);
- Функция ПросклонятьПредставление(Представление, Падеж, Объект = Неопределено) Экспорт
Описание:
– Склоняет представление объекта.
– Только для работы на ОС Windows.Параметры:
Представление — Строка — Строка, в которой содержится ФИО для склонения.
Падеж — Число — падеж, в который необходимо просклонять представление объекта.
1 — Именительный.
2 — Родительный.
3 — Дательный.
4 — Винительный.
5 — Творительный.
6 — Предложный.
Объект — ОбъектСклонения — Ссылка на объект, реквизит которого склоняется.Возвращаемое значение:
Строка — Результат склонения представления объекта в падеже.
Обе функции после успешного выполнения и при заполненном параметре «Объект» записывают полученное значение в регистр сведений «СклоненияПредставленийОбъектов».
Несколько слов в заключение
Склонение представлений объектов – это часть БСП. Данный механизм встроен также и в другие типовые конфигурации, построенные на основе БСП – БП, КА, ERP и т.д.
Картинки и примеры взяты из демо-базы конфигурации «Зарплата и управление персоналом», редакция 3.1 (3.1.7.87). Платформа: 1С:Предприятие 8.3 (8.3.10.2699)
Спасибо за статью. В регистре «СклоненияПредставленийОбъектов» есть измерение «ХешПредставления» — зачем он нужен и как используется?
«ХешПредставления» — это контрольная строка от представления объекта (строки, которую склоняют). Предполагаю, что это защита от «ручных» изменений регистра. Используйте функции БСП, и все будет корректно с хешем.
(2)
Это защита от изменения
наименованияпредставления склоняемого объекта, а не от ручного изменения регистра. Например когда меняется название должности (со старший инженер на ведущий инженер, или когда ФИО изменяется)Огромное спасибо за статью. Никак не могли понять в чем дело, почему прописанные в должности склонения не отображаются при печати. Настройка Морфера помогла.
У меня при склонении должности, состоящей больше чем одно слово, выдает ошибку «Ошибка при вызове сервиса склонения. Обратитесь к администратору. Техническая информация ……..»
Видимо, сервис барахлит. Он сторонний, к 1С не имеет отношения. Надо интересоваться в техподдержке сервиса.
Столкнулся с нехваткой прав на чтение этого регистра. Почему-то только у полных прав есть доступ. По крайней мере в ЗКГУ.
(6) У данного сервиса «Морфер» имеется лимит обращения в сутки при бесплатном подключении. Далее следует банальное вымогательство денех. Поэтому данный сервис — ОТСТОЙ! Думайте над своей обработкой склонения. Где то данном ресурсе была такая, но для 8.2.
Коли уже вы гуру по склонениям — не подскажете как просклонять Полное наименование организации — как это сделать?
Спасибо!
(9) В ЗУП — никак.
Надо было просклонять вид занятости, после включения «Морфея» через СклонениеПредставленийОбъектов.ПросклонятьПредставление(нрег(КадровыеДанныеСотрудников[0].видЗанятости),3) успешно все просклонялось! Спасибо Вам!
(9), я предполагаю, что склонять можно только организационно—правовую форму. Тогда это делается небольшими доработками конфигурации.
Платформа 8.3.15 сама уже научилась прекрасно склонять без использования дополнительных сервисов.
(13)
— ага, только в типовых конфигурациях это появится не ранее, чем года через два.
К сожалению заблуждаетесь. Конфигурации на БСП 3.Х это уже вовсю используется.
(15)Текущие конфигурации ЗУП 3.1 работают в режиме совместимости с 8.3.12 (или даже 8.3.10 — ЗУП 3.1.5). Они не могут использовать возможности 8.3.15 в типовом режиме без снятия с замка и изменения режима совместимости.
Совершенно верно. Но можно использовать возможности новой платформы используя WS.
Также в режиме совместимости 8.3.12 работает склонение средствами платформы.
Вероятно разработчики типовых конфигураций не успевают везде ее внедрить.
Дополню в тему. В ЗУП 3.1 склонение без подключенного сервиса можно сделать так:
на севере
СклонениеПредставленийОбъектов.ДанныеСклонения(ВашеСлово)
вернет структуру по падежам