Ошибка при вызове метода контекста подключитьвнешнююкомпоненту

&НаСервере

Функция ПолучитьТабДокНаСервере()

…..

КартинкаШтрихкода=ПолучитьКартинкуШтрихкода(ШтрихКод);

Если НЕ КартинкаШтрихкода = Неопределено Тогда

   Область.Рисунки.Картинка.Картинка= КартинкаШтрихкода;

КонецЕсли;

….

КонецФункции

Функция ПолучитьКартинкуШтрихкода(ШтрихКод)

     
   // В зависимости от типа платформы подключим соответствующую внешнюю компоненту

   ИнформацияОСистеме = Новый СистемнаяИнформация;

   Если ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86 Тогда

       ПодключитьВнешнююКомпоненту(«ОбщийМакет.КомпонентаПечатиШтрихкодовWindows32», «КартинкаШтрихкода», ТипВнешнейКомпоненты.Native);

   ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Windows_x86_64 Тогда

       ПодключитьВнешнююКомпоненту(«ОбщийМакет.КомпонентаПечатиШтрихкодовWindows64», «КартинкаШтрихкода», ТипВнешнейКомпоненты.Native);

   ИначеЕсли ИнформацияОСистеме.ТипПлатформы = ТипПлатформы.Linux_x86 Тогда

       ПодключитьВнешнююКомпоненту(«ОбщийМакет.КомпонентаПечатиШтрихкодовLinux32», «КартинкаШтрихкода», ТипВнешнейКомпоненты.Native);        

   Иначе

       ПодключитьВнешнююКомпоненту(«ОбщийМакет.КомпонентаПечатиШтрихкодовLinux64», «КартинкаШтрихкода», ТипВнешнейКомпоненты.Native);

   КонецЕсли;

   // Создадим объект внешней компоненты

   Компонент = Новый(«AddIn.КартинкаШтрихкода.Barcode»);

   // Если нет возможности рисовать

   Если НЕ Компонент.ГрафикаУстановлена Тогда

       // То картинку сформировать не сможем

       Возврат Неопределено;

   КонецЕсли;

   // Если в системе установлен шрифт Tahoma

   Если Компонент.НайтиШрифт(«Tahoma») = Истина Тогда

       // Выбираем его как шрифт для формирования картинки

       Компонент.Шрифт = «Tahoma»;

   Иначе

       // Шрифт Tahoma в системе отсутствует

       // Обойдем все доступные компоненте шрифты

       Для Сч = 0 По Компонент.КоличествоШрифтов -1 Цикл

           // Получим очередной шрифт, доступный компоненте

           ТекущийШрифт = Компонент.ШрифтПоИндексу(Сч);

           // Если шрифт доступен

           Если ТекущийШрифт <> Неопределено Тогда

               // Они и будет шрифтом для формирования штрихкода

               Компонент.Шрифт = ТекущийШрифт;

               Прервать;

           КонецЕсли;

       КонецЦикла;

   КонецЕсли;

   
   

   
   // Установим размер шрифта

   Компонент.РазмерШрифта = 8;

   // Зададим размер картинки

   Компонент.Ширина = 100;

   Компонент.Высота = 90;

   // Разрешим компоненте самой определять тип кода

   Компонент.АвтоТип = Истина;

   // ИЛИ установим код EAN-13

   // Компонент.ТипКода = 1;

   Компонент.ТипКода = 2;

   
   //

   // Тип смотрим в документации на внешнюю компоненту

   Компонент.ОтображатьТекст=Ложь;

   // Если код содержит контрольный символ, обязательно указываем

   Компонент.СодержитКС = СтрДлина(Штрихкод) = 13;

   // Если отображать контрольный символ не нужно

   // Компонент.ВидимостьКС = Ложь;

   // Формируем картинку штрихкода

   Компонент.ЗначениеКода = Штрихкод;

   // Если установленная нами ширина меньше минимально допустимой для этого штрихкода

   Если Компонент.Ширина < Компонент.МинимальнаяШиринаКода Тогда

       // Скорректируем ширину

       Компонент.Ширина = Компонент.МинимальнаяШиринаКода + 10;

   КонецЕсли;

   // Сформируем картинку

   ДвоичныеДанныеКартинки = Компонент.ПолучитьШтрихкод();

   // Если картинка сформировалась

   Если НЕ ДвоичныеДанныеКартинки = Неопределено Тогда

       // Формируем из двоичных данных

       Возврат Новый Картинка(ДвоичныеДанныеКартинки);

   КонецЕсли;

   Возврат Неопределено;

КонецФункции

выдет ошибку

{Форма.Форма.Форма(263)}: Ошибка при вызове метода контекста (ПодключитьВнешнююКомпоненту)

       ПодключитьВнешнююКомпоненту(«ОбщийМакет.КомпонентаПечатиШтрихкодовWindows32», «КартинкаШтрихкода», ТипВнешнейКомпоненты.Native);

по причине:

Установлен безопасный режим. Выполнение операции запрещено

на версии 8.2.13.199 работало нормально, после обновления на 8.2.14.540 появилась такая ошибка…

 

Добрый день.
Вчера (06/08/2012) началась промышленную эксплуатацию Альфа-Авто: 5 (5.0.01.02).
Неожиданно на сегодня с середины дня при создании заказ-нарядов у пользователей стала хаотично возникать ошибка:
{ОбщийМодуль.ЛицензированиеСервер.Модуль(260)}: Ошибка при вызове метода контекста (ПодключитьВнешнююКомпоненту)

Ошибка воспроизводится например: 5 раз нажимаем на создать Заказ-наряд, 1 раз точно выдастся сообщение ошибке.

Конфигурация изменена. Но ранее на разработки уже столкнулись аналогичной проблемой (в справочнике автомобили-было сообщение на форуме) и обновили части по лицензированию из последнего релиза, ошибка больше не возникала. Сервер лицензирования последний (2.0.0.73).

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

 

Добрый день.
Ошибка локализована и исправлена.
Сейчас идет сборка релиза. Только обновление возможно.

 

Подскажите. Кода будет релиз? (доставляет очень большое неудобство в работе) Не удасться провести частичное обновление модулей? (внесены достаточно большие изменения в конфигурацию и полное обновление не планировалось)
Как можно снизить риск возникновения ошибки? (ведь в течении 1, 5 суток она не проявлялась)

 

Обновиться можно будет частично.
Релиз в конце этой или начале следующей недели.

 

Так все таки, сейчас ни чего нельзя предпринятьчтобы снизить вероятность ошибки? (что является ключем к ее возникновению) Может быть можно исключить какие-нибудь действия

 

Без обновления увы никак.

 

Я видел, что в разделе загрузок присутствует сервер лицензирования 2.0.0.90, можно ли его устанавливать вместе с версией АА 5.0.01.02?
Подскажите пожалуйста когда точно планируется выпуск исправления по описанной ошибке (достаточно сильно мешает работе).

 

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

 
 

#10



0


23.08.2012 13:11:00

Вы можете скачать с

http://rarus.ru/downloads/2553/

и установить последнюю версию сервера лицензирования, на данный момент 2.0.0.94.  
Вместе с версией АА 5.0.01.02 можно устанавливать, проблем быть не должно.

 

#11



0


23.08.2012 13:25:58

Поможет ли это решить вышеупомянутую проблему или нужно ждать обновления релиза?
Если да то когда точно планируется выпуск релиза? В сообщении от 07.08.2012 18:56:54 было сказано : «Релиз в конце этой или начале следующей недели.», а сейчас 23/08/2012.

 

#12



0


24.08.2012 11:08:21

Релиз 5.0.03.02 опубликован. Доступен для скачивания на

http://update.rarus.ru

 

#13



0


24.08.2012 11:13:15

Отлично, а что со следующим релизом под 4 ку? :idea:

И обновите на демо-компьютере.  :D

Понравилось решение с AudaPad будет ли для 4й версии???

Изменено: Максим Максимович24.08.2012 22:15:11

 

#14



0


27.08.2012 11:09:13

1. Релиз А4 будет в сентябре. Точной даты пока нет.
2. На демосервере обновим релиз.
3. Под А4 интеграция с AudaPad не планируется.

 

#15



0


28.08.2012 01:16:32

Подскажите пожалуйста с чем может быть связана следующая ситуация:
Сервер лицензирования 2.0.0.94
Использовалась для теста пустая база релиза 5.0.03.02.
При аварийном завершении файловой базы лицензия на сервере лицензирования живет 10 минут (согласно настройке «Время резервирования подключения»), а вот при использовании той же базы через сервер 1С предприятия лицензия живет 3ч (обратный отсчет идет от 3-х часов). В чем может быть прочна?

 

#16



0


28.08.2012 09:41:58

После частичного обновления 5.0.03.02 (в части лицензирования) на  первое время все работало хорошо, но потом у пользователей стала возникать ошибка лицензирования и при повторном входе в систему выдается ошибка:
{ОбщийМодуль.сплмкЛицензированиеСервер.Модуль(106)}: Ошибка при инициализации компоненты лицензирования! {ОбщийМодуль.сплмкЛицензированиеПовтИсп.Модуль(23)}: Ошибка при вызове метода контекста (Создать): Ошибка подключения внешних метаданных: Файл не обнаружен ‘2C19A18F-0727-4032-9D90-821CC69E2976’

Похоже проблема связана с кэшем методаных. После его очистки у всех пользователей, вроде бы ошибка ушла. Может ли она повториться? Очень беспокоит данные вопрос. Пришлось прервать работу пользователей на продолжительное время.
Проблема опять появилась …

Изменено: Николай Семенов28.08.2012 10:23:13

 

#17



0


28.08.2012 11:33:19

Добрый день. Выложите, пожалуйста, скриншот формы параметров лицензирования (Сервис-Настройка параметров-Информация о параметрах лицензирования)
Или пришлите на почтовый адрес ahan@rarus.ru

 

#18



0


28.08.2012 11:44:49

Мне пришлось откатить все изменения назад и перезапустить сервер 1С предприятия.
Текущие настройки лицензирования в прикрепленном файле (но это без учета измененйи от  5.0.03.02).

Прикрепленные файлы

 

#19



0


28.08.2012 12:00:54

у меня ещё интереснее при открытии обмена с AudaPad Online выдает ошибку,что нет лицензии Автосалона релиз на от 5.0.03.02, на демо базе ошибка воспроизводиться ))

 

#20



0


28.08.2012 12:23:26

Обмен с AudaPad Online будет лицензироваться отдельно, аналогично «Учету рабочего времени». Т.е. будет отдельное дополнение для Альфа-Авто 5.

Сейчас в обмене есть несколько проблем, решить которые планируем в течение месяца. Сообщение об отсутствии лицензии — так же содержит ошибочный текст, правильным должно быть сообщение об отсутствии лицензии на интерфейс  обмена с AudaPad Online.

 

#21



0


28.08.2012 12:44:40

Пишет вот такую ошибку
«Для работы с данным объектом необходим ключ защиты с поддержкой модуля «Автосалон».»

А будет ли версия под редакцию 4 ???

 

#22



0


28.08.2012 12:46:03

Подскажите, пожалуйста когда можно будет ждать ответы на воппросы в сообщениях #15 и #16

 

#23



0


28.08.2012 12:53:30

Также при формирование «Монитора » с любыми фильтрами вываливается в ошибку и закрывается 1С.

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

Возможно более логичным будет выгрузка в html файл, через регламентное задание или ВебСервис и открытие браузера. Многие телевизоры идут со встроеными браузерами, а вот с ОС Windows и 1С пока не встречал.

 

Надежда Бушева

Посетитель

Сообщений: 477
Авторитет:

120

Регистрация: 27.04.2012

#24



0


28.08.2012 13:03:30

Поясните пожалуйста, что значит?:

Цитата
Николай Семенов пишет:
После частичного обновления 5.0.03.02 (в части лицензирования)
 

Михаил Шкурла

Заглянувший

Сообщений: 28
Авторитет:

20

Регистрация: 12.10.2011

#25



0


28.08.2012 13:05:42

Добрый день!

В обработке была ошибка для случая, когда никаких данных для вывода не было.
В приложении исправленная версия обработки.

Обратите внимание, что обработка всегда строится на текущую дату. Соответственно должны быть какие-то данные в базе на текущую дату для отображения. Подробное описание имеется в справочной информации к обработке.

Прикрепленные файлы

  • МониторАвтосервиса.epf (30.85 КБ)

Добрый день!
Проверьте в реестре, что никакие компоненты больше не зарегистрированы, при необходимости, разрегистрируйте их.

  1. Зайти в реестр (<Win+R> — «regedit»).
  2. Запустить поиск (Ctrl+F) по строке «AddIn.DiadocInvoiceApi» (Поиск пойдет от выделенной ветки. Таким образом Вы можете, например, пропустить поиск по ветке HKEY_CLASSES_ROOT).
  3. Ищете записи о компоненте в ветках реестра:
    HKEY_CLASSES_ROOT — повторите поиск, нажав F3.
    HKEY_LOCAL_MACHINE — это значит, что компонента была зарегистрирована под всех пользователей и скорее всего для регистрации потребуется запуск консоли от имени администратора.
    HKEY_CURRENT_USER — это значит, что компонента зарегистрирована под текущего пользователя.
    HKEY_USERS<SID> — это значит, что компонента зарегистрирована под пользователя с указанным SID. SID-ы других пользователей может смотреть только администратор. При работе от пользователя  увидите только ветку с SID текущего пользователя.
  4. Рядом с найденной веткой найдите ветку «AddIn.DiadocInvoiceApi.1CLSID». Зайдите в неё и скопируйте значение из параметра по умолчанию.
  5. Запустите поиск по этому значению.
  6.  В найденной ветке будет подветка «InprocServer32». В параметре «InprocServer32» по умолчанию будет указан путь до компоненты (именно по этому пути Windows ищет компоненту).
  7. Если автоматическая регистрация компоненты не срабатывает, тогда:
    Если в реестре вы нашли другие зарегистрированные компоненты Диадок, то их необходимо разрегистрировать. В случаях, когда указанного в реестре каталога или файла не существует, их необходимо создать.
    После того, как все компоненты будут разрегистрированы, удалите компоненты с диска ( Shift + Del ). После успешной разрегистрации компоненты веток с именем «AddIn.DiadocInvoiceApi» оставаться не должно.

После этого:
1 Закройте 1С
2. Запустите консоль от имени администратора и введите следующие команды:
2.1 C:WindowsSystem32regsvr32.exe /u «полный путь до компоненты»
2.2 C:WindowsSystem32regsvr32.exe /i «полный путь до компоненты»
2.3 C:WindowsSystem32regsvr32.exe /i:user «полный путь до компоненты»
2.4 C:WindowsSystem32regsvr32.exe /u «полный путь до компоненты»
2.5 C:WindowsSystem32regsvr32.exe /i:user «полный путь до компоненты»
3. Все действия в консоли обязательно проделать до конца.
4. После выполнения действий проверьте работу модуля.

Определения:
«полный путь до компоненты» — пример «C:UserspermikinAppDataLocalTempAddInDiadocAPI_5_28_6_502_x86_64.dll»

При разрегистрации может возникнуть ошибка с кодом «0x80070005» или «0х80004005» это значит, что консоль запущена без прав администратора, либо что по указанному пути нет компоненты.

Если возникнут трудности при проверке или регистрации компоненты, напишите об этом.

….. КартинкаШтрихкода=ПолучитьКартинкуШтрихкода(ШтрихКод); …. КонецФункции выдет ошибку {Форма.Форма.Форма}: Ошибка при вызове метода контекста (ПодключитьВнешнююКомпоненту)        ПодключитьВнешнююКомпоненту(«ОбщийМакет.КомпонентаПечатиШтрихкодовWindows32», «КартинкаШтрихкода», ТипВнешнейКомпоненты.Native); по причине: Установлен безопасный режим. Выполнение операции запрещено на версии 8.2.13.199 работало нормально, после обновления на 8.2.14.540 появилась такая ошибка…

Ребят, может есть какие мысли.. читал можно УстановитьБезопасныйРежим(Ложь); если так, куда его поставить?

Описание: При выполнении на сервере или в файловом варианте информационной базы устанавливает или отменяет безопасный режим. В других случаях не вызывает никаких действий. В безопасном режиме: — игнорируется привилегированный режим; — запрещены внешние по отношению к платформе 1С:Предприятия действия: COM; загрузка внешних компонент; запуск внешних приложений и команд операционной системы; доступ к файловой системе, кроме временных файлов; доступ к интернет. Платформа обеспечивает равенство значений счетчика безопасного режима при вызове произвольного метода встроенного языка и после возврата из него.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

УФ не загружается внешняя компонента

Я
   askharlov

29.07.14 — 00:56

Доброго времени суток всем!

Проблемка: не загружается внешняя компонента в УФ.

В обычных формах отрабатывает, в УФ не работает ни &НаКлиенте, ни &НаСервере. Вот код:

Попытка

    ЗагрузитьВнешнююКомпоненту(«C:Program Files (x86)1cv828.2.18.61binrs232.dll»);

Исключение

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

    Возврат Ложь;

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

На УФ выдает ошибку «{Форма.Форма.Форма(22)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты»

Книгу знаний http://kb.mista.ru/article.php?id=419 прочитал. Не помогло.

Компоненту успешно зарегистрировал (хоть на обычных формах это не требовалось), наличие веток в реестре проверил.

В чем еще может быть проблема?

Пока писал возникла мысль: а может сама компонента работать только с обычными формами и не работать с управляемыми? Эта компонента работает с COM-портом.

   askharlov

1 — 29.07.14 — 00:56

+(1) Загружал 1С под админом

   jsmith

2 — 29.07.14 — 01:18

я делаю так

    Макет=ОбщийМодульМакет.ЗаписатьМакетНаДиск();

    ИмяФайла=КаталогВременныхФайлов()+»Hook1c.dll»;

    Макет.Записать(ИмяФайла);

    Результат = ПодключитьВнешнююКомпоненту(ИмяФайла, «Hook», ТипВнешнейКомпоненты.Native);

   jsmith

3 — 29.07.14 — 01:21

ну и далее

&НаКлиенте

Процедура ПриОткрытии(Отказ)    

    КомпонентаKeyBoardHook = Новый(«AddIn.Hook.KeyboardHook»);    

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

&НаКлиенте

Процедура ПриЗакрытии()

    
    КомпонентаKeyBoardHook    = Неопределено;

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

   jsmith

4 — 29.07.14 — 01:23

и это ещё

&НаСервере

Функция ЗаписатьМакетНаДиск() Экспорт

    Макет    = ПолучитьОбщийМакет(«Hook1c»);

    Возврат Макет;

КонецФункции

   jsmith

5 — 29.07.14 — 01:24

мда, явно требуется рефакторинг

хорошо, что напомнили

   askharlov

6 — 29.07.14 — 15:00

(2) Спасибо. А какой код в процедуре  Макет=ОбщийМодульМакет.ЗаписатьМакетНаДиск() ?

У меня самописка и этого модуля нет, в тех парочке конфигураций на УФ, которые мне доступны этого модуля тоже нет.

Скинь мне, пож-та, листинг кода.

   askharlov

7 — 29.07.14 — 15:08

+ (0) В продолжении темы:

Нашел в Интернете код:

Попытка

    УстановитьВнешнююКомпоненту(«C:Program Files (x86)1cv828.2.18.61binrs232.zip»);

    //ПодключитьВнешнююКомпоненту(КаталогПрограммы() + «rs232.zip», «rs232», ТипВнешнейКомпоненты.Native);

Исключение

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

    Возврат Ложь;

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

Исключения не возникает, но УстановитьВнешнююКомпоненту выдает ошибку: «Установка внешней компоненты не выполнена! В процессе установки произошла ошибка!»

Строку ПодключитьВнешнююКомпоненту пока закомментировал, так как ошибка возникает на предыдущей строчке.

  

askharlov

8 — 29.07.14 — 15:23

+(0) Пробую подключить внешнюю компоненту на сервере без установки:

&НаСервере

Функция ОткрытьПорт()

    Попытка

        ПодключитьВнешнююКомпоненту(КаталогПрограммы() + «rs232.dll», «rs232», ТипВнешнейКомпоненты.Native);

    Исключение

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

        Возврат Ложь;

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

    Попытка

        КОМПорт = Новый(«Addin.rs232»);

        КОМПорт.ОткрытьПорт(Порт.Наименование);

        Возврат Истина;

    Исключение

        Сообщить(«Не удалось открыть порт » + Порт);

        Возврат Ложь;

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

КонецФункции

Получаю ошибку уже на строку Новый(«Addin.rs232»):

«Тип не определен (Addin.rs232)»

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Добрый день.
Используется:
Windows8.1 x64, 1С:Предприятие 8.3 (8.3.13.1644), ARM_ORION_PRO1_20_2
Orion1C.dll ,брал из каталога 1C_WorkTime, в каталоге находятся Orion1C.sil и Orion1C.dll
при использовании Example1.exe и Example2.exe все происходит корректно

На текущий момент такая ошибка при использовании метода в 1с 
ЗагрузитьВнешнююКомпоненту(«Orion1C.dll»); выдает ошибку
«Не смогли загрузить внешнюю компоненту.» 
ОписаниеОшибки() = «Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту): Ошибка при загрузке внешней компоненты»
Пробовал указать полный путь к местонахождению dll, ошибка та же.

