V7NDS: Сервис поддержки склонений ФИО для 1С



Внешняя компонента для использования функций склонения по правилам, определенным в подключаемой библиотеке языковой поддержки. Пока таких библиотек две: для русского и украинского языков, количество функций в украинской сборке ограничено. Во всех случаях доступно склонение фамилии, имени и отчества (ФИО), заданных в именительном падеже в форму любого другого падежа (кроме звательного в украинском варианте). Независимо от версии библиотеки, компонента поддерживает тип данных "Справочник" (на вход функциям можно передавать элементы справочников).

Возможности библиотеки для русского языка

ПолучитьСклонениеФИО(Ф,И,О,Род,Падеж) Возвращает результат склонения фамилии, имени и отчества заданного рода в заданный падеж. Возможно автоматическое определение рода по отчеству.

ПолучитьСклонениеФИОизСтроки(ФИО,Род,Падеж) Возвращает результат склонения фамилии, имени и отчества, заданных одной строкой, заданного рода в заданный падеж. Возможно автоматическое определение рода по отчеству.

ПолучитьСклонениеИФ(И,Ф,Род,Падеж) Возвращает результат склонения имени и фамилии заданного рода в заданный падеж

ПолучитьСклонениеИФизСтроки(ИФ,Род,Падеж) Возвращает результат склонения имени и фамилии, записанных одной строкой, заданного рода в заданный падеж

ПолучитьСклонениеДолжности(Д,Падеж,П) Возвращает результат склонения наименования должности в заданный падеж. Если указано подразделение, то возвращается результат «склейки» должности и подразделения, например: ПолучитьСклонениеДолжности(«электромонтер», «дательный», «цех энергоснабжения») = «электромонтеру цеха энергоснабжения»

ПолучитьСклонениеПодразделения(П,Падеж) Возвращает результат склонения наименования подразделения, записанного одной строкой, в заданный падеж

ВосстановитьИменительный(ФИО) Функция выполняет восстановление именительного падежа для ФИО, заданного в произвольном падеже одной строкой

ПолучитьРод(ФИО) Возвращает число — род ФИО, определенный по отчеству

ПолучитьПадеж(ФИО) Возвращает номер падежа ФИО, записанного в произвольном падеже одной строкой

РазделитьФИО(ФИО,Ф,И,О) Процедура разделяет ФИО, записанные одной строкой на составляющие: фамилию, имя, отчество.

ОбновитьСловарьИсключений() Процедура обновляет (перечитывает) текущий словарь исключений
ПолучитьСловарьИсключений() Возвращает имя файла текущего словаря исключений
УстановитьСловарьИсключений(Файл) Устанавливает текущий словарь исключений

Возможности библиотеки для украинского языка:

ПолучитьСклонениеФИО(Ф,И,О,Род,Падеж)
ПолучитьСклонениеФИОизСтроки(ФИО,Род,Падеж)

Не поддерживается звательный падеж и словарь исключений.

Домашняя страница библиотеки языковой поддержки «Склонение ФИО, должностей и подразделений» http://www.delphikingdom.com/asp/viewitem.asp?catalogid=412

87 Comments

  1. JohnyDeath

    А чем обработка Abadon’a не нравится? http://1c.proclub.ru/modules/mydownloads/personal.php?cid=111&lid=254

    Без всяких ВК

    Reply ↓
  2. NDeclin

    JohnyDeath, обработка Abadon’a, возможно, подходит для небольших справочников сотрудников, но доверить этому изяществу автоматическое склонение 3-4 тыс человек?.. Может, задуматься:

    мужские фамилии типа Болоховецкий, Буркатский, Волконский — полный игнор

    с Павлами попадос — Павела (Р), Павелу (Д)

    женские имена типа Любовь, Альмира — ноль эмоций

    И все это навскидку и в пределах всего 2-х падежей. Вот почему.

    Кстати, а чем вам Win9ows-95 не угодил?

    http://ru.wikipedia.org/wiki/Windows_95

    Без всяких XP 😉

    Reply ↓
  3. NDeclin

    Уважаемые коллеги!

    2 сотни загрузок и никому нечего сказать?.. Или попробовали только те, кто спасибо нажал 🙂

    Reply ↓
  4. NDeclin

    Некоторые всё-таки попытались привинтить компоненту к v8. Цитата:

    На 7.7 все работает отлично. На 8.0 компонента загружается, создается объект, но при выполнении любого из методов база вываливается с сообщением об ошибке приложения 1С.

    В результате появился на свет 19-й билд. Проверялось на релизе 8.1.6.38.

    Вариант подключения:

    Код
    Перем NDS Экспорт;
    
    Процедура ПриНачалеРаботыСистемы()
       Попытка
          ЗагрузитьВнешнююКомпоненту("ndeclin.dll");
          NDS = Новый ("AddIn.NameDeclination");
       Исключение
          Сообщить( "Функции слонения недоступны", "!" );
       КонецПопытки;
    КонецПроцедуры;

    Показать полностью

    Reply ↓
  5. CheBurator

    А пробовали заюзать разработку «Падеж «Крохотулька» с проклаба? народ о ней неплохо отзывается…

    Reply ↓
  6. NDeclin

    Да уж пробовали… Можно сказать, что с неё всё и началось (здесь http://ndeclin.narod.ru/core.htm есть небольшой рассказ об этом). В итоге пришлось строить ВК, захотелось вот, понимаете ли, ПОЛНОСТЬЮ автоматического склонения 🙂

    Reply ↓
  7. tormozit

    Но нигде нет изменения по числам. А так хочется.

    Reply ↓
  8. CheBurator

    Ну что хочется сказать…

    За ночь в принципе кадровики сами смогли бы просклонять всеь список вручную.. в минуту — 5-8 человек просклонять можно.. за час — 350 чел, за ночь (с 22 до 8) — как раз набежалобы 3500… двоем даже не напряглись бы как следует.. 😉

    Reply ↓
  9. NDeclin

    Ребят! «Крохотулька» она и есть — крохотулька. Кому её возможностей хватает — да ради Бога!..

    Ну не нравится мне, например, что она должности в нижний регистр переводит, и всё тут!

    С творительным падежом у ней нелады вот были не так давно (Роман=Романым, Вячеслав=Вячеславым).

    Цитата с про-клаба:

    А зачем так «намудрили» с вложенными условиями? Добавлять новые исключения очень неудобно.

    И парься с этими вложенными условиями потом…

    А практика показывает, что словарь исключений — просто необходим. Великий и могучий — куда ж денешься…

    Reply ↓
  10. NDeclin

    2 tormozit:

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

    Reply ↓
  11. ge_ni

    V8.0 8.0.16.2

    AddIn.NameDeclination :: ПолучитьСклонениеФИО() : Не найдена библиотека «Склонение ФИО» (Padeg.DLL).

    ???? А где эту Padeg.DLL получить, или в этом весь s…x и состоит?!

    Грузил, как рекомендовали в п.4

    Reply ↓
  12. ge_ni

    Padeg.dll нашел, скопировал куда только… Padeg.reg запустил…

    Перем NDS Экспорт;

    Процедура ПриНачалеРаботыСистемы()

    Попытка

    ЗагрузитьВнешнююКомпоненту(«ndeclin.dll»);

    ЗагрузитьВнешнююКомпоненту(«padeg.dll»);

    NDS = Новый («AddIn.NameDeclination»);

    Исключение

    Сообщить( «Функции слонения недоступны», «!» );

    КонецПопытки;

    КонецПроцедуры;

    !! Функции слонения недоступны

    Ну и тфу на него! Наверное у кого то работает…

    Reply ↓
  13. ge_ni

    Погорячился! Извиняюсь! Все суппппер Ок!++

    Reply ↓
  14. v_id

    А зачем? Есть же NameDecl.dll от 1С, на любом ИТС

    Или я не уловил разницы в функционале?

    Reply ↓
  15. NDeclin

    (14) Не уловил: из всего того, что умеет Padeg — детищу лаборатории 1С по зубам только ФИО (и то не без проблем, в частности, с творительным падежом). Молод он еще, NameDecl-то…

    RTFM, да повнимательней 😉

    Reply ↓
  16. Kapitan911

    Ошибка при создании объекта из компоненты D:DataBasePRBasicpadeg.dll (отсутствует CLSID)

    Делаю:

    regsvr32 D:DataBasePRBasicPadeg.dll

    Ошибка:

    D:DataBasePRBasicPadeg.dll была загружена, но найти точку входа для DllRegisterServer не удалось. Зарегестрировать этот файл невозможно.

    Reply ↓
  17. NDeclin

    (16) Вообще-то компонента реализована в файле ndeclin.dll. А padeg.dll (для русского языка) существует в двух сборках: с COM-сервером и без него. Вы взяли «лайт»-версию и пытаетесь использовать то, чего нет.

    Если применяется компонента — ничего нигде не надо регистрировать.

    Если же решено работать с padeg.dll «напрямую» — берите http://www.delphikingdom.com/zip/pd_Library.zip и еще раз то же самое…

    Reply ↓
  18. Sergey K

    Пишу:

    ДолжностьР=NDS.ПолучитьСклонениеДолжности(ДолжностьР,»р»);

    выдает ошибку

    Подскажите, какие должны быть параметры у функции? и какие из них являются обязательными?

    Reply ↓
  19. NDeclin

    (18) Всё правильно пишете, текст ошибки забыли написать…

    Параметры всех методов подробно описаны в справке Синтакс-Помощника Конфигуратора.

    Файл находится в архиве с компонентой, но дополнительно выложен отдельно.

    Reply ↓
  20. Sergey K

    (19)

    Скопировал Padeg.DLL в папку bin, запустил Padeg.reg..

    В модуле приложения:

    Попытка

    ЗагрузитьВнешнююКомпоненту(«ndeclin.dll»);

    // ЗагрузитьВнешнююКомпоненту(«Padeg.dll»);

    NDS = Новый («AddIn.NameDeclination»);

    Исключение

    Сообщить( «Функции слонения недоступны»);

    КонецПопытки;

    В модуле док-та: ДолжностьР=NDS.ПолучитьСклонениеДолжности(ДолжностьР,»р»);

    Ошибка: AddIn.NameDeclination :: ПолучитьСклонениеДолжности() : Ошибка вызова функции библиотеки Padeg.DLL.

    Если в модуле приложения пытаюсь также грузить padege.dll(ЗагрузитьВнешнююКомпоненту(«Padeg.dll»);), то она вобще не загружается..

    Подскажите пожалуйста, как правильно регистрировать библиотеки и в каком порядке?

    Reply ↓
  21. NDeclin

    (20) Ничего не надо регистрировать, а возникающее исключение следует трактовать именно так: компонента нашла padeg.dll, но вызываемая функция в библиотеке отсутствует.

    Это вы случайно не с украинской сборкой играетесь?

    Reply ↓
  22. Sergey K

    (21) — Спасибо! теперь отлично работает..

    действительно.. когда я качал я скачал 2 библиотеки.. и видимо в bin поместил для украины..

    Reply ↓
  23. NDeclin

    (22) ну и плюсанули бы тогда уж… мелочь, а приятно 🙂

    Reply ↓
  24. ppp111

    Супер, супер, супер!!! Спасибо Вам!!!!

    Reply ↓
  25. NDeclin

    (25) Результаты тестов, конечно, будут сильно зависеть от набора исходных данных…

    Но, тем не менее, интересно, на каком этапе закончится Ваш творческий порыв.

    Reply ↓
  26. Asdam

    Сборка для украинского языка склоняет по украинским правилам? Или так как написано в описании: «Склонение ФИО выполняется по правилам склонения имен собственных, принятых в русском языке.»?

    Reply ↓
  27. NDeclin

    (27) Конечно, по украинским!

    Вы правы, надо отрихтовать шапку, спасибо.

    Reply ↓
  28. Mayak

    Нид хелп 🙁

    ЗагрузитьВнешнююКомпоненту(«ndeclin.dll»);

    NDS = Новый («AddIn.NameDeclination»);

    Исключение

    Сообщить( «Функции слонения недоступны»);

    КонецПопытки;

    ФИО_Контрагента = NDS.ПолучитьСклонениеДолжности(«Ковалев Сергей Леонидович»,,3);

    Ничего не происходит. NDeclin.dll в bin добавил

    Reply ↓
  29. Abadonna

    (29) >Исключение

    Не отрабатывает ЗагрузитьВнешнююКомпоненту Исключение НИКОГДА, не отрабатывала и не будет отрабатывать!!!!

    Она выполняется ВСЕГДА, возвращает 0 или 1. Конструкция «Попытка ЗагрузитьВнешнююКомпоненту» — полный бред

    Reply ↓
  30. Mayak

    Компонента от 1С:

    Компонента = «NameDecl.dll»;

    Попытка

    ЗагрузитьВнешнююКомпоненту(Компонента);

    Объект = Новый («AddIn.NameDeclension»);

    Исключение

    Сообщить(«Не удалось загрузить компоненту по причине » + ОписаниеОшибки());

    КонецПопытки;

    СтрокаФИО = «Ковалев Ковалев Петр Михайлович»;

    Падеж = 2;

    РезультатСклонения = Объект.Просклонять(СтрокаФИО, Падеж);

    Работает.

    Компонента от NDeclin:

    Компонента = «ndeclin.dll»;

    Попытка

    ЗагрузитьВнешнююКомпоненту(Компонента);

    Объект = Новый («AddIn.NameDeclination»);

    Исключение

    Сообщить(«Не удалось загрузить компоненту по причине » + ОписаниеОшибки());

    КонецПопытки;

    СтрокаФИО = «Ковалев Петр Михайлович»;

    Падеж = 2;

    РезультатСклонения = Объект.ПолучитьСклонениеДолжности(СтрокаФИО, ,Падеж);

    Неработает

    Reply ↓
  31. NDeclin

    > 29.Mayak 08.10.2008

    > Ничего не происходит. NDeclin.dll в bin добавил

    Добавили туда же padeg.dll и except.dic ?

    Reply ↓
  32. Mayak

    Добавлены в папку где и NDeclin.dll

    Reply ↓
  33. Mayak

    Заработало, только я использовал

    РезультатСклонения = Объект.ПолучитьСклонениеФИО(«Ковалев»,»Петр»,»Михайлович»,1,»2″);

    Reply ↓
  34. Mayak

    Тьфу блин, опечтка была, только сейчас увидел что использовал не ту процедуру 🙂

    Reply ↓
  35. NDeclin

    34,35) Да уж, чего только не бывает 🙂

    Еще одна нечасто, но встречающаяся, ошибка «Неправильно склоняет любые женские фамилии» возникает, как правило, при попытках отправить милых дам в командировку, применяя при этом склонение в родительный падеж (нужно склонять в винительный). У джентельменов обе формы совпадают, поэтому и возникает недоразумение:

    // «направить в командировку…»

    ПолучитьСклонениеФИОизСтроки(«Ковалев Петр Михайлович»,,»родительный») = «Ковалева Петра Михайловича»

    // «это же совершенно правильный результат!»

    ПолучитьСклонениеФИОизСтроки(«Ковалева Елена Михайловна»,»ж»,»родительный») = «Ковалевой Елены Михайловны»

    // «неправильно склоняет любые женские фамилии!»

    Reply ↓
  36. svs1s

    Спасибо. Очень помогла DLL. Пожелание — Можно ли использовать одновременно для русского и украинского. В одной базе несколько фирм и приказы на разных языках.

    Reply ↓
  37. NDeclin

    (37) Можно. Вариант такой: регистрируете в ОС русскоязычную сборку padeg.dll с COM-сервером, а украинскую padeg.dll используете через компоненту. Имеем 2 объекта, теряем некоторые преимущества для русского языка (регистрация на каждой станции, контроль типов, …), но работать будет. Методы объектов (англоязычные) в обоих случаях совпадают, немного усилий — сводим оба языка к функциям глобального модуля, в которых по контексту/параметру определяем, какой объект использовать… Ну и так далее.

    Reply ↓
  38. buh

    Здравствуйте. Понадобилось просклонять слово «пригоден». Использую функцию ПолучитьСклонениеПодразделения(склоняемое,2).

    На выходе выдает пригодена, а не пригодна. Можете что-нибудь посоветовать в этой ситуации?

    Reply ↓
  39. Душелов

    (39) Если я не ошибаюсь, то данный сервис склоняет только ФИО, судя по названию и описанию.

    Reply ↓
  40. buh

    (40) Ошибаешься. С помощью функции ПолучитьСклонениеПодразделения() мне удалось просклонять, к примеру, название организации

    Reply ↓
  41. NDeclin

    (39) Если слово пригоден является краткой формой качественного прилагательного пригодный, то оно не склоняется http://www.lingvotech.com/shortform Полная форма прилагательного склоняется библиотекой «на ура».

    (40) В описании также есть Возможности библиотеки для русского языка

    Reply ↓
  42. svs1s

    (38) Спасибо. Я так и сделал, а для склонения должностей на украинском прицепил Padeg_ua.dll, которая в бесплатном варианте должности скланяет во всех падежах, а ФИО только в двух. Еще раз спасибо за ваши dll/

    Reply ↓
  43. Kuryshev

    Не могу подключить в 8.1 🙁

    Перем Объект Экспорт;

    Процедура Кнопка1Нажатие(Элемент)

    Компонента = НСтр(СтрокаСоединенияИнформационнойБазы(),»File») + «» +»Padeg.dll»;

    Попытка

    ЗагрузитьВнешнююКомпоненту(Компонента);

    Объект = Новый («Padeg.Declension»);

    Исключение

    Сообщить(«Не удалось загрузить внешнюю копноненту!», СтатусСообщения.Внимание);

    КонецПопытки;

    КонецПроцедуры

    Reply ↓
  44. NDeclin

    (44) Padeg.dll не является внешней компонентой. Изучаем мат.часть http://ndeclin.narod.ru/connect.htm

    Reply ↓
  45. Kropa

    Есть проблема — под администратором все работает отлично, под пользователем 1с 8.1 «вылетает» при обращенни к функциям. Использую внешнюю компоненту и Padeg.dll для украинского языка. Куда смотреть?

    Где можно взять Padeg.dll с возможностью использования без внешней компоненты.

    Reply ↓
  46. NDeclin

    (46) Компонента пишет в реестр HKEY_LOCAL_MACHINESOFTWAREPadeg, пользователю нужно соответствующее разрешение, в остальном поступать также, как со всеми ВК в подобных случаях.

    Reply ↓
  47. Kropa

    Не планируется ли разработка склонений должностей и подразделений в украинском языке?

    Reply ↓
  48. NDeclin

    (48) Более эффективным было бы задать этот вопрос напрямую авторам библиотеки, обсуждение здесь http://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=412

    От себя скажу, что планируется сборка «мультиязычной» компоненты (2 текущих языка — это, конечно, не так много, но люди спрашивали)

    Reply ↓
  49. kate_kate

    Спасибо большое! Очень долго искала и наконец-то нашла. Все работает замечательно

    Reply ↓
  50. NDeclin

    Из-за необходимости одновременной работы v77+v81 на одном рабочем месте собран специальный билд.

    1) Изменен ProgID=»AddIn.NameDeclensionV8″

    2) Ликвидирована запись в реестр в HKLMSOFTWAREPadeg (см. #47)

    3) Отключено интерактивное управление словарем (как следствие (2))

    Пример кода инициализации:

    #Если Клиент Тогда
    Попытка
    ЗагрузитьВнешнююКомпоненту( «ndeclin8.dll» );
    Склонение = Новый( «AddIn.NameDeclensionV8» );
    Исключение
    Сообщить( «Ошибка загрузки внешней компоненты V7NDS для склонения ФИО!» );
    КонецПопытки;
    #Иначе
    Склонение = Неопределено;
    #КонецЕсли
    

    Показать

    Reply ↓
  51. soyansk

    Создал общую папку на сервере, скинул туда три файла Padeg.dll, Except.dic, Ndeclin.dll. Использую следующий код:

    Попытка

    ЗагрузитьВнешнююКомпоненту(ОбщийКаталог+»
    declin.dll»);

    NDS = Новый( «AddIn.NameDeclination» );

    Исключение

    Сообщить( «Ошибка загрузки внешней компоненты V7NDS для склонения ФИО!» );

    КонецПопытки;

    Далее Сервис-Параметры-СклонениеФИО сервис поддержки ndeclin видит, а padeg нет. Почему?

    Reply ↓
  52. NDeclin

    (52) Потому что

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

    http://ndeclin.narod.ru/connect.htm

    Reply ↓
  53. soyansk

    Не могу подключить в 8.1. Скопировал в BIN все файлы (Padeg.dll, Except.dic, Ndeclin.dll) Использую код:

    Перем NDS Экспорт;
    
    Процедура ПриНачалеРаботыСистемы()
    Попытка
    ЗагрузитьВнешнююКомпоненту(«ndeclin.dll»);
    NDS = Новый («AddIn.NameDeclination»);
    Исключение
    Сообщить( «Функции слонения недоступны», «!» );
    КонецПопытки;
    КонецПроцедуры;

    Показать

    Отрабатывает без ошибок, Сервис-Параметры-Склонение ФИО в форме все заполнено, но NDS в отладчике-НеизвестныйОбъект. Подскажите что делать?

    Reply ↓
  54. NDeclin

    (54) Всё у Вас хорошо, всё подключилось 😉 Отладчик в данном случае — не ходовая часть. А всё, что Вы (возможно) читали на домашней странице — относится к 7.7 и соотв. версии компоненты.

    Попробуйте выполнить в Табло: NDS.ПолучитьВерсию().

    Reply ↓
  55. Mr.CIO

    А не планируете расширить функционал для украинского языка? Думаю, многим бы пригодилось

    Reply ↓
  56. NDeclin

    (56) см. #48 #49

    Reply ↓
  57. shusharu

    Работаю по Windows7

    При попытке уничтожить объект 1С8 падает.

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

    Куда копать, в чем могут быть грабли?

    Спасибо.

    Reply ↓
  58. ivlexster

    Проблема с использованием 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.

    Reply ↓
  59. NDeclin

    (59) Если Ваша религия позволяет изменить переменную окружения PATH, то ответ — положительный 🙂

    Reply ↓
  60. qwertyasid

    (60) а можно компаненту дополнить следующим функционалом

     КаталогИБ = СтрокаСоединенияИнформационнойБазы();
    КаталогИБ = Сред(КаталогИБ,7,СтрДлина(КаталогИБ)-8);
    ЗагрузитьВнешнююКомпоненту(КаталогИБ+»NDeclin8.dll»);
    //  инициализируем параметры
    NDS = Новый («AddIn.NameDeclensionV8″);
    NDS.УстановитьКаталогБиблиотеки = КаталогИБ+»Padeg.dll»;
    NDS.УстановитьФайлИсключений = КаталогИБ+»Except.dic»;
    NDS.Загрузить();

    т.е. смысл в том чтоб не меняя какие то другие параметры можно спокойна загружать библиотеку даже не имея правов админа.

    ну и естесно если эти параметры не установлены то все по умолчанию.

    Reply ↓
  61. NDeclin

    (61) В мультиязычной версии (пока не опубликована) доступные библиотеки склонения определяются в ini-файле.

    Но для первоначальной регистрации компоненты (не библиотеки) права админа все равно нужны, без этого никак.

    Reply ↓
  62. ivlexster
    NDeclin пишет:

    (59) Если Ваша религия позволяет изменить переменную окружения PATH, то ответ — положительный

    Спасибо за совет. От использования пришлось отказаться, т.к. у нас при использовании компоненты наблюдалось падение 1С. В частности, 1С закрывалась при попытке воспользоваться конструктором запросов хоть в конфигураторе, хоть в консоли запросов. Я особо активно все это не тестил, поэтому никаких громких заявлений делать не хочу. Просто у нас такое наблюдалось не на одном компьютере и после того, как компоненту отключили, прошло.

    Reply ↓
  63. gambit89

    А для управляемых приложений эта компонента подходит такое чувство что нет ?!

    Reply ↓
  64. sytkosa

    (64) В толстом клиенте работает на ура. А вот в тонком клиенте что-то не получается

    Reply ↓
  65. sytkosa

    (0) Так кто подскажет как быть в тонком клиенте. Как подключать компоненту

    Reply ↓
  66. NDeclin

    (64)(66) Смотрим С-П 8.2 (изучаем мат.часть):

    1) ЗагрузитьВнешнююКомпоненту(<ИмяФайла>)

    …

    Доступность: Толстый клиент.

    2) ПодключитьВнешнююКомпоненту(<Местоположение>, <Имя>, <Тип>)

    …

    Описание варианта метода:

    Подключает компоненты, выполненые по технологии Native API и COM.

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

    Для режимов запуска «Тонкий клиент» и «Веб-клиент», компонента должна быть предварительно установлена методом УстановитьВнешнююКомпоненту.

    …

    Доступность:

    Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.

    Мануалы курили здесь, например:

    http://devtrainingforum.v8.1c.ru/forum/thread.jsp?id=557257

    Reply ↓
  67. anonimka

    В личку написать не удалось 🙂

    Большое спасибо за склонение ФИО по-украински. Посоветовали здесь http://www.forum.mista.ru/topic.php?id=589937

    Очень выручил!

    Reply ↓
  68. YuraVK

    Да, за украинский спасибо (присоединяюсь).

    Reply ↓
  69. trudyaga

    Внешняя компонента хорошая, только плохо что Padeg.dll должна находится только в каталоге программы.

    Нет возможности сохранить компоненту в макет.

    Плюсую.

    Reply ↓
  70. NDeclin

    (70) #59 #60 читали? Все в наших руках, если что — в личку, разберемся 🙂

    Reply ↓
  71. trudyaga

    Изменение переменной окружения PATH не дает результатов.

    Может чего не так делаю…..

    Reply ↓
  72. Shum23str

    (67)

    Можете подсказать как правильно подключить компоненту в Управляемом приложении?

    Я вот делаю так:

    Попытка

    ПодключитьВнешнююКомпоненту(«C:Program Files1cv828.2.16.368in
    declin.dll», «Comp», ТипВнешнейКомпоненты.Native);

    NDS = Новый(«AddIn.NameDeclination»);

    Исключение

    Сообщить(ОписаниеОшибки());

    КонецПопытки;

    Не срабатывает. Выходит Исключение

    Reply ↓
  73. Romzes
    Компонента пишет в реестр HKEY_LOCAL_MACHINESOFTWAREPadeg, пользователю нужно соответствующее разрешение, в остальном поступать также, как со всеми ВК в подобных случаях.

    HKEY_LOCAL_MACHINESOFTWAREWow6432NodePadeg это для 64-битных систем

    Reply ↓
  74. HIgor

    Исполняющий обязанности начальника отдела

    Исполняющего обязанности начальники отдела

    Исполняющему обязанности начальнике отдела

    Исполняющего обязанности начальнику отдела

    Исполняющим обязанности начальникой отдела

    Причем on-line проверка склоняет правильно. Что не так делаю?

    Reply ↓
  75. NDeclin

    (75) Такое бывает в случае, если библиотека работает без словаря исключений.

    Проверьте наличие «Except.dic» в папке с библиотекой «Padeg.dll».

    В дефолтном словаре «исполняющий» должен находиться в секции [NonAdjective]

    Reply ↓
  76. HIgor

    Спасибо, все работает. Заработал только после перезагрузки

    Reply ↓
  77. begemot

    (0) После перевода конфигурации на клиент-серверный режим работы перестала подключаться библиотека.

    Сообщить(«Компонента подключена? » + ПодключитьВнешнююКомпоненту(«D:NDeclinNDeclin.dll»,»КомпонентаNDeclin», ТипВнешнейКомпоненты.COM));
    КомпонентаСклонения = Новый («AddIn.КомпонентаNDeclin.NameDeclination»);
    
    Сообщить(«Версия компоненты = » + КомпонентаСклонения.ПолучитьВерсию());
    Сообщить(«Версия библиотеки = » + КомпонентаСклонения.ПолучитьВерсию(1));
    
    ФИО = «Балаболкин Егор Семенович»;
    Имя = «»; Фамилия = «»; Отчество = «»;
    КомпонентаСклонения.РазделитьФИО(ФИО, Фамилия, Имя, Отчество);
    
    Сообщить(«Фамилия  = » + Фамилия);
    Сообщить(«Имя      = » + Имя);
    Сообщить(«Отчество = » + Отчество);

    Показать

    Если выполняю код на клиенте, то в ответ получаю:

    Компонента подключена? Да

    Версия компоненты = 2.1.0.19

    Версия библиотеки =

    Фамилия =

    Имя =

    Отчество =

    Т.е. вроде бы подключилась, но не до конца. И результат пуст, хотя и ошибку не выдает…

    Если пробую выполнить код на Сервере, то:

    Компонента подключена? Нет

    {Форма.Форма.Форма(26)}: Тип не определен (AddIn.КомпонентаNDeclin.NameDeclination)

    КомпонентаСклонения = Новый («AddIn.КомпонентаNDeclin.NameDeclination»);

    Reply ↓
  78. fort13

    Спасибо! Ооочень пригодилось!

    Reply ↓
  79. NDeclin

    (78) Наличие «padeg.dll» в «D:NDeclin» проверяли?

    «КомпонентаСклонения.ПолучитьВерсию(1)» должна как раз версию этой библиотеки доложить.

    Reply ↓
  80. begemot

    (80) Да, все лежит на своих местах…

    Reply ↓
  81. NDeclin

    (81) Попробуйте добавить путь «D:NDeclin» в переменную окружения %PATH

    Reply ↓
  82. begemot

    (82) О! Спасибо, помогло! Под клиентом заработало!!!

    Но еще хотелось бы разобраться с подключением компоненты на стороне сервера.

    &НаСервере
    Процедура ВыполнитьКомандуСервер()
    Сообщить(«Компонента подключена? » + ПодключитьВнешнююКомпоненту(«D:NDeclinNDeclin.dll»,»КомпонентаNDeclin», ТипВнешнейКомпоненты.COM));
    КонецПроцедуры

    Выдает сообщение «Нет». Т.е. сама компонента не подключается.

    Я, честно говоря, не силен в технологиях компонент. Нашел информацию «Вызов 32-битных COM-объектов на стороне 64-битного сервера 1С». Пробую делать по инструкции. На 7 пункте, при подключении компоненты, выбираю файл D:NDeclinNDeclin.dll, но в поле «Найденные компоненты» ничего не появляется. И соответственно регистрацию завершить не представляется возможным…

    Reply ↓
  83. fort13

    Спасибо за библиотеку с поддержкой украинского языка 🙂

    Reply ↓
  84. Nowa

    Спасибо!

    Заработало в 7.7 🙂

    Reply ↓
  85. ugroblin

    Спасибо за компоненту, но есть одна проблема: искажает национальные казахские символы. Например, в наименовании организации «Нұр» превращается в «Н?р». Как обойти? Можете сделать билд с поддержкой казахских символов?

    Использовал «Внешняя компонента V7NDS для v8: специальный билд».

    Reply ↓
  86. Stefy

    Здравствуйте. Скачала файл справки и компоненту. Но файл справки показывает только меню, а сам текст справки в правой стороны экрана пустой. У меня Windows 8.1. Как пользоваться и установить компоненту и библиотеку поддержки русского языка не понятно. Можно выслать инструкцию по установке и использованию компонент.

    Reply ↓
  87. NDeclin

    Справка вообще-то предназначена для 7.7. Но там все равно не описан процесс установки — данное ПО не рассчитано на такой уровень специалистов, как Ваш, извините.

    Reply ↓

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *