Ошибка загрузки внешней компоненты для

 +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С:Зарплата и Управление Персоналом и убедитесь в том, что ошибка «Ошибка загрузки внешней компоненты для склонения фио» больше не возникает.

Всего Вам доброго!

Понравилась статья? Поделить с друзьями:
  • Ошибка загрузки внешней компоненты terminals dll
  • Ошибка загрузки внешней компоненты namedecl dll
  • Ошибка загрузки внешней компоненты fprnm1c dll
  • Ошибка загрузки внешней компоненты extintgr dll 1с
  • Ошибка загрузки внешнего жесткого диска