При попытке зарегистрировать компоненту с помощь. regsvr32 выходит ошибка,
«модуль  … Orion1C.dll загружен, но не удалось выполнить вызов DLLRegisterServer, код ошибки: 0х80004005»
Подскажите что можно сделать.

2 года 8 месяцев назад

avatar

#ссылка

0 ответов

Добавить ответ

Для добавления сообщений на форуме вам необходимо зарегистрироваться и указать мобильный телефон в своем профиле (зачем?)

ЗАДАН

2 года 8 месяцев назад

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

Ошибка при работе с ЗагрузитьВнешнююКомпоненту

Автор BonAqua, 03 апр 2014, 12:42

0 Пользователей и 1 гость просматривают эту тему.

При попытки загрузить внешнюю длл выдает сообщение:
{Форма.Форма.Форма(9)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту)
   ЗагрузитьВнешнююКомпоненту(«D:****j.dll»);
по причине:
Ошибка при загрузке внешней компоненты

длл зарегистрирована в системе. кто-нить сталкивался с этим

P.S. 1С 8.3.4.408 Розница 2.1.2.8


А эта дллка точно подходит для 1С?


Да. ДЛЛ рабочаю. Создавали специально для 1С


Ну если не работает так, то можно попробовать метод ПодключитьВнешнююКомпоненту



Может она как-то криво зарегистрировалась?


Цитата: MuI_I_Ika от 07 апр 2014, 10:06
Может она как-то криво зарегистрировалась?

ОС Win7 x64.
1С запускаю с правами администратора.
DLL- регистрируется в ОС без проблем. (сейчас только вычистил в реестре и зарегистрировал снова).


Все. Разобрался. Надо было прочитать мануал по данному драйверу. :)


Теги:

  • Форум 1С

  • Форум 1С — ПРЕДПРИЯТИЕ 8.0 8.1 8.2 8.3 8.4

  • Конфигурирование, программирование в 1С Предприятие 8

  • Ошибка при работе с ЗагрузитьВнешнююКомпоненту

Похожие темы (5)

Рейтинг@Mail.ru

Rambler's Top100

Поиск

 0 

Распечатать

1С 8.x : Как загрузить внешнюю компоненту?

Код 1C v 8.х

 Попытка 
ЗагрузитьВнешнююКомпоненту("scanopos.dll")
Исключение
Сообщить("Ошибка загрузки внешней компоненты!");
КонецПопытки;

Попытка
// Получить объект компоненты.
Объект = Новый("AddIn.Scanner");

Исключение
Сообщить("Не удалось создать объект внешней компоненты");
КонецПопытки;

Код 1C v 7.x

 //в качестве аргумента "Значение" в функцию передаётся имя файла внешней компоненты
//функция возвращает "1", если загрузка выполнена успешно, или "0", если внешнюю компоненту загрузить не получилось
Функция гВнешняяКомпонента_Загрузить(Значение) Экспорт
Состояние("Загрузка компоненты: "+Значение);
Если ЗагрузитьВнешнююКомпоненту(Значение)=1 Тогда
Возврат(1);
Иначе
Сообщить("Ошибка при загрузке компоненты: "+Значение,"!");
Возврат(0);
КонецЕсли;
КонецФункции

//этот код можно разместить в локальном модуле, в котором требуется использовать внешнюю компоненту
Если гВнешняяКомпонента_Загрузить("v7plus.dll")=0 Тогда
Возврат;
КонецЕсли;

При загрузке полезно проверять, а есть ли в наличии указанный файл DLL (к сожалению, этого не делает сам движок 1С:Предприятие 7.7).

Код 1C v 7.x

 имяф="e:EventsEvents.dll";
Если фс.СуществуетФайл(имяф)=0 Тогда
Сообщить("Файл не найден: "+имяф,"!");
КонецЕсли;
Если ЗагрузитьВнешнююКомпоненту(имяф)=0 Тогда
Сообщить("Ошибка загрузки внешней компоненты: "+имяф);
КонецЕсли;
vk=СоздатьОбъект("Addin.Events");

Подскажите в чем косяк 1С 8.3.10.2561 Код — Попытка При исполении ЗагрузитьВнешнююКомпоненту(Файл.ПолноеИмя); выпадает в исключение. Ошибка —  Обращение к процедуре как к функции (ЗагрузитьВнешнююКомпоненту)

на сервере тыкаешь локальный путь

Да. Что его смущает? На 1с 8.2.19.130 работает

а ты попробуй ручками ввести путь на сервере,что получишь

в отладчике что ли смотришь?

Путь рабочий , переделал на шару — результат тот же. Да.

В отладчике внес путь вручную — результат тот же. Присутствие файла проверяется в коде — результат тру.

а что не понятно во фразе «Обращение к процедуре как к функции»?

в коде нету х = функция(…)

ошибка при использовании отладчика или нет?

ЗагрузитьВнешнююКомпоненту(Файл.ПолноеИмя); Я обращаюсь как к процедуре.

Ошибку я  вижу в табло и в Выражение. ОписаниеОшибки пустое.

Да ошибку вижу при использовании отладчика.

а что ты хочешь, чтобы он тебе в отладчике показал, если это процедура, а не функция?

Логично =) В исключение он все равно выпадает, т.е. есть какая-то ошибка, корректность пути проверена. Загружаю v8add. Куда еще посмотреть?

{МодульОбычногоПриложения(1192)}: Ошибка при вызове метода контекста (ЗагрузитьВнешнююКомпоненту)                 ЗагрузитьВнешнююКомпоненту(Файл.ПолноеИмя); по причине: Ошибка при загрузке внешней компоненты

Пробовал — проблема осталась.

перезапуск сервера помогает?

А все так, что в полном имени?

нет. v8add  версия 2.2.1 СЕ

C:Program Files1cv82v8add.dll

UAC выключен. Windows 2008 Serv.

А запусти 1с так: «Запустить от имени администратора»,

А что показывает ОписаниеОшибки?

Нетленка не работает с 1С старше 8.3.5

Да. Пустой. Есть что юзать для старше 8.3.5?

Пишется 3 -ая версия, но медленно.

Тэги: 1С 8

Комментарии доступны только авторизированным пользователям

Добрый день!
Проверьте в реестре, что никакие компоненты больше не зарегистрированы, при необходимости, разрегистрируйте их.

  1. Зайти в реестр (<Win+R> — «regedit»).
  2. Запустить поиск (Ctrl+F) по строке «AddIn.DiadocInvoiceApi» (Поиск пойдет от выделенной ветки. Таким образом Вы можете, например, пропустить поиск по ветке HKEY_CLASSES_ROOT).
  3. Ищете записи о компоненте в ветках реестра:
    HKEY_CLASSES_ROOT — повторите поиск, нажав F3.
    HKEY_LOCAL_MACHINE — это значит, что компонента была зарегистрирована под всех пользователей и скорее всего для регистрации потребуется запуск консоли от имени администратора.
    HKEY_CURRENT_USER — это значит, что компонента зарегистрирована под текущего пользователя.
    HKEY_USERS<SID> — это значит, что компонента зарегистрирована под пользователя с указанным SID. SID-ы других пользователей может смотреть только администратор. При работе от пользователя  увидите только ветку с SID текущего пользователя.
  4. Рядом с найденной веткой найдите ветку «AddIn.DiadocInvoiceApi.1CLSID». Зайдите в неё и скопируйте значение из параметра по умолчанию.
  5. Запустите поиск по этому значению.
  6.  В найденной ветке будет подветка «InprocServer32». В параметре «InprocServer32» по умолчанию будет указан путь до компоненты (именно по этому пути Windows ищет компоненту).
  7. Если автоматическая регистрация компоненты не срабатывает, тогда:
    Если в реестре вы нашли другие зарегистрированные компоненты Диадок, то их необходимо разрегистрировать. В случаях, когда указанного в реестре каталога или файла не существует, их необходимо создать.
    После того, как все компоненты будут разрегистрированы, удалите компоненты с диска ( Shift + Del ). После успешной разрегистрации компоненты веток с именем «AddIn.DiadocInvoiceApi» оставаться не должно.

