+1
Сообщение «Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!
Сообщение «Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!» при запуске конфигурации «1С:Предприятие Зарплата и Управление Персоналом 2.5 появляется в случае отсутствия компоненты NameDecl.dll или если данная компонента не зарегистрирована в системе (обычно это бывает после установки платформы 1cv8 не под правами администратора операционной системы).
В случае отсутствия компоненты, ее можно найти на диске ИТС и переписать в каталог /bin/ установленной платформы «1С:Предприятие 8.
Если после этого ошибка все равно остается (такое возможно, например, при работе под управлением ОС «Windows Vista» или «Windows 7) – необходимо зарегистрировать компоненту «вручную».
Для этого в командной строке ОС можно набрать команду regsvr32 «[Путь к DLL]NameDecl.dll» и выполнить ее под правами администратора.
Здесь [Путь к DLL], скорее всего, для платформы 1cv81 – «С:Program Files1Cv81bin», а для платформы 1cv82 – «С:Program Files1cv828.2.9.356bin». При наборе пути к файлу необходимо заключить его в двойные кавычки.
Если при регистрации таким способом возникла ошибка – «Модуль «[Путь к DLL]NameDecl.dll» загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки 0х80070005, то можно попробовать выйти из положения следующим образом:
1. На компьютере находим файл NameDecl.dll (скорее всего, для платформы 1cv81 он находится в «С:Program Files1Cv81bin», а для платформы 1cv82 в «С:Program Files1cv828.2.9.356bin»). Для найденного файла создаем ярлык и выносим его на рабочий стол.
2. На рабочем столе правой кнопкой мыши вызываем свойства этого ярлыка.
3. В свойствах на закладке «Ярлык» в окне «Объект» перед путем к файлу вставляем команду regsvr32 (помним, что путь должен быть в двойных кавычках).
4. На этой же закладке свойств ярлыка жмем на кнопку «Дополнительно». В открывшемся диалоге устанавливаем флажок «Запуск от имени администратора» и сохраняем внесенные изменения.
5. Запускаем ярлык для регистрации компоненты NameDecl.dll (обычно запуск регистрации через ярлык достаточно произвести один раз).
6. После регистрации компоненты ярлык можно удалить.
Ключевые слова: внешняя компонента, ошибка, отсутствует, CLSID, загрузка, не загружается, объект, компонента, DLL, реестр
Загрузка внешних компонент в 1С:Предприятие версии 8
ЗагрузитьВнешнююКомпоненту("E:EventsEvents.dll"); test = Новый("Addin.Events"); Сообщить(test.CreateGUID());
В отличие от 7.7 необходимо указывать полный путь к DLL (или положить файл DLL в папку BIN платформы 1С:Предприятие). Вместо СоздатьОбъект(«Addin.Имя») используется Новый(«Addin.Имя»), использовать при этом ключевое слово COMОбъект не нужно.
Хранение записей о внешних компонентах в реестре Windows
Зарегистрированная внешняя компонента хранится в реестре следующим образом.
Предположим, что у нас есть внешняя компонента E:EventsEvents.dll.
В 1С мы пишем:
ЗагрузитьВнешнююКомпоненту("e:EventsEvents.dll"); vk=СоздатьОбъект("Addin.Events");
Теперь зайдем в программу regedit.exe (Пуск-Выполнить-Regedit.exe).
Если регистрация прошла успешно, то в реестре мы увидим следующие записи (я сделал поиск по подстроке «AddIn.Events» в редакторе реестра regedit.exe, нажав сочетание клавиш Ctrl-F):
[HKEY_CLASSES_ROOTAddIn.EventsClsid] @="{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}] @="V7 AddIn 2.0" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}InprocServer32] @="E:\Events\Events.dll" [HKEY_CLASSES_ROOTCLSID{2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397}ProgID] @="AddIn.Events"
Значение {2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397} является уникальным для каждого OLE-объекта идентификатором (CLSID). Его должен явно задать разработчик в коде внешней компоненты.
Значение ProgID, которое в нашем случае — «AddIn.Events» также задает разработчик внешней компоненты.
Чтобы в реестре появились эти записи, необходимы права доступа
Начиная с Windows 2000, обычный пользователь не имеет прав доступа к указанным выше ветвям реестра. Нужны права или администратора, или привилегированного пользователя Windows. После первой загрузки компонента пропишет себя в реестре, и ее смогут использовать и непривилегированные пользователи Windows.
Где 1С ищет внешнюю компоненту?
Если при загрузке внешней компоненты вы не указываете полный путь, такой как E:EventsEvents.dll или сетевой путь наподобие \ВашСерверПапкаГдеЛежатВКEvents.dll, то 1С ищет внешние компоненты
-относительно папки 1Cv7BIN (КаталогПрограммы())
-относительно каталога информационной базы (КаталогИБ())
Метод ЗагрузитьВнешнююКомпоненту(), обнаружив ВК по новому пути, обновляет ее регистрацию в реестре
Это означает, например, что на терминальном сервере программист, который вошел в тестовую базу, где лежит ВК, и потом ее стер, оставит у всех пользователей запись в реестре о несуществующей ВК.
Аналогичная проблема — когда ВК по данному пути недоступна тем или иным пользователям.
А поскольку пользователи не имеют права на изменение записей в реестре, то у них перестанет загружаться и внешняя компонента.
В 1С:Предприятие 8.0 убрана возможность загрузки ВК относительно каталога ИБ.
В 7.7 же, чтобы избежать проблем, всегда убирайте ВК из каталога ИБ, и прописывайте полные пути (или складывайте DLL в общую для всех пользователей папку BIN).
Кардинальное решение проблемы — VKLoader
Имеется компонента VKLoader.dll (автор — Александр Орефков), которая позволяет решить проблемы с регистрацией компонент.
http://openconf.1cpp.ru/vk/vkloader/
Цитата:
«vkloader (далее ВК) — внешняя компонента для 1С-Предприятия 7.7, которая может загружаться без ее регистрации в реестре, и загружать другие внешние компоненты без их регистрации. Предназначена для беспроблемной загрузки внешних компонент пользователями, не имеющими прав на запись в HKCR ветку реестра.
Принцип работы основан на перехвате обращения 1С к WinAPI функциям CLSIDFromProgID и CoCreateInstance.
Также ВК решает проблему «зависания» процесса 1С в памяти при закрытии программы при использовании несовсем корректно написанных сторонних внешних компонент».
Пример использования vkloader:
ЗагрузитьВнешнююКомпоненту("vkloader.dll"); //регистрации не требует Загрузчик = СоздатьОбъект("ЗагрузчикВК"); Результат = Загрузчик.ЗагрузитьВК("Events.dll", "Addin.Events=2E5E6B2C-EFE0-4872-9AB6-DF187B9CE397");
Замечу, что сама vkloader «умеет» загружать себя без прав доступа к реестру.
Еще одно решение: RegsvrEx
Автор — AlexQC.
Регистрирует компоненты (OLE-объекты) в пользовательской ветке реестра.
http://infostart.ru/projects/index.php?id=559
Пример использования:
Попытка Объект=СоздатьОбъект("cool.object"); Исключение ИмяДЛЛ=КаталогИБ()+"cool.ocx"; КомандаСистемы(КаталогИБ()+"regsvrex.exe /s /c "+ИмяДЛЛ); Попытка Объект=СоздатьОбъект("cool.object"); Исключение Сообщить("Ошибка загрузки компоненты: "+ИмяDLL,"!"); КонецПопытки; КонецПопытки;
Самая простая причина неполадок
Очень часто причиной неработоспособности любого электронного прибора является отсутствие вилки в розетке. Аналогичная ситуация возникает с внешними компонентами, поэтому при их загрузке полезно проверять, а есть ли в наличии указанный файл DLL (к сожалению, этого не делает сам движок 1С:Предприятие 7.7).
имяф="e:EventsEvents.dll"; Если фс.СуществуетФайл(имяф)=0 Тогда Сообщить("Файл не найден: "+имяф,"!"); КонецЕсли; Если ЗагрузитьВнешнююКомпоненту(имяф)=0 Тогда Сообщить("Ошибка загрузки внешней компоненты: "+имяф); КонецЕсли; vk=СоздатьОбъект("Addin.Events");
Дополнительно:
Для старта внешней компоненты DynamicModuleServer.dll на Windows Server 2003 необходимо добавить исполняемый файл (1cv7s.exe) в исключения из механизма Windows под названием DEP (Data Execution Prevention): Control Panel -> System -> Advanced ->Performance Settings ->Data Execution Prevention
См. также:
Книга знаний: PLUGIN_VKLOADER — загрузка внешних компонент без регистрации в реестре
+1
Сообщение «Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!
Сообщение «Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!» при запуске конфигурации «1С:Предприятие Зарплата и Управление Персоналом 2.5 появляется в случае отсутствия компоненты NameDecl.dll или если данная компонента не зарегистрирована в системе (обычно это бывает после установки платформы 1cv8 не под правами администратора операционной системы).
В случае отсутствия компоненты, ее можно найти на диске ИТС и переписать в каталог /bin/ установленной платформы «1С:Предприятие 8.
Если после этого ошибка все равно остается (такое возможно, например, при работе под управлением ОС «Windows Vista» или «Windows 7) – необходимо зарегистрировать компоненту «вручную».
Для этого в командной строке ОС можно набрать команду regsvr32 «[Путь к DLL]NameDecl.dll» и выполнить ее под правами администратора.
Здесь [Путь к DLL], скорее всего, для платформы 1cv81 – «С:Program Files1Cv81bin», а для платформы 1cv82 – «С:Program Files1cv828.2.9.356bin». При наборе пути к файлу необходимо заключить его в двойные кавычки.
Если при регистрации таким способом возникла ошибка – «Модуль «[Путь к DLL]NameDecl.dll» загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки 0х80070005, то можно попробовать выйти из положения следующим образом:
1. На компьютере находим файл NameDecl.dll (скорее всего, для платформы 1cv81 он находится в «С:Program Files1Cv81bin», а для платформы 1cv82 в «С:Program Files1cv828.2.9.356bin»). Для найденного файла создаем ярлык и выносим его на рабочий стол.
2. На рабочем столе правой кнопкой мыши вызываем свойства этого ярлыка.
3. В свойствах на закладке «Ярлык» в окне «Объект» перед путем к файлу вставляем команду regsvr32 (помним, что путь должен быть в двойных кавычках).
4. На этой же закладке свойств ярлыка жмем на кнопку «Дополнительно». В открывшемся диалоге устанавливаем флажок «Запуск от имени администратора» и сохраняем внесенные изменения.
5. Запускаем ярлык для регистрации компоненты NameDecl.dll (обычно запуск регистрации через ярлык достаточно произвести один раз).
6. После регистрации компоненты ярлык можно удалить.
Карась
01.08.12 — 10:27
Добрый день! Я пытаюсь использовать компоненту NameDecl.dll для склонения имен, узнала, что в ЗУПе есть такая компонента, нашла код ее обработки
ЗагрузитьВнешнююКомпоненту(«NameDecl.dll»);
НайденноеЗначение = Новый(«AddIn.NameDeclension»);
Исключение
Сообщить(«Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!»);
КонецПопытки;
а он ее не находит, выдает сообщение об ошибке, подскажите пожалуйста в чем может быть проблема
eromanov
1 — 01.08.12 — 10:28
библиотеку не плохо было бы зарегистрировать в винде…
БледноЗолотистый
2 — 01.08.12 — 10:32
УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной(«глКомпонентаСклоненияФИО»), ФИО, 2, , ФИО);
Fish
3 — 01.08.12 — 10:34
Карась
4 — 01.08.12 — 10:35
там уже ход мысли потерялся
Карась
5 — 01.08.12 — 10:37
я ее уже зарегистрировала
eromanov
6 — 01.08.12 — 10:37
ну что не помогает?)
БледноЗолотистый
7 — 01.08.12 — 10:37
Вот это что возвращает — глЗначениеПеременной(«глКомпонентаСклоненияФИО»)?
zak555
8 — 01.08.12 — 10:38
(0) зачем тебе эта компонента ?
Карась
9 — 01.08.12 — 10:38
в смысле что?
Карась
10 — 01.08.12 — 10:39
(9)а как я имена склонять буду?Если есть другой способ, подскажите, я только рада буду
Карась
11 — 01.08.12 — 10:39
Ой(8)
БледноЗолотистый
12 — 01.08.12 — 10:43
(10) На (7) отвечать собираемся?
Карась
13 — 01.08.12 — 10:44
Честно признаюсь не знаю, рискну предположить что возвращает компоненту
SeraFim
14 — 01.08.12 — 10:46
в чем проблемаа? Если загрузила, то используй
РезультатСклонения = «»;
Если УниверсальныеМеханизмы.Просклонять(глЗначениеПеременной(«глКомпонентаСклоненияФИО»), ФизЛицо.Наименование, 4, ФизЛицо.Пол, РезультатСклонения) Тогда
ТоЧтоВамНадо = РезультатСклонения;
КонецЕсли;
вместо 4 нужно поставить номер того падежа, в который нужно просклонять
Карась
15 — 01.08.12 — 10:47
(14) да в том то и проблема, что я ее не загрузила
Карась
16 — 01.08.12 — 10:47
он ее загрузить не может,хотя она зарегестрирована
zak555
17 — 01.08.12 — 10:48
БледноЗолотистый
18 — 01.08.12 — 10:50
(13)Тогда рискну предположить, что я вам помог. С чистой совестью покидаю тему. Удачи.
Карась
19 — 01.08.12 — 10:50
(17)я ее вчера пыталась вставить,но склонять он не хотел, у меня ФИО вбивается в одну строку
Fish
20 — 01.08.12 — 10:52
(19) Вообще-то эта функция и предназначена для ФИО из одной строки.
zak555
21 — 01.08.12 — 10:52
(19)
1. он это кто ?
2. пример фио
eromanov
22 — 01.08.12 — 10:52
конструктивного диалога тут совсем не получается, бум ждать телепатов…
SeraFim
23 — 01.08.12 — 10:53
в ЗиКБУ:
Попытка
// Загружаем внешнюю компоненту
ПодключитьВнешнююКомпоненту(«ОбщийМакет.КомпонентаСклоненияФИО», «Decl», ТипВнешнейКомпоненты.Native);
НайденноеЗначение = Новый(«AddIn.Decl.CNameDecl»);
Исключение
// Не удалось выполнить операции с внешней компонентой
СообщитьОбОшибке(«Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!»);
КонецПопытки;
то есть сама компонента загружена в общийМакет, как двоичные данные
Карась
24 — 01.08.12 — 10:53
Извиняюсь, сейчас попробую на все ответить
Карась
25 — 01.08.12 — 10:54
(21) 1. тот файл который вы мне кинули
2.Иванов Иван Иванович
Карась
26 — 01.08.12 — 10:55
(22) если последний ваш вопрос, то компоненту я зарегистрировала
zak555
27 — 01.08.12 — 10:56
(25) и как склоняла ?
Карась
28 — 01.08.12 — 10:57
Ничего не меняла
Карась
29 — 01.08.12 — 10:57
(27)Так и оставляла
Fish
30 — 01.08.12 — 10:58
(29) Вот тебе обработка для примера. Смотри, разбирайся. http://zalil.ru/33632890
Карась
31 — 01.08.12 — 11:00
(30) спасибо, буду пробовать
Fish
32 — 01.08.12 — 11:10
(31) Всё описание есть в комментариях, но на всякий случай: Параметр «Пол» — необязательный (задаётся цифрой: 1 — мужской, 2- женский), используется для правильного склонения фамилий, по которым нельзя точно сказать — мужская или женская фамилия. «Z4» — тоже необязательный, задаёт порядок ФИО, т.е., если 123, то получим ФИО, если 321 — то получим ОИФ, если 1, то только фамилия и т.п.
Что будет непонятно, спрашивай.
Карась
33 — 01.08.12 — 11:16
(32)Хорошо, тогда я пока попробую без указания пола
у меня обработка загрузилась странно, если ее запускать он в форме реквизитов не видит, но это я думаю мой косяк уже
Fish
34 — 01.08.12 — 11:20
(33) Что значит «в форме реквизитов не видит»? Не совсем понял. Если что, то обработка не для УФ. Ты в каком режиме предприятие запускаешь?
Карась
35 — 01.08.12 — 11:26
(34)конфигуратора
Карась
36 — 01.08.12 — 11:27
(34)я просто в режиме отладчика хочу ее прошагать
Fish
37 — 01.08.12 — 11:41
(35) Т.е. у тебя в конфигураторе форма чистая что ли? Странно.
Карась
38 — 01.08.12 — 11:43
(37)Он вкладку форма не открывает, чтобы в нее пройти, а открывает ее во вкладке диалог
БледноЗолотистый
39 — 01.08.12 — 11:45
Не надоело изобретать велосапед?
1. У ТС ЗУП, а значит есть такой объект метаданных — ОбщиеМакеты.КомпонентаСклоненияФИО, которых хранит саму dll-ку в двоичных данных.
2. Эта dll написана по технологии Native API, значит регистрировать ее в системе не надо.
3. В глобальном модуле есть функция глЗначениеПеременной(Имя), и если передать ей «глКомпонентаСклоненияФИО», она подключит компоненту из 1. и вернет ее, см (23)
4. Теперь у нас есть компонента, но работать с ней на прямую не удобно, поэтому в ЗУП есть такие методы: УниверсальныеМеханизмы.Просклонять и УниверсальныеМеханизмы.ПросклонятьФамилиюИмяОтчество.
Теперь понятно объяснил? (0)Хоть пробовали что я писал в (2)?
Карась
40 — 01.08.12 — 11:49
(39)признаюсь честно, не пробовала, но теперь понятно, спасибо, что так подробно расписали
Карась
41 — 01.08.12 — 11:51
(39)забыла сказать, я работаю в управление торговлей
Карась
42 — 01.08.12 — 11:55
Соответственно я ее там не нашла
Fish
43 — 01.08.12 — 11:57
(38) Вообще-то, там нет никакой вкладки «Форма». У формы есть вкладка «Модуль», где собственно и находится код.
Карась
44 — 01.08.12 — 12:06
(43)понятное дело, я там посмотрела, но чтобы проработать в режиме отладчика, я ее открываю а у меня формочка пустая
БледноЗолотистый
45 — 01.08.12 — 12:08
(41)Ясно, хотя в первой теме из (3) Serg_1960 давал ссылку, с инструкцией как использовать эту компоненту в своей конф., пробовали?
Карась
46 — 01.08.12 — 12:37
(45)Ой точно, я забыла про нее,я тогда еще к ЗУП доступа не имела, все надо пробовать так, пойду разбираться, спасибо всем огромное за помощь!!!
Карась
47 — 01.08.12 — 16:07
Пока не получилось((
Я не могу достать Компоненту склонения как здесь
http://www.1c-pro.ru/topic41980.html
У меня в ЗУПе я ее не нашла, скорее всего это из-за демо версии, не подскажете, может ее где скачать можно?
Fish
48 — 01.08.12 — 16:17
(47) Похоже, придётся тебе таки вызывать специалиста к себе. Здесь имхо телепаты уже закончились :))
Карась
49 — 01.08.12 — 16:19
Да не выйдет специалиста вызвать я на практике здесь нахожусь, изучаю))
Fish
50 — 01.08.12 — 16:22
(49) Ну тут тебе уже всё, что могли, объяснили и разжевали. Хотя на форуме есть любители клепать наглядные видеопримеры, может, они помогут :))) Главное — не отчаиваться.
Карась
51 — 01.08.12 — 16:24
Не, я не отчаиваюсь, наверное лучше всего еще раз сесть и заново все написать))
БледноЗолотистый
52 — 01.08.12 — 16:30
(51) Напиши свой e-mail, вечером помогу.
Карась
53 — 01.08.12 — 16:52
прошу прощения, я открыла у себя личной информации e-mail
Карась
54 — 01.08.12 — 16:54
(52)большое спасибо,заранее, только извиняюсь сразу за задержки в ответах до утра, несколько дней интернет временно только на работе((
Карась
55 — 02.08.12 — 10:33
Урааааааааааа, компонента подключилась,огромное спасибо(52),теперь склонять пока не хочет))
Карась
56 — 02.08.12 — 10:43
Ааааа, все теперь и склоняет!!!!
Показывать по
10
20
40
сообщений
Новая тема
Ответить
Ёлк@
Дата регистрации: 20.06.2007
Сообщений: 64
Комплексная автоматизация 8.1,ред 1.0.5.1 при открытии программы выскакивает сообщение:Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!Что делать?
Glavbuh45
Дата регистрации: 25.04.2009
Сообщений: 119
AleksSF
Дата регистрации: 13.01.2011
Сообщений: 2
На Висте или В7 запустите конфигурацию один раз от имени Администратора и библиотека зарегистрируется
Показывать по
10
20
40
сообщений
Ошибка загрузки внешней компоненты для склонения ФИО
Опубликовано: 01.09.2011 /
Здравствуйте, уважаемые пользователи программы 1С:Предприятие!
Ошибка «Ошибка загрузки внешней компоненты для склонения ФИО! Функции склонения будут недоступны!» при запуске конфигурации «1С: Предприятие Зарплата и Управление Персоналом 2.5», «Управление производственным предприятием 1.3», «Комплексная автоматизация 1.1» возникает в случае отсутствия компоненты NameDecl.dll (или если данная компонента не зарегистрирована в системе).
Способ устранения ошибки
- Найдите файл NameDecl.dll — скорее всего, он находится в каталоге с программой 1С:Предприятие. Также данный файл можно найти на дисках ИТС (практически за любой месяц). Если найти файл Вам не удается, скачайте его с моего сайта по этой ссылке;
- Скопируйте файл NameDecl.dll на диск С;
- Нажмите кнопку «Пуск» и выберите пункт «Выполнить»;
- В открывшемся окне наберите следующую команду:
- regsvr32.exe С:NameDecl.dll
- и нажмите кнопку ОК.
После этого перезапустите программу 1С:Зарплата и Управление Персоналом и убедитесь в том, что ошибка «Ошибка загрузки внешней компоненты для склонения фио» больше не возникает.
Всего Вам доброго!