Вконтакте Facebook Twitter Лента RSS

1с 8.3 склонение по падежам. Быстрый старт: склонение должности

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

Для склонения ФИО в программах 1С предусмотрена внешняя компонента – NameDecl.dll, в которой содержится функция склонения. Ее можно взять на диске ИТС и, скопировав в папку с установленной платформой 1С – bin, зарегистрировать ее в операционной системе. Выполняется данная процедура при помощи команды resvr32 NameDecl.dll (под учетной записью администратора). Для этого необходимо вызвать команду «Выполнить» через кнопку «Пуск», воспользовавшись поиском или сочетание клавиш Windows + R.

Рис.1 Окно поиска. Поиск команды «Выполнить»

В появившемся окне вводим команду resvr32.exe и указываем путь к подключаемой библиотеке, используя кнопку «Обзор».


Рис.2 Окно команды «Выполнить»

После нажатия «Ок» появится сообщение о том, что библиотека успешно зарегистрирована.


Рис.3 Окно сообщения

Описание метода склонения в 1С

Просклонять (ФИО, Падеж, Пол) по параметрам:

  • ФИО (обязательный), тип – строка
  • Падеж (обязательный), тип – число

Падеж, в который необходимо поставить ФИО, задается числом от 1 до 6.

Таблица падежей: вопросы, предлоги и их значения в программном коде

Случается, возникает неоднозначная ситуация, когда программе необходимо определить принадлежность фамилии к полу, например, Сигида, Чепко, Сушко, Оганезян и т.д.

В этом случае используют дополнительный параметр:

  • Пол (необязательный), тип – число

Он показывает, склонять или не склонять фамилию. В других случаях этот параметр опускают или используют значение 0 («авто»), т.к. неправильное указание пола может повлиять на правильность склонения. Здесь возможные значения: 0 – авто, 1 – мужской, 2 – женский.

Сервис «Склонение по падежам»

В программах 1С 8.3 уже включен сервис для склонения данных сотрудников или контрагентов в соответствии с применяемыми в документе падежами.



Фрагмент 1

#Область ПрограммныйИнтерфейс // Склоняет ФИО // Только яля работы на ОС Windows. // // Параметры: // ФИО - Строка - Строка, в которой содержится ФИО для склонения. // Падеж - Число - падеж, в который необходимо просклонять представление объекта. // 1 - Именительный. // 2 - Родительный. // 3 - Дательный. // 4 - Винительный. // 5 - Творительный. // 6 - Предложный. // Объект - СбъехтСклонения - Ссылка на объект, реквизит которого склоняется // Пол - Число - Число - пол физического лида, // 1 - мужской, // 2 - женский. // // Возвращаемое значение: // Строка - Результат склонения ФИО в падеже. // Функция ПросклонятьФИО(ФИО, Падеж, Объект = Неопределемо, Пол = Неопределено) Экспорт // Склоняет представление объекта. Функция ПросклонятьПредставлекие(Представление, Падеж, Объект = Неопределено) Экспорт // Выполняет с формой действия, необходимые для подключения подсистемы Склонения.

Рис.4 Окно конфигуратора



Фрагмент 2

// Склоняет представление объекта. Функция ПросклонятьПредставление(Представление, Падеж, Объект = Неопределено) Экспорт Возврат Просклонять(Представление, Падеж, Объект); Конецфункции // Выполняет с формой действия, не обходимые для подключения подсистемы Склонения Процедура ПриСозданииНаСервере(Форма, Представление, ИмяОсновногоРеквизитаФормы = "Объект") Экспорт // Обработчик события ПриЗаписиНаСервере управляемой формы объекта для склонения Процедура ПриЗаписиНаСервере(Форма, Представление, Объект, ЭтоФИО = Ложь, Пол = Неопределено) Экспорт // Устанавливает признак доступности сервиса склонения Процедура УстановитьДоступнсстьСервисаСклонения(Доступность) Экспорт УстановитьПривилегированныйРежим (Истина); ТекущиеПараметры = Новый Соответствие(ПараметрыСеанса.ПараметрыКлиентаНаСервере); ТекущиеПараметры.Вставить("ДоступенСервисСклонения", Доступность); ПараметрыСеанса.ПараметрыКлиентаНаСервере = Новый ФиксированноеСсответствие(ТекущиеПараметры); УстановитьПривилегированныйРежим(Ложь); КонецПроцедуры

Рис.5 Использование функции «Просклонять»