После этого:
1 Закройте 1С
2. Запустите консоль от имени администратора и введите следующие команды:
2.1 C:WindowsSystem32regsvr32.exe /u «полный путь до компоненты»
2.2 C:WindowsSystem32regsvr32.exe /i «полный путь до компоненты»
2.3 C:WindowsSystem32regsvr32.exe /i:user «полный путь до компоненты»
2.4 C:WindowsSystem32regsvr32.exe /u «полный путь до компоненты»
2.5 C:WindowsSystem32regsvr32.exe /i:user «полный путь до компоненты»
3. Все действия в консоли обязательно проделать до конца.
4. После выполнения действий проверьте работу модуля.

Определения:
«полный путь до компоненты» — пример «C:UserspermikinAppDataLocalTempAddInDiadocAPI_5_28_6_502_x86_64.dll»

При разрегистрации может возникнуть ошибка с кодом «0x80070005» или «0х80004005» это значит, что консоль запущена без прав администратора, либо что по указанному пути нет компоненты.

Если возникнут трудности при проверке или регистрации компоненты, напишите об этом.

Содержание

  • Способ 1: Использование учетной записи администратора
  • Способ 2: Ручное изменение доступа к файлам
  • Способ 3: Обновление компонентов 1С
  • Способ 4: Повторная регистрация extintgr.dll
  • Способ 5: Обновление драйверов
  • Способ 6: Ручная инсталляция extintgr.dll
  • Вопросы и ответы

Не удалось загрузить внешнюю компоненту extintgr dll

Сейчас многие пользователи по работе или в личных целях используют системы управления базами данных и другие программы, которые предназначены для выполнения определенных финансовых действий и расчетов, например, 1С: Предприятие. В большинстве случаев на компьютере установлен именно софт от компании 1С, поскольку они являются лидерами на рынке и подходят по ГОСТ, из-за чего многие работодатели и требуют наличия компонентов именно этой фирмы. При взаимодействии с ними может наблюдаться ошибка «Не удалось загрузить внешнюю компоненту extintgr.dll», поэтому мы бы хотели посвятить данный материал ее разбору, наглядно продемонстрировав все доступные варианты исправления.

Способ 1: Использование учетной записи администратора

Если у активного пользователя отсутствуют соответствующие права на доступ к файлам, то вполне возможно появление подобной ошибки при работе с компонентами 1С на любой стадии. Важно работать именно под учетной записью администратора, если это реально осуществить. Запросите доступ у системного администратора или используйте конфигурацию Windows, изучив представленный далее материал.

Изменение учетной записи для устранения неполадки с файлом extintgr.dll в Windows

Подробнее: Используем учетную запись администратора в Windows

Способ 2: Ручное изменение доступа к файлам

Иногда по каким-то причинам у конкретного юзера вовсе отсутствуют права на папку с программой 1С или же эта конфигурация сбилась, что даже может коснуться профиля администратора. Если первый вариант не принес никакого результата, следует проверить настройки безопасности самостоятельно и исправить их в случае необходимости. Внимательно изучите следующую инструкцию, чтобы понять, в какие меню следует переходить для открытия требуемых параметров.

  1. Отыщите папку с той программой от 1С, с которой возникают проблемы. Щелкните по ней правой кнопкой мыши и в появившемся контекстном меню выберите пункт «Свойства».
  2. Открытие свойств программы 1С для исправления неполадки с файлом extintgr.dll в Windows

  3. Переместитесь на вкладку «Безопасность».
  4. Переход в раздел безопасности для настройки доступа при исправлении неполадки с extintgr.dll в Windows

  5. Здесь вас интересуют особые разрешения и параметры, переход к настройке которых осуществляется путем клика по кнопке «Дополнительно».
  6. Переход к дополнительным параметрам безопасности для исправления неполадки с файлом extintgr.dll в Windows

  7. Если вы увидели, что в списке «Элементы разрешений» отсутствует нужный пользователь или у него нет соответствующего уровня доступа, кликните по «Добавить».
  8. Переход к добавлению юзера для исправления неполадки с файлом extintgr.dll в Windows

  9. Для начала потребуется выбрать субъект, с которым будет осуществляться взаимодействие.
  10. Кнопка для добавления нового субъекта при исправлении неполадки extintgr.dll в Windows

  11. Вручную вводить название профиля не всегда удобно, поэтому в окне «Выбор: «Пользователь» или «Группа»» откройте дополнительные параметры.
  12. Переход к поиску пользователя для добавления при исправлении неполадки extintgr.dll в Windows

  13. Запустите процедуру поиска по запросам.
  14. Запуск процедуры поиска пользователя для добавления при исправлении extintgr.dll в Windows

  15. В появившемся перечне дважды кликните ЛКМ по строке с необходимым пользователем.
  16. Выбор пользователя для добавления при исправлении неполадки с файлом extintgr.dll в Windows

  17. После этого убедитесь, что он был добавлен в список выбираемых объектов, а затем нажмите на «ОК».
  18. Сохранение изменений после добавления пользователя при исправлении extintgr.dll в Windows

    Lumpics.ru

  19. Выберите тип «Разрешить» и задайте полный уровень доступа, отметив галочкой нужный пункт.
  20. Добавление разрешений для пользователя при исправлении extintgr.dll в Windows

  21. Примените внесенные изменения, удостоверившись, что субъект теперь присутствует в списке «Элементы разрешений».
  22. Сохранение изменений настроек безопасности при исправлении extintgr.dll в Windows

Теперь вы можете не перезагружать компьютер, поскольку в этом нет надобности. Сразу же переходите к своей стандартной работе в программном обеспечении и проверьте, возникнет ли ошибка «Не удалось загрузить внешнюю компоненту extintgr.dll» снова.

Способ 3: Обновление компонентов 1С

Как вы знаете, рассматриваемая сегодня ошибка возникает только у пользователей компонентов 1C. Иногда это связано с тем, что приложение просто устарело или вышли критические обновления, мешающие корректному функционированию всем составляющим. Мы же советуем проверить наличие обновлений следующим образом:

Перейти на официальный сайт 1С для загрузки обновлений

  1. Откройте официальный сайт компании, где переместитесь в раздел «Обновить ПО».
  2. Переход к разделу с обновлением ПО 1С для исправления неполадки extintgr.dll в Windows

  3. Здесь выберите подходящую конфигурацию и удобный способ обновления в зависимости от того, каким образом была получена программа ранее.
  4. Выбор варианта обновления программы от 1С для исправления неполадки с файлом extintgr.dll в Windows

  5. Войдите в свою учетную запись, если это требуется, а затем следуйте отобразившимся на экране инструкциям.
  6. Вход в учетную запись 1С для обновления программы при исправлении extintgr.dll в Windows

Если обновление не принесло никаких результатов или вы и так используете последнюю версию софта, переходите к рассмотрению следующих вариантов.

Изначально extintgr.dll не входит в стандартный состав динамически подключаемых библиотек операционной системы, а это значит, что он был зарегистрирован специальным средством во время инсталляции ПО. Успешность этой операции зависит не только от нормального функционирования утилиты Windows, но и от самого установщика. Если что-то пошло не так, вполне вероятна ситуация неправильной регистрации. Исправить ее можно вручную, удалив текущие параметры и задав новые.

  1. Откройте «Пуск» и отыщите там «Командную строку», а затем запустите ее от имени администратора. Вы можете использовать любой удобный для вас метод открытия консоли, но при этом главное — запускать ее с повышенными правами.
  2. Открытие командной строки для повторной регистрации extintgr.dll в Windows

  3. Впишите команду regsvr32 /u extintgr.dll для отмены текущей регистрации. Активируйте ее нажатием на клавишу Enter.
  4. Отмена текущей регистрации файла extintgr.dll в Windows

  5. Игнорируйте полученные обновления и введите похожую команду regsvr32 /i extintgr.dll для повторной регистрации.
  6. Команда для создания новой регистрации для файла extintgr.dll в Windows

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

Способ 5: Обновление драйверов

Некоторые программы от 1С активно взаимодействуют со встроенными и периферийными устройствами, подключенными к компьютеру. Если между этими компонентами возникают конфликты, на экране может появиться уведомление о рассматриваемой сегодня ошибке. При условии, что вы уже выполнили приведенные выше рекомендации и они не принесли никакого эффекта, советуем обновить драйверы всех составляющих любым удобным для вас способом. Детальнее об этом читайте в отдельной статье на нашем сайте далее.

Обновление драйверов для исправления неполадки с файлом extintgr.dll в Windows

Подробнее: Как обновить драйверы на компьютере

Способ 6: Ручная инсталляция extintgr.dll

Завершит данный материал метод, который очень редко оказывается рабочим, поскольку файл extintgr.dll практически всегда корректно функционирует сам по себе и устанавливается вместе с ПО от компании-разработчика. Однако его удаление или ошибку во время инсталляции могли спровоцировать различные факторы, что и привело к ошибкам в дальнейшем. В таких ситуациях нужно самостоятельно отыскать этот файл на других компьютерах локальной сети или в интернете, используя только проверенные источники. Все о дальнейшей инсталляции extintgr.dll вы узнаете в руководстве ниже.

Подробнее: Как установить библиотеку DLL в систему Windows

Если же ничего из вышеперечисленного не принесло никакого результата, обратитесь к системному администратору или на официальный сайт поддержки программ, детально описав свою проблему. Поставщики софта всегда должны отвечать на такие вопросы, предоставляя соответствующие рекомендации по исправлению ситуаций.

Понравилась статья? Поделить с друзьями:

Не пропустите эти материалы по теме:

  • Яндекс еда ошибка привязки карты
  • Ошибка при вызове метода контекста переместитьфайл
  • Ошибка при вызове метода контекста перейтипонавигационнойссылке
  • Ошибка при вызове метода контекста параметрыработыклиентапризапуске
  • Ошибка при вызове метода контекста открыть форму

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии