Возможности библиотеки для русского языка
ПолучитьСклонениеФИО(Ф,И,О,Род,Падеж) Возвращает результат склонения фамилии, имени и отчества заданного рода в заданный падеж. Возможно автоматическое определение рода по отчеству.
ПолучитьСклонениеФИОизСтроки(ФИО,Род,Падеж) Возвращает результат склонения фамилии, имени и отчества, заданных одной строкой, заданного рода в заданный падеж. Возможно автоматическое определение рода по отчеству.
ПолучитьСклонениеИФ(И,Ф,Род,Падеж) Возвращает результат склонения имени и фамилии заданного рода в заданный падеж
ПолучитьСклонениеИФизСтроки(ИФ,Род,Падеж) Возвращает результат склонения имени и фамилии, записанных одной строкой, заданного рода в заданный падеж
ПолучитьСклонениеДолжности(Д,Падеж,П) Возвращает результат склонения наименования должности в заданный падеж. Если указано подразделение, то возвращается результат «склейки» должности и подразделения, например: ПолучитьСклонениеДолжности(«электромонтер», «дательный», «цех энергоснабжения») = «электромонтеру цеха энергоснабжения»
ПолучитьСклонениеПодразделения(П,Падеж) Возвращает результат склонения наименования подразделения, записанного одной строкой, в заданный падеж
ВосстановитьИменительный(ФИО) Функция выполняет восстановление именительного падежа для ФИО, заданного в произвольном падеже одной строкой
ПолучитьРод(ФИО) Возвращает число — род ФИО, определенный по отчеству
ПолучитьПадеж(ФИО) Возвращает номер падежа ФИО, записанного в произвольном падеже одной строкой
РазделитьФИО(ФИО,Ф,И,О) Процедура разделяет ФИО, записанные одной строкой на составляющие: фамилию, имя, отчество.
ОбновитьСловарьИсключений() Процедура обновляет (перечитывает) текущий словарь исключений
ПолучитьСловарьИсключений() Возвращает имя файла текущего словаря исключений
УстановитьСловарьИсключений(Файл) Устанавливает текущий словарь исключений
Возможности библиотеки для украинского языка:
ПолучитьСклонениеФИО(Ф,И,О,Род,Падеж)
ПолучитьСклонениеФИОизСтроки(ФИО,Род,Падеж)
Не поддерживается звательный падеж и словарь исключений.
Домашняя страница библиотеки языковой поддержки «Склонение ФИО, должностей и подразделений» http://www.delphikingdom.com/asp/viewitem.asp?catalogid=412
А чем обработка Abadon’a не нравится?http://1c.proclub.ru/modules/mydownloads/personal.php?cid=111&lid=254
Без всяких ВК
JohnyDeath, обработка Abadon’a, возможно, подходит для небольших справочников сотрудников, но доверить этому изяществу автоматическое склонение 3-4 тыс человек?.. Может, задуматься:
http://ru.wikipedia.org/wiki/Windows_95
мужские фамилии типа Болоховецкий, Буркатский, Волконский — полный игнор
с Павлами попадос — Павела (Р), Павелу (Д)
женские имена типа Любовь, Альмира — ноль эмоций
И все это навскидку и в пределах всего 2-х падежей. Вот почему.
Кстати, а чем вам Win9ows-95 не угодил?
Без всяких XP 😉
Уважаемые коллеги!
2 сотни загрузок и никому нечего сказать?.. Или попробовали только те, кто спасибо нажал 🙂
Некоторые всё-таки попытались привинтить компоненту к v8. Цитата:
На 7.7 все работает отлично. На 8.0 компонента загружается, создается объект, но при выполнении любого из методов база вываливается с сообщением об ошибке приложения 1С.
В результате появился на свет 19-й билд. Проверялось на релизе 8.1.6.38.
Вариант подключения:
Показать полностью
А пробовали заюзать разработку «Падеж «Крохотулька» с проклаба? народ о ней неплохо отзывается…
Да уж пробовали… Можно сказать, что с неё всё и началось (здесьhttp://ndeclin.narod.ru/core.htm есть небольшой рассказ об этом). В итоге пришлось строить ВК, захотелось вот, понимаете ли, ПОЛНОСТЬЮ автоматического склонения 🙂
Но нигде нет изменения по числам. А так хочется.
Ну что хочется сказать…
За ночь в принципе кадровики сами смогли бы просклонять всеь список вручную.. в минуту — 5-8 человек просклонять можно.. за час — 350 чел, за ночь (с 22 до 8) — как раз набежалобы 3500… двоем даже не напряглись бы как следует.. 😉
Ребят! «Крохотулька» она и есть — крохотулька. Кому её возможностей хватает — да ради Бога!..
Ну не нравится мне, например, что она должности в нижний регистр переводит, и всё тут!
С творительным падежом у ней нелады вот были не так давно (Роман=Романым, Вячеслав=Вячеславым).
Цитата с про-клаба:
А зачем так «намудрили» с вложенными условиями? Добавлять новые исключения очень неудобно.
И парься с этими вложенными условиями потом…
А практика показывает, что словарь исключений — просто необходим. Великий и могучий — куда ж денешься…
2 tormozit:
если Вы конкретизируете исходные условия и конечный результат туманной фразы «изменения по числам» — возможно, ОНО и появится.
V8.0 8.0.16.2
AddIn.NameDeclination :: ПолучитьСклонениеФИО() : Не найдена библиотека «Склонение ФИО» (Padeg.DLL).
???? А где эту Padeg.DLL получить, или в этом весь s…x и состоит?!
Грузил, как рекомендовали в п.4
Padeg.dll нашел, скопировал куда только… Padeg.reg запустил…
Перем NDS Экспорт;
Процедура ПриНачалеРаботыСистемы()
Попытка
ЗагрузитьВнешнююКомпоненту(«ndeclin.dll»);
ЗагрузитьВнешнююКомпоненту(«padeg.dll»);
NDS = Новый («AddIn.NameDeclination»);
Исключение
Сообщить( «Функции слонения недоступны», «!» );
КонецПопытки;
КонецПроцедуры;
!! Функции слонения недоступны
Ну и тфу на него! Наверное у кого то работает…
Погорячился! Извиняюсь! Все суппппер Ок!++
А зачем? Есть же NameDecl.dll от 1С, на любом ИТС
Или я не уловил разницы в функционале?
(14) Не уловил: из всего того, что умеет Padeg — детищу лаборатории 1С по зубам только ФИО (и то не без проблем, в частности, с творительным падежом). Молод он еще, NameDecl-то…
RTFM, да повнимательней 😉
Ошибка при создании объекта из компоненты D:DataBasePRBasicpadeg.dll (отсутствует CLSID)
Делаю:
regsvr32 D:DataBasePRBasicPadeg.dll
Ошибка:
D:DataBasePRBasicPadeg.dll была загружена, но найти точку входа для DllRegisterServer не удалось. Зарегестрировать этот файл невозможно.
(16) Вообще-то компонента реализована в файле ndeclin.dll. А padeg.dll (для русского языка) существует в двух сборках: с COM-сервером и без него. Вы взяли «лайт»-версию и пытаетесь использовать то, чего нет.
http://www.delphikingdom.com/zip/pd_Library.zip и еще раз то же самое…
Если применяется компонента — ничего нигде не надо регистрировать.
Если же решено работать с padeg.dll «напрямую» — берите
Пишу:
ДолжностьР=NDS.ПолучитьСклонениеДолжности(ДолжностьР,»р»);
выдает ошибку
Подскажите, какие должны быть параметры у функции? и какие из них являются обязательными?
(18) Всё правильно пишете, текст ошибки забыли написать…
Параметры всех методов подробно описаны в справке Синтакс-Помощника Конфигуратора.
Файл находится в архиве с компонентой, но дополнительно выложен отдельно.
(19)
Скопировал Padeg.DLL в папку bin, запустил Padeg.reg..
В модуле приложения:
Попытка
ЗагрузитьВнешнююКомпоненту(«ndeclin.dll»);
// ЗагрузитьВнешнююКомпоненту(«Padeg.dll»);
NDS = Новый («AddIn.NameDeclination»);
Исключение
Сообщить( «Функции слонения недоступны»);
КонецПопытки;
В модуле док-та: ДолжностьР=NDS.ПолучитьСклонениеДолжности(ДолжностьР,»р»);
Ошибка: AddIn.NameDeclination :: ПолучитьСклонениеДолжности() : Ошибка вызова функции библиотеки Padeg.DLL.
Если в модуле приложения пытаюсь также грузить padege.dll(ЗагрузитьВнешнююКомпоненту(«Padeg.dll»);), то она вобще не загружается..
Подскажите пожалуйста, как правильно регистрировать библиотеки и в каком порядке?
(20) Ничего не надо регистрировать, а возникающее исключение следует трактовать именно так: компонента нашла padeg.dll, но вызываемая функция в библиотеке отсутствует.
Это вы случайно не с украинской сборкой играетесь?
(21) — Спасибо! теперь отлично работает..
действительно.. когда я качал я скачал 2 библиотеки.. и видимо в bin поместил для украины..
(22) ну и плюсанули бы тогда уж… мелочь, а приятно 🙂
Супер, супер, супер!!! Спасибо Вам!!!!
(25) Результаты тестов, конечно, будут сильно зависеть от набора исходных данных…
Но, тем не менее, интересно, на каком этапе закончится Ваш творческий порыв.
Сборка для украинского языка склоняет по украинским правилам? Или так как написано в описании: «Склонение ФИО выполняется по правилам склонения имен собственных, принятых в русском языке.»?
(27) Конечно, по украинским!
Вы правы, надо отрихтовать шапку, спасибо.
Нид хелп 🙁
ЗагрузитьВнешнююКомпоненту(«ndeclin.dll»);
NDS = Новый («AddIn.NameDeclination»);
Исключение
Сообщить( «Функции слонения недоступны»);
КонецПопытки;
ФИО_Контрагента = NDS.ПолучитьСклонениеДолжности(«Ковалев Сергей Леонидович»,,3);
Ничего не происходит. NDeclin.dll в bin добавил
(29) >Исключение
Не отрабатывает ЗагрузитьВнешнююКомпоненту Исключение НИКОГДА, не отрабатывала и не будет отрабатывать!!!!
Она выполняется ВСЕГДА, возвращает 0 или 1. Конструкция «Попытка ЗагрузитьВнешнююКомпоненту» — полный бред
Компонента от 1С:
Компонента = «NameDecl.dll»;
Попытка
ЗагрузитьВнешнююКомпоненту(Компонента);
Объект = Новый («AddIn.NameDeclension»);
Исключение
Сообщить(«Не удалось загрузить компоненту по причине » + ОписаниеОшибки());
КонецПопытки;
СтрокаФИО = «Ковалев Ковалев Петр Михайлович»;
Падеж = 2;
РезультатСклонения = Объект.Просклонять(СтрокаФИО, Падеж);
Работает.
Компонента от NDeclin:
Компонента = «ndeclin.dll»;
Попытка
ЗагрузитьВнешнююКомпоненту(Компонента);
Объект = Новый («AddIn.NameDeclination»);
Исключение
Сообщить(«Не удалось загрузить компоненту по причине » + ОписаниеОшибки());
КонецПопытки;
СтрокаФИО = «Ковалев Петр Михайлович»;
Падеж = 2;
РезультатСклонения = Объект.ПолучитьСклонениеДолжности(СтрокаФИО, ,Падеж);
Неработает
> 29.Mayak 08.10.2008
> Ничего не происходит. NDeclin.dll в bin добавил
Добавили туда же padeg.dll и except.dic ?
Добавлены в папку где и NDeclin.dll
Заработало, только я использовал
РезультатСклонения = Объект.ПолучитьСклонениеФИО(«Ковалев»,»Петр»,»Михайлович»,1,»2″);
Тьфу блин, опечтка была, только сейчас увидел что использовал не ту процедуру 🙂
34,35) Да уж, чего только не бывает 🙂
Еще одна нечасто, но встречающаяся, ошибка «Неправильно склоняет любые женские фамилии» возникает, как правило, при попытках отправить милых дам в командировку, применяя при этом склонение в родительный падеж (нужно склонять в винительный). У джентельменов обе формы совпадают, поэтому и возникает недоразумение:
// «направить в командировку…»
ПолучитьСклонениеФИОизСтроки(«Ковалев Петр Михайлович»,,»родительный») = «Ковалева Петра Михайловича»
// «это же совершенно правильный результат!»
ПолучитьСклонениеФИОизСтроки(«Ковалева Елена Михайловна»,»ж»,»родительный») = «Ковалевой Елены Михайловны»
// «неправильно склоняет любые женские фамилии!»
Спасибо. Очень помогла DLL. Пожелание — Можно ли использовать одновременно для русского и украинского. В одной базе несколько фирм и приказы на разных языках.
(37) Можно. Вариант такой: регистрируете в ОС русскоязычную сборку padeg.dll с COM-сервером, а украинскую padeg.dll используете через компоненту. Имеем 2 объекта, теряем некоторые преимущества для русского языка (регистрация на каждой станции, контроль типов, …), но работать будет. Методы объектов (англоязычные) в обоих случаях совпадают, немного усилий — сводим оба языка к функциям глобального модуля, в которых по контексту/параметру определяем, какой объект использовать… Ну и так далее.
Здравствуйте. Понадобилось просклонять слово «пригоден». Использую функцию ПолучитьСклонениеПодразделения(склоняемое,2).
На выходе выдает пригодена, а не пригодна. Можете что-нибудь посоветовать в этой ситуации?
(39) Если я не ошибаюсь, то данный сервис склоняет только ФИО, судя по названию и описанию.
(40) Ошибаешься. С помощью функции ПолучитьСклонениеПодразделения() мне удалось просклонять, к примеру, название организации
(39) Если слово пригоден является краткой формой качественного прилагательного пригодный, то оно не склоняетсяhttp://www.lingvotech.com/shortform Полная форма прилагательного склоняется библиотекой «на ура».
(40) В описании также есть Возможности библиотеки для русского языка
(38) Спасибо. Я так и сделал, а для склонения должностей на украинском прицепил Padeg_ua.dll, которая в бесплатном варианте должности скланяет во всех падежах, а ФИО только в двух. Еще раз спасибо за ваши dll/
Не могу подключить в 8.1 🙁
Перем Объект Экспорт;
Процедура Кнопка1Нажатие(Элемент)
Компонента = НСтр(СтрокаСоединенияИнформационнойБазы(),»File») + «» +»Padeg.dll»;
Попытка
ЗагрузитьВнешнююКомпоненту(Компонента);
Объект = Новый («Padeg.Declension»);
Исключение
Сообщить(«Не удалось загрузить внешнюю копноненту!», СтатусСообщения.Внимание);
КонецПопытки;
КонецПроцедуры
(44) Padeg.dll не является внешней компонентой. Изучаем мат.частьhttp://ndeclin.narod.ru/connect.htm
Есть проблема — под администратором все работает отлично, под пользователем 1с 8.1 «вылетает» при обращенни к функциям. Использую внешнюю компоненту и Padeg.dll для украинского языка. Куда смотреть?
Где можно взять Padeg.dll с возможностью использования без внешней компоненты.
(46) Компонента пишет в реестр HKEY_LOCAL_MACHINESOFTWAREPadeg, пользователю нужно соответствующее разрешение, в остальном поступать также, как со всеми ВК в подобных случаях.
Не планируется ли разработка склонений должностей и подразделений в украинском языке?
(48) Более эффективным было бы задать этот вопрос напрямую авторам библиотеки, обсуждение здесьhttp://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=412
От себя скажу, что планируется сборка «мультиязычной» компоненты (2 текущих языка — это, конечно, не так много, но люди спрашивали)
Спасибо большое! Очень долго искала и наконец-то нашла. Все работает замечательно
Из-за необходимости одновременной работы v77+v81 на одном рабочем месте собран специальный билд.
1) Изменен ProgID=»AddIn.NameDeclensionV8″
2) Ликвидирована запись в реестр в HKLMSOFTWAREPadeg (см. #47)
3) Отключено интерактивное управление словарем (как следствие (2))
Пример кода инициализации:
Показать
Создал общую папку на сервере, скинул туда три файла Padeg.dll, Except.dic, Ndeclin.dll. Использую следующий код:
Попытка
ЗагрузитьВнешнююКомпоненту(ОбщийКаталог+»
declin.dll»);
NDS = Новый( «AddIn.NameDeclination» );
Исключение
Сообщить( «Ошибка загрузки внешней компоненты V7NDS для склонения ФИО!» );
КонецПопытки;
Далее Сервис-Параметры-СклонениеФИО сервис поддержки ndeclin видит, а padeg нет. Почему?
(52) Потому что
Не могу подключить в 8.1. Скопировал в BIN все файлы (Padeg.dll, Except.dic, Ndeclin.dll) Использую код:
Показать
Отрабатывает без ошибок, Сервис-Параметры-Склонение ФИО в форме все заполнено, но NDS в отладчике-НеизвестныйОбъект. Подскажите что делать?
(54) Всё у Вас хорошо, всё подключилось 😉 Отладчик в данном случае — не ходовая часть. А всё, что Вы (возможно) читали на домашней странице — относится к 7.7 и соотв. версии компоненты.
Попробуйте выполнить в Табло: NDS.ПолучитьВерсию().
А не планируете расширить функционал для украинского языка? Думаю, многим бы пригодилось
(56) см. #48 #49
Работаю по Windows7
При попытке уничтожить объект 1С8 падает.
При чем есть такая характерная особенность, если запусть 1С от имени администратора, то все нормально, а вот под пользователем падает.
Куда копать, в чем могут быть грабли?
Спасибо.
Проблема с использованием V7NDS + 1С 8.1. Файлы Padeg.dll, Except.dic, Ndeclin.dll лежат в отдельной папке, не в bin, т.к. 1С стоит более чем на 50 машинах, на каждом свой bin (устанавливал не я). Подключаю Ndeclin.dll при начале работы системы, однако в параметрах на закладке Склонение ФИО пишет, что нет библиотеки padeg.dll, а при попытке просклонять что-либо выводится сообщение: Не найдена библиотека «Склонение ФИО» (Padeg.DLL). если положить в bin хотя бы Padeg.dll — все нормально. Подскажите, пожалуйста, можно ли решить проблему, не копируя ничего в bin. Также требуется не писать ничего в реестр и ничего нигде не регистрировать. Именно поэтому используется special build.
(59) Если Ваша религия позволяет изменить переменную окружения PATH, то ответ — положительный 🙂
(60) а можно компаненту дополнить следующим функционалом
т.е. смысл в том чтоб не меняя какие то другие параметры можно спокойна загружать библиотеку даже не имея правов админа.
ну и естесно если эти параметры не установлены то все по умолчанию.
(61) В мультиязычной версии (пока не опубликована) доступные библиотеки склонения определяются в ini-файле.
Но для первоначальной регистрации компоненты (не библиотеки) права админа все равно нужны, без этого никак.
Спасибо за совет. От использования пришлось отказаться, т.к. у нас при использовании компоненты наблюдалось падение 1С. В частности, 1С закрывалась при попытке воспользоваться конструктором запросов хоть в конфигураторе, хоть в консоли запросов. Я особо активно все это не тестил, поэтому никаких громких заявлений делать не хочу. Просто у нас такое наблюдалось не на одном компьютере и после того, как компоненту отключили, прошло.
А для управляемых приложений эта компонента подходит такое чувство что нет ?!
(64) В толстом клиенте работает на ура. А вот в тонком клиенте что-то не получается
(0) Так кто подскажет как быть в тонком клиенте. Как подключать компоненту
(64)(66) Смотрим С-П 8.2 (изучаем мат.часть):
1) ЗагрузитьВнешнююКомпоненту(<ИмяФайла>)
…
Доступность: Толстый клиент.
2) ПодключитьВнешнююКомпоненту(<Местоположение>, <Имя>, <Тип>)
…
Описание варианта метода:
Подключает компоненты, выполненые по технологии Native API и COM.
Компонента может храниться в информационной базе или макете конфигурации в виде двоичных данных или в ZIP-архиве.
Для режимов запуска «Тонкий клиент» и «Веб-клиент», компонента должна быть предварительно установлена методом УстановитьВнешнююКомпоненту.
…
Доступность:
Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Мануалы курили здесь, например:
http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=557257
В личку написать не удалось 🙂
http://www.forum.mista.ru/topic.php?id=589937
Большое спасибо за склонение ФИО по-украински. Посоветовали здесь
Очень выручил!
Да, за украинский спасибо (присоединяюсь).
Внешняя компонента хорошая, только плохо что Padeg.dll должна находится только в каталоге программы.
Нет возможности сохранить компоненту в макет.
Плюсую.
(70) #59 #60 читали? Все в наших руках, если что — в личку, разберемся 🙂
Изменение переменной окружения PATH не дает результатов.
Может чего не так делаю…..
(67)
Можете подсказать как правильно подключить компоненту в Управляемом приложении?
Я вот делаю так:
Попытка
ПодключитьВнешнююКомпоненту(«C:Program Files1cv828.2.16.368in
declin.dll», «Comp», ТипВнешнейКомпоненты.Native);
NDS = Новый(«AddIn.NameDeclination»);
Исключение
Сообщить(ОписаниеОшибки());
КонецПопытки;
Не срабатывает. Выходит Исключение
HKEY_LOCAL_MACHINESOFTWAREWow6432NodePadeg это для 64-битных систем
Исполняющий обязанности начальника отдела
Исполняющего обязанности начальники отдела
Исполняющему обязанности начальнике отдела
Исполняющего обязанности начальнику отдела
Исполняющим обязанности начальникой отдела
Причем on-line проверка склоняет правильно. Что не так делаю?
(75) Такое бывает в случае, если библиотека работает без словаря исключений.
Проверьте наличие «Except.dic» в папке с библиотекой «Padeg.dll».
В дефолтном словаре «исполняющий» должен находиться в секции [NonAdjective]
Спасибо, все работает. Заработал только после перезагрузки
(0) После перевода конфигурации на клиент-серверный режим работы перестала подключаться библиотека.
Показать
Если выполняю код на клиенте, то в ответ получаю:
Компонента подключена? Да
Версия компоненты = 2.1.0.19
Версия библиотеки =
Фамилия =
Имя =
Отчество =
Т.е. вроде бы подключилась, но не до конца. И результат пуст, хотя и ошибку не выдает…
Если пробую выполнить код на Сервере, то:
Компонента подключена? Нет
{Форма.Форма.Форма(26)}: Тип не определен (AddIn.КомпонентаNDeclin.NameDeclination)
КомпонентаСклонения = Новый («AddIn.КомпонентаNDeclin.NameDeclination»);
Спасибо! Ооочень пригодилось!
(78) Наличие «padeg.dll» в «D:NDeclin» проверяли?
«КомпонентаСклонения.ПолучитьВерсию(1)» должна как раз версию этой библиотеки доложить.
(80) Да, все лежит на своих местах…
(81) Попробуйте добавить путь «D:NDeclin» в переменную окружения %PATH
(82) О! Спасибо, помогло! Под клиентом заработало!!!
Но еще хотелось бы разобраться с подключением компоненты на стороне сервера.
Выдает сообщение «Нет». Т.е. сама компонента не подключается.
«Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С» . Пробую делать по инструкции. На 7 пункте, при подключении компоненты, выбираю файл D:NDeclinNDeclin.dll, но в поле «Найденные компоненты» ничего не появляется. И соответственно регистрацию завершить не представляется возможным…
Я, честно говоря, не силен в технологиях компонент. Нашел информацию
Спасибо за библиотеку с поддержкой украинского языка 🙂
Спасибо!
Заработало в 7.7 🙂
Спасибо за компоненту, но есть одна проблема: искажает национальные казахские символы. Например, в наименовании организации «Нұр» превращается в «Н?р». Как обойти? Можете сделать билд с поддержкой казахских символов?
Использовал «Внешняя компонента V7NDS для v8: специальный билд».
Здравствуйте. Скачала файл справки и компоненту. Но файл справки показывает только меню, а сам текст справки в правой стороны экрана пустой. У меня Windows 8.1. Как пользоваться и установить компоненту и библиотеку поддержки русского языка не понятно. Можно выслать инструкцию по установке и использованию компонент.
Справка вообще-то предназначена для 7.7. Но там все равно не описан процесс установки — данное ПО не рассчитано на такой уровень специалистов, как Ваш, извините.