Используя в документе реквизиты, которые выбираются из справочника, в котором они представлены в именительном падеже, в печатную форму документа они будут выведены с нужным склонением.

Рассмотрим функцию склонения на примере договора в «1С:Бухгалтерия» 3.0. (1С:Предприятие 8.3). Здесь предусмотрено склонение ФИО и должности.



Рис.6 Окно формы договора. Настройка склонения фамилии и должности

В печатную форму программа автоматом поставит правильный вариант.



Рис.7 Окно программы – «Склонение по падежам»

Пример склонения по падежам можно видеть в «Приказе о приеме на работу». В карточке сотрудника его ФИО указано в Именительном падеже, а в печатной форме – в Родительном.



Рис.8 Пример склонения ФИО в печатной форме «Приказ о приеме на работу»

Программа 1С, учитывая требования законодательства и стандартов, позволяет соответствовать утвержденному порядку оформления документации и формирования печатных форм.

Склонение по падежам обусловлено и стандартами делового оборота, которые предусматривают, что любой документ должен быть оформлен не только грамотно, но и эстетически грамотно, что отражает статус организации.

Помимо этого использование таких функций в программе, как автосклонение, значительно снижает вероятность ошибок в составлении документов.

Предлагаемая разработка предоставляет программистам 1С функцию склонения по падежам слов и словосочетаний на русском и украинском языках, а также функцию формирования прописи чисел в заданном падеже. Программа умеет склонять фамилии, имена и отчества, а также должности, названия отделов и юридических лиц (на украинском пока только ФИО). Указание пола не требуется. Наоборот, программа автоматически определяет и выдает грамматический род словосочетания, по которому определяется пол лица. Алгоритм демонстрирует высокое качество склонения, а для случаев, когда программа все же ошибается, предусмотрен сервис оперативного исправления ошибок. Программа реализована в виде веб-сервиса, доступного бесплатно всем желающим (до 1000 запросов в сутки). Для вызова функции склонения из 1С 8.2 достаточно 3 строчек кода, при этом не нужно включать в конфигурацию никаких дополнительных DLL. Пример обработки на языке 1С прилагается.

Реализуемые функции

Веб-сервис «Морфер» предназначен для склонения по падежам слов и словосочетаний на русском и украинском языках. Входное словосочетание может быть в единственном или множественном числе, но обязательно в именительном падеже. На выходе генерируется единственное и множественное число во всех падежах и автоматически определяется род.

Например, на входе:

На выходе:

И. ведущий инженер-программист III категории ведущие инженеры-программисты III категории
Р.
Д. ведущему инженеру-программисту III категории ведущим инженерам-программистам III категории
В. ведущего инженера-программиста III категории ведущих инженеров-программистов III категории
Т. ведущим инженером-программистом III категории ведущими инженерами-программистами III категории
П. о ведущем инженере-программисте III категории о ведущих инженерах-программистах III категории
Род: мужской

Число поддерживаемых типов слово сочетаний не ограничено фамилиями и должностями. Программа умеет склонять также названия подразделений, юридических лиц, географические названия и многое другое. Высокое качество склонения обеспечивается использованием словарей, в частности, «Словаря имен собственных» Ф.Л. Агеенко на 38 000 единиц. За 9 лет работы над «Морфером» было составлено более 27 000 примеров склонения для русского и более 11 000 для украинского языка. База примеров постоянно пополняется и используется для контроля качества продукта.

Веб-сервис также реализует функцию прописи чисел и денежных сумм в произвольном падеже, позволяющую формировать такие фразы как: «в течение 7 (Семи) календарных дней» («21 календарного дня»), «в размере 1000 (Одной тысячи) рублей» («десяти тысяч рублей») и т.п. Склонение единицы измерения также осуществляется автоматически. Нет необходимости указывать заранее все падежные формы ("рубль", "рубля", "рублей").

Быстрый старт: склонение должности

Программа для склонения должности будет выглядеть так:

Морфер = Обработки.Морфер.Создать(); Результат = Морфер.СклонятьРусский("Генеральный директор"); Сообщить("Родительный (кого?): " + Результат.Р); Сообщить("Дательный (кому?): " + Результат.Д); Сообщить("Винительный (кого?): " + Результат.В); Сообщить("Творительный (кем?): " + Результат.Т);

Чтобы проверить, как работает этот код, скачайте и установите внешнюю сборку из.epf файла (Обработки, правый клик, вставить внешнюю обработку), скопируйте пример в Конфигуратор (Конфигурация, правый клик, «Открыть модуль обычного приложения», Вставить) и вставьте, например, в процедуру ПриНачалеРаботыСистемы. После запуска программы (F5) в окне сообщений появится директор во всех падежах:

Родительный (кого?): Генерального директора Дательный (кому?): Генеральному директору Винительный (кого?): Генерального директора Творительный (кем?): Генеральным директором Предложный (о ком?): о Генеральном директоре

Для украинского языка функция склонения называется СклонятьУкраинский:

Результат = Морфер.СклонятьУкраинский("Лук"янченко Леонід Аркадійович"); Сообщить("Родовий (кого?): " + результат.Р); Сообщить("Давальний (кому?): " + результат.Д); Сообщить("Знахідний (кого?): " + результат.З); Сообщить("Орудний (ким?): " + результат.О); Сообщить("Місцевий (на кому?): " + результат.М); Сообщить("Кличний: " + результат.К);

Результат:

Родовий (кого?): Лук"янченка Леоніда Аркадійовича Давальний (кому?): Лук"янченку Леоніду Аркадійовичу Знахідний (кого?): Лук"янченка Леоніда Аркадійовича Орудний (ким?): Лук"янченком Леонідом Аркадійовичем Місцевий (на кому?): Лук"янченку Леоніді Аркадійовичі Кличний: Лук"янченко Леоніде Аркадійовичу

Украинская версия пока лучше всего справляется с фамилиями, именами и отчествами. Работа над другими типами словосочетаний ведется.

Для улучшения качества склонения можно передавать признаки.

Признаки = Новый Массив(); Признаки.Добавить("name"); Признаки.Добавить("feminine"); результат = Морфер.СклонятьРусский("Щукина Ольга Александровна", Признаки);

На данный момент доступны след. признаки: name, feminine, masculine, neuter, animate, inanimate, common, plural.

Функция построения прописи числа в любом падеже

Функция ПрописьРусский (ПрописьУкраинский) решает две родственные задачи: получение прописи числа (тысяча сто двадцать пять) и согласование единицы измерения с предшествующим числом (1 попугай, 2 попугая, 5 попугаев). Пример:

// Пример написания денежной суммы прописью в родительном падеже: пропись = Морфер.ПрописьРусский(235, "рубль"); Сообщить(пропись.n.И + " " + пропись.unit.И); Сообщить("в размере " + пропись.n.Р + " " + пропись.unit.Р);

Результат:

Двести тридцать пять рублей в размере двухсот тридцати пяти рублей

Функция принимает два аргумента:

n – целое положительное число.

unit – единица измерения – слово или словосочетание в именительном падеже единственного числа: «рубль», «доллар США», «календарный день», «новое письмо» и т.п. Если слово употребляется только во множественном числе, то указывается форма именительного падежа множественного числа: «сутки», «брюки», «ножницы».

Результат, возвращаемый функцией Прописьрусский, содержит два набора падежных форм: один для числа (n), другой для единицы измерения (unit). Комбинируя соответствующие падежные формы n и unit, можно получить вывод «суммы прописью» на любой вкус:

235 рублей Двести тридцать пять рублей 235 (двести тридцать пять) рублей и т.п.

Комбинировать имеет смысл только соответствующие падежные формы n и unit – именительный с именительным, родительный с родительным и т.д. Например, для получения фразы "в размере N рублей (долларов, евро...)", берем родительный падеж (Р): в размере + двухсот тридцати пяти + рублей.

Склонение прилагательных по родам

Функция СклонятьПрилагательноеПоРодам склоняет данное ей прилагательное, преобразуя его из мужского рода в женский, средний и во множественное число:

Результат = Морфер.СклонятьПрилагательноеПоРодам("уважаемый"); Сообщить("Женский: " + результат.feminine); Сообщить("Средний: " + результат.neuter); Сообщить("Множ. число: " + результат.plural);

Женский: уважаемая
Средний: уважаемое
Множ.число: уважаемые

Авторизация

Для получения доступа к тегам род, откуда, куда, где, а так же снять ограничение на кол-во запросов в сутки, нужно купить подписку на сайте http://morpher.ru/ws3/ И передать токен следующим образом:

Обработка ошибок

Ошибка инициализации модуля: МодульУправляемогоПриложения по причине: {Обработка.Морфер.МодульОбъекта(138)}: Ошибка: Не найдено русских слов. ВызватьИсключение("Ошибка: " + Данные.message);

В данном случае ошибка возникла из-за того, что склоняемая строка не содержит ни одного русского слова. Другой возможный случай – когда склоняемая строка содержит количественное числительное («тридцать три коровы»). Такие словосочетания программа не обрабатывает, выдается ошибка.

Совместимость и устранение неполадок

Модуль выпускается в двух вариантах для 8.3.16 и 8.2.?. Версии отличаются только тем, что версия 8.3.16 использует встроенный десериализатор JSON.

Оперативное исправление ошибок склонения

Склонение как языковой феномен изобилует неоднозначностями, особенно в области имен собственных. В городе Москва или в городе Москве? В республике Корея или в республике Корее? В Тушино или в Тушине? Обладатели «диковинных» фамилий часто не любят, чтобы их склоняли. Скажем, если у человека фамилия Груздь, он будет требовать, чтобы его фамилию не склоняли, часто вопреки правилам русского языка и всеобщему мнению. Но если он ваш начальник, то неизвестно еще, кто останется Груздём, если вы позволите себе просклонять его в договоре.

Не секрет, что алгоритм автоматического склонения тоже может ошибаться – не знать какого-либо слова или запутаться в сложной синтаксической структуре. Что делать, если машина склоняет не так, как надо, а документ должен быть на столе у начальника через 10 минут? Хорошо, если система позволяет вручную исправлять документ после его выдачи. Но исправлять фамилию начальника в каждом приказе тоже не дело. Традиционное решение этой проблемы (если руки дойдут до его реализации) – хранение падежных форм в таблице-справочнике, которая заполняется вручную.

Веб-сервис склонения предоставляет как раз такое «табличное» решение проблемы ошибок в склонении – только вам для этого ничего не нужно делать, все уже реализовано за вас – и база данных, и интерфейс для ее редактирования для двух языков, и проверка введенных вами данных профессиональным лингвистом. Достаточно зайти на страничку исправления ошибок и ввести нужные вам падежные формы (или исправить результат автоматического склонения). После этого веб-сервис сразу же будет склонять так, как вы указали – но только для вас. После проверки введенного вами примера администратором он станет доступен остальным пользователям веб-сервиса. Введеные исправления также используются для совершенствования алгортима склонения. Таким образом качество склонения улучшается самими пользователями.

Установка веб-сервиса в вашей локальной сети

Многие пользователи веб-сервиса высказывали желание иметь «такой же сервис, только у себя», т.е. иметь возможность развернуть веб-сервис в своей локальной сети. Это решило бы проблему с использованием веб-сервиса на рабочих местах, где нет доступа к Интернету, а также проблему с законом «О защите персональных данных», требующим обеспечения конфиденциальности таких данных.

В ответ на эти пожелания был создан вариант веб-сервиса, допускающий установку на сервере в локальной сети предприятия или непосредственно на машине пользователя, если пользователь один. Новый продукт получил название «Морфер.Сервер». Он реализует те же функции, что и общедоступный веб-сервис, включая функцию поддержания пользовательского словаря, и работает в сотни раз быстрее из-за того, что локальная сеть быстрее Интернета.

Для переключения с «глобального» на «локальный» сервис достаточно изменить код следующим образом:

Морфер = Обработки.Морфер.Создать(); Морфер.СменитьСервер("comp001", false);

Здесь comp001 – это сетевое имя компьютера, где установлен веб-сервис. Во второй строчке изменять ничего не нужно.

Как приобрести и установить у себя локальный веб-сервис, описано на странице продукта: «Морфер.Сервер» .

Исходный код модулей.

Исходный код модулей полностью открыт и доступен. https://github.com/morpher-ru/1C.WebService.Client

Альтернативы

Автор «Морфера» занимается вопросом автоматического склонения профессионально с 2003 года и постоянно следит за аналогичными разработками. Одним из заметных аналогов является веб-сервис Яндекс.Склонятор, но он склоняет только «имена, фамилии и ники». Вот список еще нескольких решений, разработанных для платформы 1С:

Дата публикации Название Автор Тип Язык +/-
2002 Падеж. Версия "Крохотулька" Юрия Железнякова SuperJur рус
01.10.2008 e.kogan рус +142/-0
27.02.2007 NDeclin ВК рус +59/-0
21.11.2010 director04 ВК + 1С рус +53/-0
06.02.2012 fixin рус +16/-0
16.06.2009 (Ivon) Ivon укр +16/-0
08.11.2007 tarasenkov ВК укр +15/-3

* Количество плюсов и минусов дано на момент публикации.

В «Морфере» учтены многие пожелания к системам подобного рода, а именно:

  1. Возможность бесплатного использования функций склонения – имеется, до 1000 запросов в сутки. Этого количества более чем достаточно для частных лиц и малого бизнеса. Для более крупных клиентов имеется платный доступ.
  2. Простота развертывания. Не нужно включать в конфигурацию никаких дополнительных библиотек, регистрировать их в реестре и поставлять пользователям. Не нужны права администратора на пользовательских машинах.
  3. Возможность оперативного исправления ошибок. Многие пользователи отмечали как недостаток DLL невозможность оперативного исправления ошибок склонения. Даже в случае с «открытым кодом» на языке 1С, чтобы исправить одну фамилию, разбираться в этом коде (сразу вспоминается «Крохотулька») не у всех программистов найдется время и желание. Веб-сервис решает эту проблему, предоставляя пользователям веб-страницу для оперативного изменения склонения отдельных словосочетаний. Для этого не требуется вмешательства программиста – исправить ошибку сможет любой грамотный пользователь компьютера.
  4. Изменение по числам (). Реализовано.

Кроме того, отличительными особенностями «Морфера» являются:

  1. Простой API: склонение всех типов словосочетаний производится одной функцией. Нет необходимости указывать тип словосочетания (ФИО, должность, подразделение...)
  2. Не требуется указание пола. Наоборот, программа автоматически определяет и выдает грамматический род словосочетания, по которому однозначно определяется пол лица.
  3. Высокое качество склонения, достигаемое использованием комбинированного подхода – алгоритмы для кодирования правил и словари для учета исключений. «Морфер» вобрал в себя несколько многотысячных словарей, годы кропотливой работы, учета замечаний и пожеланий пользователей.

Жду новых ваших пожеланий и замечаний. Именно они мотивируют меня развивать продукт дальше.

Склонение ФИО в 1С 8.3

В ходе эксплуатации комплекса программного обеспечения 1С у пользователей часто возникают вопросы относительно склонения ФИО 1С 8.3. 1С функция склонения ФИО осуществляется специальной компонентой, которая именуется как "NameDecl.dll". Для старта использования компоненту необходимо скопировать с диска информационно-технического сопровождения в папку, где расположена основная платформа bin, а также зарегистрировать ее в операционке. Осуществляется копирование через команду «resvr32 NameDecl.dll». С этой целью открываем «Пуск» вызываем директиву «Выполнить», как это показано на рисунке.

Открываем окно и прописываем «resvr32.exe», указывая путь к нужной библиотеке. Библиотека выбирается через кнопку «Обзор». Далее нужно выбрать «ОК» и подтвердить регистрацию библиотеки.

1с склонение ФИО выполняется по 2 параметрам:

  • Падеж, тип - число. Это обязательный параметр.
  • ФИО, тип - строка. Также является обязательным параметром.

Так как в русском языке имеется шесть падежей, падежу присваивается число от 1 до 6 в соответствии с таблицей, представленной ниже:

Также выделяют третий, необязательный параметр компоненты склонения ФИО 1С - пол (тип - число). Здесь есть 3 варианта: 0 - авто, 1 - муж, 2 - жен.

Сервис 1С 8 склонение ФИО

Программы версии 1С 8.3 имеют специальный сервис для склонения ФИО по падежам 1С 8.3, который работает через конфигуратор. Поэтому, чтобы просклонять ФИО, открываем окно конфигуратора и используем функцию «Просклонять», как это показано ниже:

Реквизиты вводим из справочника, где они отображены в именительном падеже. На печать документы выводятся и отображаются в формах уже в желаемом склонении. В качестве примера, вот это выглядит в форме договора:



В качестве примера ниже представлении приказ о найме на работу, где в карточки специалиста его фамилия, имя и отчество прописаны в И.П., а вот в печатной форме они отображаются в Р.П.

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

Применение функции автосклонения минимизирует вероятность ошибок при формировании документов, что защищает от негативных последствий в будущем. Особенно актуально это для тех случаев, когда формируется сразу большое количество документов. Автосклонение рационализирует работу с документацией и экономит время, что положительно сказывается на результативности.

Мы разобрали 2 способа склонения фамилии, имя отчества по падежам, числам и родам - с помощью специальной компоненты склонения ФИО 1С 8.3 и через сервис конфигуратора. Попробуйте оба и определите, какой больше подходит для вас.

© 2024 Новогодний портал. Елки. Вязание. Поздравления. Сценарии. Игрушки. Подарки. Шары