Не удалось загрузить внешнюю компоненту extintgr dll 1с
В случае отсутствия компоненты, ее можно найти на диске ИТС и переписать в каталог /bin/ установленной платформы «1С:Предприятие 8.
Если после этого ошибка все равно остается (такое возможно, например, при работе под управлением ОС «Windows Vista» или «Windows 7) – необходимо зарегистрировать компоненту «вручную».
Для этого в командной строке ОС можно набрать команду regsvr32 «[Путь к DLL]\NameDecl.dll» и выполнить ее под правами администратора.
Здесь [Путь к DLL], скорее всего, для платформы 1cv81 – «С:\Program Files\1Cv81\bin\», а для платформы 1cv82 – «С:\Program Files\1cv82\8.2.9.356\bin\». При наборе пути к файлу необходимо заключить его в двойные кавычки.
Если при регистрации таким способом возникла ошибка – «Модуль «[Путь к DLL]\NameDecl.dll» загружен, но не удалось выполнить вызов DllRegisterServer, код ошибки 0х80070005, то можно попробовать выйти из положения следующим образом:
1. На компьютере находим файл NameDecl.dll (скорее всего, для платформы 1cv81 он находится в «С:\Program Files\1Cv81\bin\», а для платформы 1cv82 в «С:\Program Files\1cv82\8.2.9.356\bin\»). Для найденного файла создаем ярлык и выносим его на рабочий стол.
2. На рабочем столе правой кнопкой мыши вызываем свойства этого ярлыка.
3. В свойствах на закладке «Ярлык» в окне «Объект» перед путем к файлу вставляем команду regsvr32 (помним, что путь должен быть в двойных кавычках).
4. На этой же закладке свойств ярлыка жмем на кнопку «Дополнительно». В открывшемся диалоге устанавливаем флажок «Запуск от имени администратора» и сохраняем внесенные изменения.
5. Запускаем ярлык для регистрации компоненты NameDecl.dll (обычно запуск регистрации через ярлык достаточно произвести один раз).
6. После регистрации компоненты ярлык можно удалить.
Похожие FAQ
17 правил для составления оптимального ЗАПРОСа к данным базы 1С 44
Для формирования и выполнения запросов к таблицам базы данных в платформе 1С используется специальный объект языка программирования Запрос . Создается этот объект вызовом конструкции Новый Запрос . Запрос удобно использовать, когда требуется получ 1C: Enterprise Development Tools 50
И вот случилось долгожданное: Вышел 1C: Enterprise Development Tools - это среда для разработки конфигурации в IDE Eclipse. С сайта 1С: « 1C:Enterprise Development Tools » – это инструмент нового поколения для разработчиков бизнес-приложений систем 1С Предприятие что это? 12
Что такое 1С? 1С — это фирма , у которой одно из направлений деятельности — разработка программного обеспечения для автоматизации бизнес-процессов предприятий. « 1С:Предприятие » - конкретный продукт, который выпускает компания 1С . Что такое Cклонения по падежам 6
НаКлиенте Процедура Команда1(Команда) ФИО = " Иванов Иван Иванович" ; Падеж = 2; Пол = 1; Результат = СклонениеФИО(ФИО, Падеж, пол); Сообщить(Результат); КонецПроцедуры НаСервере Функция СклонениеФИО(ФИО, Падеж, пол) Результат = " " ; v7plus.dll - отсутствует CLSID либо отсутствует интерфейс llnitDone 0
При выгрузке отчетности в 1С 7.7 программа ругается на v7plus.dll и указывает, что отсутствует интерфейс llritDone. Что делать? 1) Поудалять нафиг все v7plus.dll из каталогов ИБ и папок пользователей 2) Оставить только в bin каталоге и зарегить чер Посмотреть все результаты поиска похожих
Динамически подключаемая библиотека под названием fprnm1c.dll является частью программного обеспечения от компании Атол и распространяется вместе со многими дистрибутивами. Во время работы с софтом этот файл выполняет определенные опции, а при его отсутствии или появлении конфликтов с другими компонентами на экран выводится ошибка «Не удалось загрузить компоненту». Существует ряд причин, по которым может появиться эта проблема, и сегодня мы хотим рассказать о каждой из них в максимально развернутом виде, чтобы вы могли решить поставленную задачу и перейти к нормальному использованию ПО от Атол.
Способ 1: Самостоятельная установка fprnm1c.dll
Трудности с отсутствием fprnm1c.dll появляются очень редко, поскольку он автоматически добавляется при установке последних драйверов или во время обновления используемого ПО. Однако если так получилось, что данный компонент отсутствует в корневой папке, его потребуется скачать, переместив в соответствующий каталог.
Детальные инструкции по этой теме читайте в отдельном материале на нашем сайте далее.
Способ 2: Переустановка ПО с отключенным антивирусом
В первую очередь внимание следует обратить на действие антивируса, если с ошибкой вы столкнулись сразу же после инсталляции ПО. Дело в том, что fprnm1c.dll не входит в стандартный набор DLL-библиотек операционной системы, а значит, добавляется в соответствующую директорию при инсталляции дополнительного ПО. Если антивирус заподозрит какой-то из файлов в его причастности к вирусам, тот будет автоматически перенаправлен в карантин или удален. Рекомендуем удалить софт, отключить антивирус, а затем заново установить его. После этого уже можно включать защиту и переходить к тестированию эффективности метода.
Способ 3: Обновление версии ПО
Компания Атол все еще активно занимается постоянным обновлением своего программного обеспечения. Соответственно, при использовании уже устаревших сборок могут возникнуть конфликты, связанные с совместимостью и взаимодействием компонентов. Сюда относится и рассматриваемый сегодня элемент. Даже разработчики всегда советуют устанавливать только последние версии и всегда проверять наличие апдейтов. Самостоятельно это можно сделать так:
-
Откройте официальный сайт Атол, кликнув по расположенной выше ссылке. Там перейдите в раздел «О компании».
После выполнения операции можете смело переходить к проверке решения. Если во время использования софта ошибка больше не появляется, следовательно, проблема действительно заключалась в устаревшей версии ПО. Теперь рекомендуется время от времени проверять наличие апдейтов, чтобы подобная ситуация больше не появлялась.
Способ 4: Установка драйверов ККМ
Практически каждая программа от Атол нуждается в установленном драйвере ККМ. Он обеспечивает обмен данными с клиентской и серверной частью кассовых аппаратов и других устройств. Если вы еще не инсталлировали это обеспечение и сталкиваетесь с неполадками, которые связаны с файлом fprnm1c.dll, выполните следующую инструкцию.
-
Воспользуйтесь указанной выше ссылкой. При нажатии на нее произойдет переход на страницу установки драйверов торгового оборудования. Здесь можете ознакомиться с ПО ККМ, а затем переходите в раздел «Файлы».
Способ 5: Настройка прав доступа к корневой директории ПО
Проблема с уровнем доступа встречается достаточно редко, однако если активный пользователь не обладает достаточными правами, на экране может появиться ошибка «Не удалось загрузить компоненту» на любом этапе взаимодействия с программой. Это приводит к тому, что системный администратор должен самостоятельно выдать права, а это осуществляется так:
-
Отыщите корень папки с приложением и нажмите по нему правой кнопкой мыши.
Способ 6: Повторная регистрация fprnm1c.dll
Предпоследний способ нашей сегодняшней статьи заключается в повторной регистрации fprnm1c.dll с помощью стандартного системного средства. Требуется это только в том случае, если автоматическая инсталляция завершилась некорректно или по каким-то причинам была сброшена. Определить это никак не получится, поэтому остается только отменять регистрацию и устанавливать ее заново, используя привычную консоль.
-
Откройте «Пуск» и запустите «Командую строку» от имени администратора.
Перезагрузка компьютера после внесения подобных правок не требуется, поскольку они применяются сразу же в текущей сессии. Это значит, что вы можете сразу же приступать к работе в софте, проверяя, исчезла ли неприятность с файлом fprnm1c.dll.
Вы были ознакомлены с шестью различными вариантами исправления ошибок с файлом fprnm1c.dll при использовании софта от Атол. Задействуйте каждый из них по очереди, чтобы эффективно отыскать подходящее решение.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Сейчас многие пользователи по работе или в личных целях используют системы управления базами данных и другие программы, которые предназначены для выполнения определенных финансовых действий и расчетов, например, 1С: Предприятие. В большинстве случаев на компьютере установлен именно софт от компании 1С, поскольку они являются лидерами на рынке и подходят по ГОСТ, из-за чего многие работодатели и требуют наличия компонентов именно этой фирмы. При взаимодействии с ними может наблюдаться ошибка «Не удалось загрузить внешнюю компоненту extintgr.dll», поэтому мы бы хотели посвятить данный материал ее разбору, наглядно продемонстрировав все доступные варианты исправления.
Способ 1: Использование учетной записи администратора
Если у активного пользователя отсутствуют соответствующие права на доступ к файлам, то вполне возможно появление подобной ошибки при работе с компонентами 1С на любой стадии. Важно работать именно под учетной записью администратора, если это реально осуществить. Запросите доступ у системного администратора или используйте конфигурацию Windows, изучив представленный далее материал.
Способ 2: Ручное изменение доступа к файлам
-
Отыщите папку с той программой от 1С, с которой возникают проблемы. Щелкните по ней правой кнопкой мыши и в появившемся контекстном меню выберите пункт «Свойства».
Теперь вы можете не перезагружать компьютер, поскольку в этом нет надобности. Сразу же переходите к своей стандартной работе в программном обеспечении и проверьте, возникнет ли ошибка «Не удалось загрузить внешнюю компоненту extintgr.dll» снова.
Способ 3: Обновление компонентов 1С
Как вы знаете, рассматриваемая сегодня ошибка возникает только у пользователей компонентов 1C. Иногда это связано с тем, что приложение просто устарело или вышли критические обновления, мешающие корректному функционированию всем составляющим. Мы же советуем проверить наличие обновлений следующим образом:
-
Откройте официальный сайт компании, где переместитесь в раздел «Обновить ПО».
Если обновление не принесло никаких результатов или вы и так используете последнюю версию софта, переходите к рассмотрению следующих вариантов.
Способ 4: Повторная регистрация extintgr.dll
-
Откройте «Пуск» и отыщите там «Командную строку», а затем запустите ее от имени администратора. Вы можете использовать любой удобный для вас метод открытия консоли, но при этом главное — запускать ее с повышенными правами.
Все изменения, вносимые путем ввода подобных команд, вступают в силу сразу же, а это значит, что можно переходить к тестированию действенности метода.
Способ 5: Обновление драйверов
Некоторые программы от 1С активно взаимодействуют со встроенными и периферийными устройствами, подключенными к компьютеру. Если между этими компонентами возникают конфликты, на экране может появиться уведомление о рассматриваемой сегодня ошибке. При условии, что вы уже выполнили приведенные выше рекомендации и они не принесли никакого эффекта, советуем обновить драйверы всех составляющих любым удобным для вас способом. Детальнее об этом читайте в отдельной статье на нашем сайте далее.
Способ 6: Ручная инсталляция extintgr.dll
Завершит данный материал метод, который очень редко оказывается рабочим, поскольку файл extintgr.dll практически всегда корректно функционирует сам по себе и устанавливается вместе с ПО от компании-разработчика. Однако его удаление или ошибку во время инсталляции могли спровоцировать различные факторы, что и привело к ошибкам в дальнейшем. В таких ситуациях нужно самостоятельно отыскать этот файл на других компьютерах локальной сети или в интернете, используя только проверенные источники. Все о дальнейшей инсталляции extintgr.dll вы узнаете в руководстве ниже.
Если же ничего из вышеперечисленного не принесло никакого результата, обратитесь к системному администратору или на официальный сайт поддержки программ, детально описав свою проблему. Поставщики софта всегда должны отвечать на такие вопросы, предоставляя соответствующие рекомендации по исправлению ситуаций.
Мы рады, что смогли помочь Вам в решении проблемы.
Отблагодарите автора, поделитесь статьей в социальных сетях.
Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.
Сейчас программы, разработанные компанией 1C, пользуются большой популярностью в различных фирмах и предприятиях. Но часто с ними могут возникать какие-либо сбои или неполадки. Один из таких – ошибка файла extintgr.dll. Я расскажу об основных причинах ее возникновения и приведу несколько способов ее устранения.
Причины появления ошибки с файлом extintgr.dll
- устаревание драйверов или других компонентов системы;
- устаревание компонентов приложения 1C;
- несовместимость компонента с версией операционной системы;
- отсутствие прав администратора;
- повреждение или удаление библиотеки программой, вирусом или человеком.
Методы устранения ошибки файла extintgr.dll
В зависимости от корня проблемы можно прибегнуть к нескольким способам ее устранения. Многие из них связаны как раз с доступом к файлу, проблемами в чтении данных, и лишь небольшая часть – с его целостностью.
Открытие программы с правами администратора
Наиболее часто данная неполадка возникает при отсутствии соответствующего доступа к файлу extintgr.dll. Поэтому при запуске компонентов на базе 1C необходимо использовать права администратора. Сделать это достаточно легко – нажимаю по иконке приложения правой кнопкой мыши и выбираю пункт «Запуск от имени администратора».
Если компьютер не ваш, тогда запросите права админа у его владельца. В фирме, соответственно, этим занимается специалист, и лучше в такой ситуации обратиться именно к нему.
Изменение доступа к файлу вручную
Если первый вариант не принес никакого результата, необходимо изменить параметры доступа в свойствах файла. Для открытия данного меню необходимо точно так же нажать на иконку папки/приложения правой кнопкой мыши и выбрать пункт «Свойства» — он всегда отображается последним. Уже дальше через вкладку «Безопасность» можно будет открыть себе полный доступ.
Обновление компонентов программы 1C
Невозможность чтения содержимого файла extintgr.dll из-за устаревания связанного с ним приложения или его компонентов тоже вполне допустимо. Вероятно, вышли критические обновления, без загрузки которых нормальная работа программы недопустима.
Замена файла в папке
Еще один вариант, связанный уже с целостностью файла extintgr.dll. Его необходимо задействовать в том случае, если оригинальная библиотека была повреждена или удалена вирусами, сторонним приложением или даже самим пользователем (случайно, бывает). В подобной ситуации необходимо скачать этот самый файл со стороннего сайта, при этом предварительно проверить наличие сертификата и востребованность у других пользователей.
После завершения закачки просто перемещаю файл в системную папку, а путь к ней может отличаться в зависимости от разрядности операционной системы Windows: в 32-битной это C:\Windows\System32, а в 64-битной – C:\Windows\SysWOW64.
Так как файл extintgr.dll изначально не является системным компонентом, регистрация его в системе проводится либо специальным средством в момент инсталляции привязанного ПО, либо самостоятельно пользователем. Понятно, второй вариант используется тогда, когда исходная библиотека меняется на стороннюю, скачанную из сети.
Для проведения регистрации я вызываю окно «Выполнить» нажатием на комбинацию клавиш Win + R и ввожу вот такое значение: regsvr32 extintgr.dll, после активирую его, кликнув по кнопке OK.
То же самое можно провести и через командную строку, только открывать ее необходимо с правами администратора. А вызвать ее возможно несколькими способами – через строку поиска или окно «Выполнить». Значение ввожу то же самое – regsvr32 extintgr.dll, затем активирую его нажатием на клавишу Enter.
Обновление драйверов
Некоторые приложения на базе 1C взаимодействуют со встроенными периферийными устройствами. Соответственно, ошибка может возникать при их неправильном взаимодействии. Если все вышеуказанные методы не сработали, можно прибегнуть к этому – открыть параметры конкретного устройства и обновить драйверы.
Альтернативный вариант – просто скачать их с официального сайта компьютера/ноутбука/материнской платы.
Обновление системы
Если даже после обновления приложения и его компонентов проблема не исчезла, значит, проблема кроется в их совместимости с операционной системой – часто последняя устаревает и не поддерживает работу приложений на 1C. В основном это встречается в операционной системе Windows 10 – она обновляется куда чаще в сравнении с остальными, более ранними версиями, да и имеет больше всего багов.
Заключение
Когда ничего из вышеперечисленного не помогает решить проблему, рекомендую обратиться в службу поддержки на официальном сайте компании 1С. Детально опишите проблему, желательно прикрепите скриншоты. После этого разработчики дадут конкретные рекомендации по решению проблемы.
Зачастую у программистов возникают проблемы с подключением внешних компонент (например, драйверов торгового оборудования), когда пользователи работают с 1С, подключаясь к серверу через терминал.
Это связано с некоторыми особенностями работы функции глобального контекста ПодключитьВнешнююКомпоненту().
Зачастую у программистов возникают проблемы с подключением внешних компонент (например, драйверов торгового оборудования), когда пользователи работают с 1С, подключаясь к серверу через терминал.
При этом пользователи видят, например, картинку представленную в анонсе статьи.
В то время как при работе с локальных компьютеров никаких проблем с подключением внешних компонент нет.
С чем это связано? Это связано с тем, что, когда пользователи работают через сервер терминалов, они имеют меньше прав, чем при работе на локальном компьютере.
В этом легко убедиться, если зайти на сервер терминалов под учетной записью с административными правами.
Причина такой разницы заключается в том, что 1С не может зарегистрировать внешнюю компоненту в реестре, когда пользователь работает в терминале под обычными правами, т.к. у обычного пользователя нет прав на запись в ветку системного реестра HKEY_CLASSES_ROOT.
В публикациях на тему подключения внешних компонент в терминале предлагаются самые разные методы решения этой проблемы.
1. Запустить первый раз 1С под административными правами.
Этот вариант далеко не всегда срабатывает. Ниже объясню, почему.
2. Дать обычным пользователям терминала права на запись в ветку системного реестра HKEY_CLASSES_ROOT.
Недостаточно "продвинутым" пользователям лучше этого не делать, иначе могут быть проблемы.
3. С помощью различных "примочек" регистрировать ВК от имени пользователя с полными правами.
Тоже не есть хорошо.
Так как же все таки лучше выйти из этой ситуации?
Я предлагаю свой вариант решения этой проблемы. По моему мнению - простой и красивый, не предлагавшийся на инфостарте ранее.
Дело оказалось в том, что в типовых конфигурациях 1С (например "Управление Торговлей") используется такой синтаксис метода глобального контекста ПодключитьВнешнююКомпоненту():
ОбъектДрайвера = Новый ("AddIn.АТОЛСканер.Scaner45");
Как видим, ВК драйвера подключается из макета "ДрайверАТОЛСканерШтрихкода" справочника "ПодключаемоеОборудование".
Что же при этом происходит?
1С сохраняет компоненту во временной папке пользователя, например "C:\Documents and Settings\User\Local Settings\Temp\1032\v8_4_12.tmp"
и пытается зарегистрировать ее в ветке реестра HKEY_CLASSES_ROOT именно по этому пути.
На терминале у обычных пользователей нет прав на изменение этой ветки реестра, поэтому компонента у них не подключается.
Теперь о том, как выйти из этой ситуации.
Метод глобального контекста ПодключитьВнешнююКомпоненту() имеет несколько вариантов синтаксиса. Вот этим мы и воспользуемся.
Итак, по шагам:
1. Регистрируем внешнюю компоненту утилитой regsvr32.exe на сервере терминалов в папке C:\WINDOWS\SYSTEM32 для 32-разрядной ОС или в папке C:\WINDOWS\SYSWOW64 для 64-разрядной ОС.
2. Используем один из двух дополнительных вариантов синтаксиса метода ПодключитьВнешнююКомпоненту():
Вариант 1:
ОбъектДрайвера = Новый ("AddIn.АТОЛСканер.Scaner45");
Вариант 2:
ОбъектДрайвера = Новый (ProgID);
На мой взгляд, вариант № 2 предпочтительнее.
При этом 1С не пытается перерегистрировать ВК по новому пути в реестре и таким образом, все проблемы решаются.
Ну вот собственно и все. Успехов в работе!
Специальные предложения
В то время как при работе с локальных компьютеров никаких проблем с подключением внешних компонент нет.
Глубоко ошибаешься. В путних сетках и тут проблемы, потому что в путних сетках и локальных административных прав у юзверя быть не должно. А то они там нарегят/наинсталлируют!
Там и софт по минимуму, все что нужно - в терминале. :)
Но, если так необходимо, то, думаю, на локальной машине данная методика также будет работать, т.о. "ложка не существует". :)
Очередной баян для новичков в работе с внешними ВК.
Со времен 77 здесь ничего не изменилось :)
Но за изложение плюсую.
Ничего не изменилось говорите?
Вы хоть в сути описанной в статье проблемы разобрались?
Разве в 77 внешние компоненты хранились в макетах справочников?
Разве 77 сохраняла их во временном каталоге пользователя и пыталась их потом там зарегистрировать?
(6) А если еще подумать?
В 77 также были случаи неверной регистрации ВК - например, Админ в терминале заходит в одну базу и регистрирует ВК из каталога базы, а пользователь, у которого эта ВК юзается, но в другой базе, не может запустить эту ВК, если у него прав на папку с первой базой :(
Поэтому, например, для нормальной работы в 77 и придумано куча решений - тот же вариант с RunAs или загрузка обычных ВК через спец.ВК от Саши Орефкова и т.п.
Я же говорю - по работе с ВК ничего не изменилось!
А описанные проблемы - это проблемы прикладного кода, в частности, кода по работе с торговым оборудованием.
Разработчики этого кода либо не знали о сабжевой проблеме, либо пренебрегли ей :(
ЗЫ кстати, в 77 ВК также можно было хранить в макетах, правда, с использованием доп.ВК :)
ЗЗЫ а еще обрати внимание - плюс-то я тебе все-таки поставил :)
Вот это по моему мнению как раз и есть "париться" - т.е. разобравшись в сути проблемы только наполовину, искать обходные пути для ее решения.
Вот это по моему мнению как раз и есть "париться" - т.е. разобравшись в сути проблемы только наполовину
Ага, наполовину. Суть проблемы элементарна - отсутствие прав.
Ссылка раз и навсегда решает проблему того же regsvr32 БлаБла у любого юзверя выполнением RunAs от имени пользователя с админскими правами.
Ну-ка расскажи в чем ты там ПОЛНОСТЬЮ разобрался?
На терминале у обычных пользователей нет прав на изменение этой ветки реестра, поэтому компонента у них не подключается.
.
Итак, по шагам:
1. Регистрируем внешнюю компоненту утилитой regsvr32.exe на сервере терминалов в папке C:\WINDOWS\SYSTEM32 для 32-разрядной ОС или в папке C:\WINDOWS\SYSWOW64 для 64-разрядной ОС.
Ну в чем профит-то? В том что вы взяли её и зарегистрировали? Явно кто-то в чем-то полностью переразобрался.
Не понял смысл статьи.
Админ и так знает, как зарегистрировать dll-ку, у 1Сника при нормальном распределении обязанностей нет никаких прав на серваке.
Вот именно - отсутствие прав это вторая половина проблемы.
А первая и основная половина состоит в том, почему 1С пытается перерегистрировать ВК, и как этого избежать.
Потому что не надо использовать (в т.ч. и фирме 1С) дебильную ПодключитьВнешнюю.. с разными там синтаксисами,
а надо использовать ЗагрузитьВнешнююКомпоненту(ПолныйПутьКДЛЛ), а либы лучше всего хранить в КаталогПрограммы(), либо (для файлухи и 7.7) в КаталогИБ()
cool.vlad4 пишет:
Ну в чем профит-то? В том что вы взяли её и зарегистрировали? Явно кто-то в чем-то полностью переразобрался
Не спешите с выводами не разобравшись.
Дело в том, что вы ее хоть сто раз зарегистрируйте, но если вы оставите без изменений типовой код,
1С будет безуспешно пытаться ее перерегистрировать снова и снова.
(12) Не спешите с выводами, по поводу того, что я спешу с выводами не разобравшись. В типовой так сделано, потому, что ребята делали универсально, они не могут сидеть за вашим компьютером и регистрировать от имени администратора компоненту, не зная пароля тем более. А админы прекрасно об этом знают и ручками зарегят или скрипт напишут(run as). А ваша статья просто кэпство, но самое противное - преподносится как доселе неведомое чудо.
Ну что тут сказать? Значит невнимательно читали статью, или никогда не сталкивались с такими проблемами.
Конечно, админ знает, как зарегистрировать dll-ку.
Он ее и регистрирует. Но потом оказывается что у рядовых пользователей она в терминале не подключается.
Вот в чем суть проблемы то!
У вас видимо патологическое отвращение к чужим разработкам.:)
Конечно, это не чудо. Но тем не менее, я когда столкнулся с этой проблемой, нигде в инете не нашел объяснения причин этой проблемы. Везде освещалась только вторая часть проблемы (недостаток прав на реестр) и способы ее обхода. И нигде не говорилось об основной части проблемы - почему 1С пытается перерегистрировать ВК по новому пути.
Согласен, не спорю. Спасибо.:)
artbear пишет:
А описанные проблемы - это проблемы прикладного кода, в частности, кода по работе с торговым оборудованием.
Разработчики этого кода либо не знали о сабжевой проблеме, либо пренебрегли ей :(
Совершенно верно. Но рядовому программеру от этого как бы не легче.
А эта статья конечно не претендует на какую-то особенность и гениальность.
Это просто статья человека который столкнулся с проблемой, и не нашел приемлемого для себя метода ее решения в инете.
Это попытка самостоятельно разобраться в проблеме и поделиться своим решением с другими - быть может сэкономив кому то время на решение аналогичных проблем.
Здесь есть одно большое НО.
А мне нужно было подключать сканер штрих-кодов в ТОНКОМ клиенте.
(19) сканер штрих-кода успешно подключается в тонком клиенте, пример реализации можно посмотреть в УПП 1.3, в последних двух релизах
А скажи на милость: на фига в ТЕРМИНАЛЕ еще и тонкий клиент?
Терминал сам по себе уже тонким клиентом является
Abadonna пишет:
А скажи на милость: на фига в ТЕРМИНАЛЕ еще и тонкий клиент?
Терминал сам по себе уже тонким клиентом является
Ну, тут уж как бы наше руководство так решило для единообразия.
Как пел Высоцкий, "Жираф большой - ему видней".:)
Все работают с 1С в тонком клиенте управляемого приложения.
Чтобы можно было и через терминал подключаться и просто с локальной машины.
fishca пишет:
сканер штрих-кода успешно подключается в тонком клиенте, пример реализации можно посмотреть в УПП 1.3, в последних двух релизах
Пример реализации я брал из УТ11.
Он то конечно подключается, если у пользователя достаточно прав на запись в ветку реестра .
А вот если у пользователя недостаточно этих прав, тогда и начинаются проблемы которые описаны в этой статье.
После выполнения regsvr32 весь код укладывается в одну строку:
ОбъектДрайвера = Новый COMОбъект("AddIn.Scaner45");
Чтобы не быть голословным - рис.
(24)
"После выполнения regsvr32 весь код укладывается в одну строку:
ОбъектДрайвера = Новый COMОбъект("AddIn.Scaner45"); "
А страница свойств компоненты появится при таком подходе ?
Abadonna пишет:
После выполнения regsvr32 весь код укладывается в одну строку:
ОбъектДрайвера = Новый COMОбъект("AddIn.Scaner45");
Ну, раз говоришь что работает, верю.
Хотя мне это кажется странным. По идее не должно было.:)
Именно, что должно . :)))
Это как раз стандартное обращение к зарегенным в реестре интерфейсам COM, Active-X
В 7.7 это было бы так: Lib=СоздатьОбъект("Miracle.VCL")
В Дельфи: Lib:=CreateOleObject('Miracle.VCL')
И в любой другой виндовой хрени аналогично ;)
Да, но в 7.7 перед этим вызывался метод ЗагрузитьВнешнююКомпоненту("FormEx.dll");
Без этого СоздатьОбъект() не работало.
Ладно, начнем ликбез по порядку :))))
1. ЗагрузитьВнешнююКомпоненту от 1С - как раз и производит регистрацию в реестре интерфейса соотвествующей либы, написанной по технологии создания внешних компонент от 1С (ТСВК). Вот именно в этом случае, и возникает трабла с правами на запись в реестр, неважно в каком месте: на терминале или локальном компе
2. СоздатьОбъект - уже и создавала (в аналогии 8.2) Новый COMОбъект по указанному progid
В 8.2, как в обычной виндовой программе, все точно так же.
Если ЛЮБАЯ ВК написана по технологии COM и предварительно зарегена через regsvr32 (т.е. уже есть progid), никаких
Подключить/ЗагрузитьВнешнююКомпоненту уже не надо ни в 7.7, ни в 8.2.
В моем примере выше либа для 7.7 писалась не по ТСВК, она обязательно требовала regsvr32, но при этом совершенно не понимала никаких Подключить/ЗагрузитьВнешнююКомпоненту
+(29) А FormEx.dll - вообще супер-специфичная либа, там Лёха залез в самое нутро 1С, последние её версии вообще в реестре следов не оставляют, и ЗагрузитьВнешнююКомпоненту("FormEx.dll") пройдет всегда, у любого юзверя, с любыми правами
УТ 10.3. Платформа 8.2.13.202. У меня при настройке перенаправленого в терминальный сервер торгового оборудования выпадает 1С при тестировании драйвера. Однако если на это не заморачиваться, то Интерфейс Кассира работает и чеки пробиваются. Может кому-то пригодится, т.к. мы очень долго не понимали в чем дело и не пробовали пробить чек из Интерфейса Кассира ))))
В описанном мной случае проблемы возникали когда ВК хранится в макете справочника.
При подключении она сохраняется во временный файл временного каталога пользователя.
Поэтому для использования RegsvrEx нужно знать полный путь к этому временному файлу.
Ну а вообще использование нескольких дополнительных разработок вместо стандартного
типового механизма и маленькой правки кода не кажется мне оптимальным.:)
(33) Смею заметить, ничего против Вашей публикации не имею :). "стандартный типовой механизм" не всегда вставляет, иногда своя реализация кажется более универсальной :).
Спасибо за просвещение, а то у БиТ купили продукт, а они используют свой сервер лицензий, и для этого пытаются регистрировать внешние компоненты, до сих пор приходилось делать запуск под Админом, теперь попробуем переписать чтобы было по человечески.
Спасибо за статью. Столкнулся с аналогичным случаем при работе с эмулятором фискального регистратора. Конечно же лучше запускать 1С через тонкий клиент с машины к которой подключено оборудование, но некоторые клиенты настаивают на использовании терминала ( тем более если фискальный регистратор виртуальный - используется эмулятор). Почему-то после обновления УТ11 до 11.1 вдруг 1С стала просить драйвера на эмулятор фискального регистратора, хотя сканнер штрих-кодов продолжает прекрасно работать.
Добавил бы уточнения к алгоритму решения этой проблемы: ( которые кстати подчерпнул из вашего же комментария только в другом форуме )
В общих макетах лежат драйвера различного оборудования. Там собственно и хранилась нужная мне dll.
Щелкаем на этом макете и нажимаем кнопочку "Выгрузить в файл".
Файлу даем любое имя и расширение zip.
Открыв архив видим несколько файлов, в том числе нужный мне FPEmulator1C.dll. Распаковываем и копируем его в зависимости от разрядности windows в папку для 32х - C:\Windows\Sysytem32 , для 64х - C:\Windows\SysWOW64.
Запускаем Пуск/Все программы / Стандартные / Командная строка - только правой кнопкой мыши вибираем "Запуск от имени администратора" . В командной строке переходим в нужную папку (C:\Windows\Sysytem32 или C:\Windows\SysWOW64 ).
В командной строке - cd C:\Windows\Sysytem32
Пробуем регистрировать его с помощью команды regsvr32.exe .
В командной строке - regsvr32 FPEmulator1C.dll
Если все успешно тогда переписываем код в конфигурации в соответствии со статьей.
Читайте также: