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 не будет опубликован. Обязательные поля помечены *