1С просклонять
Содержание
- Что склоняется?
- Как просклонять имя?
- Как это работает?
- Программный вызов функции склонения объектов
- Несколько слов в заключение
- Описание метода склонения в 1С
- Сервис «Склонение по падежам»
- Склонение словосочетаний с числительными
- Склонение
- Порядковые и количественные числительные
- Представление числа
- Склонение единиц измерения
- Сложные словосочетания
- Склонение словосочетаний без числительных
Для вывода на печать многочисленных печатных форм в ЗУП 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 и т.д.
При работе в 1С пользователь сталкивается с вопросом склонения фамилии или должности сотрудника в печатных формах документов, то есть с ситуацией, когда надо выполнить склонение фамилий по падежам.
Для склонения ФИО в программах 1С предусмотрена внешняя компонента – NameDecl.dll, в которой содержится функция склонения. Ее можно взять на диске ИТС и, скопировав в папку с установленной платформой 1С – bin, зарегистрировать ее в операционной системе. Выполняется данная процедура при помощи команды resvr32 NameDecl.dll (под учетной записью администратора). Для этого необходимо вызвать команду «Выполнить» через кнопку «Пуск», воспользовавшись поиском или сочетание клавиш Windows + R.
Рис.1 Окно поиска. Поиск команды «Выполнить»
В появившемся окне вводим команду resvr32.exe и указываем путь к подключаемой библиотеке, используя кнопку «Обзор».
Рис.2 Окно команды «Выполнить»
После нажатия «Ок» появится сообщение о том, что библиотека успешно зарегистрирована.
Для данной библиотеки необходимо использовать 32-битную платформу 1С клиент-серверного режима.
Описание метода склонения в 1С
Просклонять (ФИО, Падеж, Пол) по параметрам:
- ФИО (обязательный), тип – строка
- Падеж (обязательный), тип – число
Падеж, в который необходимо поставить ФИО, задается числом от 1 до 6.
Таблица падежей: вопросы, предлоги и их значения в программном коде
Случается, возникает неоднозначная ситуация, когда программе необходимо определить принадлежность фамилии к полу, например, Сигида, Чепко, Сушко, Оганезян и т.д.
В этом случае используют дополнительный параметр:
- Пол (необязательный), тип – число
Он показывает, склонять или не склонять фамилию. В других случаях этот параметр опускают или используют значение 0 («авто»), т.к. неправильное указание пола может повлиять на правильность склонения. Здесь возможные значения: 0 – авто, 1 – мужской, 2 – женский.
Сервис «Склонение по падежам»
В программах 1С 8.3 уже включен сервис для склонения данных сотрудников или контрагентов в соответствии с применяемыми в документе падежами.
Фрагмент 1
#Область ПрограммныйИнтерфейс // Склоняет ФИО // Только яля работы на ОС Windows. // // Параметры: // ФИО — Строка — Строка, в которой содержится ФИО для склонения. // Падеж — Число — падеж, в который необходимо просклонять представление объекта. // 1 — Именительный. // 2 — Родительный. // 3 — Дательный. // 4 — Винительный. // 5 — Творительный. // 6 — Предложный. // Объект — СбъехтСклонения — Ссылка на объект, реквизит которого склоняется // Пол — Число — Число — пол физического лида, // 1 — мужской, // 2 — женский. // // Возвращаемое значение: // Строка — Результат склонения ФИО в падеже. // Функция ПросклонятьФИО(ФИО, Падеж, Объект = Неопределемо, Пол = Неопределено) Экспорт // Склоняет представление объекта. Функция ПросклонятьПредставлекие(Представление, Падеж, Объект = Неопределено) Экспорт // Выполняет с формой действия, необходимые для подключения подсистемы Склонения.Рис.5 Использование функции «Просклонять»
Фрагмент 2
// Склоняет представление объекта. Функция ПросклонятьПредставление(Представление, Падеж, Объект = Неопределено) Экспорт Возврат Просклонять(Представление, Падеж, Объект); Конецфункции // Выполняет с формой действия, не обходимые для подключения подсистемы Склонения Процедура ПриСозданииНаСервере(Форма, Представление, ИмяОсновногоРеквизитаФормы = «Объект») Экспорт // Обработчик события ПриЗаписиНаСервере управляемой формы объекта для склонения Процедура ПриЗаписиНаСервере(Форма, Представление, Объект, ЭтоФИО = Ложь, Пол = Неопределено) Экспорт // Устанавливает признак доступности сервиса склонения Процедура УстановитьДоступнсстьСервисаСклонения(Доступность) Экспорт УстановитьПривилегированныйРежим (Истина); ТекущиеПараметры = Новый Соответствие(ПараметрыСеанса.ПараметрыКлиентаНаСервере); ТекущиеПараметры.Вставить(«ДоступенСервисСклонения», Доступность); ПараметрыСеанса.ПараметрыКлиентаНаСервере = Новый ФиксированноеСсответствие(ТекущиеПараметры); УстановитьПривилегированныйРежим(Ложь); КонецПроцедуры
Используя в документе реквизиты, которые выбираются из справочника, в котором они представлены в именительном падеже, в печатную форму документа они будут выведены с нужным склонением.
Рассмотрим функцию склонения на примере договора в «1С:Бухгалтерия» 3.0. (1С:Предприятие 8.3). Здесь предусмотрено склонение ФИО и должности.
Рис.6 Окно формы договора. Настройка склонения фамилии и должности
В печатную форму программа автоматом поставит правильный вариант.
Рис.7 Окно программы – «Склонение по падежам»
Пример склонения по падежам можно видеть в «Приказе о приеме на работу». В карточке сотрудника его ФИО указано в Именительном падеже, а в печатной форме – в Родительном.
Рис.8 Пример склонения ФИО в печатной форме «Приказ о приеме на работу»
Программа 1С, учитывая требования законодательства и стандартов, позволяет соответствовать утвержденному порядку оформления документации и формирования печатных форм.
Склонение по падежам обусловлено и стандартами делового оборота, которые предусматривают, что любой документ должен быть оформлен не только грамотно, но и эстетически грамотно, что отражает статус организации.
Помимо этого использование таких функций в программе, как автосклонение, значительно снижает вероятность ошибок в составлении документов.
Склонение словосочетаний с числительными
Данная статья является анонсом новой функциональности.
Не рекомендуется использовать содержание данной статьи для освоения новой функциональности.
Полное описание новой функциональности будет приведено в документации к соответствующей версии.
Полный список изменений в новой версии приводится в файле v8Update.htm.
Реализовано в версии 8.3.14.1565.
Довольно часто при формировании различных документов возникает необходимость выводить словосочетания, согласованные с числительными и имеющие определенную падежную форму. Например, в акте приема-передачи товара нужно написать, что получено «3,5 метра медного провода».
Раньше в платформе не существовало инструментов для решения таких задач, а в тех случаях, когда без этой функциональности совсем нельзя было обойтись, прикладные решения использовали внешние компоненты.
Теперь такая функциональность появилась, мы добавили в платформу новый метод ПолучитьСклоненияСтрокиПоЧислу(). Вы можете использовать этот метод не только в отчётах и документах, но и везде, где требуется интерактивное взаимодействие с пользователем: при формировании информационных сообщений, в предупреждениях, индикаторах процессов и так далее.
Склонение
В самом простом случае вы можете использовать только возможности склонения, а числовое значение выводить одними цифрами:
Это, конечно, не очень красиво, но может быть полезно в каких-то отдельных ситуациях.
Порядковые и количественные числительные
Чтобы итоговое словосочетание выглядело красивее, вы можете в явном виде указать, числительное какого разряда используется в вашем предложении: количественное или порядковое:
Тогда платформа автоматически добавит к порядковым числительным наращение (буквенное падежное окончание).
Представление числа
При желании вы можете самостоятельно управлять тем, как будет представлено число в итоговом словосочетании: прописью, с окончанием или как число. Единственное, о чём нужно помнить, что окончания не используются с количественными числительными и в некоторых других случаях:
Склонение единиц измерения
Довольно часто вместе с цифровым значением указываются единицы его измерения. И эти единицы тоже нужно склонять. Причём если значение дробное, то целая и дробная части обычно измеряются в разных единицах.
В такой ситуации вы можете указать те единицы, которые нужно использовать, а кроме этого можете указать ещё и количество разрядов дробной части, которое должно использоваться:
Сложные словосочетания
В качестве склоняемой строки вы можете использовать довольно сложные конструкции. Платформа определит слова, подлежащие склонению, а также, например, проигнорирует фрагменты, заключенные в кавычки:
Склонение словосочетаний без числительных
Не менее часто при формировании документов, выводимых на печать, возникает похожая задача склонения словосочетаний, однако в ней не используются числительные. Например, нужно напечатать должность, фамилию, имя и отчество сотрудника в правильном падеже.
Специально для этого случая уже в версии платформы 8.3.13 мы реализовали более простой метод, который называется ПолучитьСклоненияСтроки(). С его помощью, например, вы можете указать, кому выдана доверенность:
Этот метод понимает несклоняемые фамилии и довольно хорошо склоняет сложные и иностранные имена. В сложных случаях вы можете «подсказать» ему, какой род следует использовать. Например, во втором примере имя Джайлан – женское, а значит склонять его не надо:
Однако и без «подсказок» метод ПолучитьСклоненияСтроки() правильно обрабатывает многие грамматические правила. Например, он:
— не склоняет мужские имена, оканчивающиеся на гласную,
— не склоняет женские имена, оканчивающиеся на некоторые гласные …
… и склоняет остальные женские имена,
— в двойных именах склоняет только второй компонент,
— фамилии, оканчивающиеся на согласный, не склоняет у женщин …
… и склоняет у мужчин.
Мы надеемся, что новые методы помогут вам сделать ваши прикладные решения более «дружественными» и удобными для пользователей.
Рассказать друзьям: