Работа с внешней компонентой #805389


#0 by JastAMan
Не доводилось работать с внешними компонентами. Сколько не гуглил - не смог понять принцип работы. По примеру попытался сделать так: При выполнении сообщение о том что тип не определен: FprnM1C82 Как правильно?
#1 by Рэйв
Правильно -Якнуть справа.
#2 by JastAMan
Говорю, же гуглил. Если знаешь, то подскажи, пожалуйста, почему не подключается компонента? Подключено = ПодключитьВнешнююКомпоненту("C:1CFprnM1C82.dll", "FprnM1C82", AddInType.Native);
#3 by МимохожийОднако
Зарегистрируй для начала через командную строку с правами администратора эту несчастную компоненту
#4 by JastAMan
Делал: regsvr32 C:1CFprnM1C82.dll Сообщение windows Успешное выполнение DLLRegisterServer в C:1CFprnM1C82.dll
#5 by МимохожийОднако
Обрами в попытки и почитай ОписаниеОшибки
#6 by МимохожийОднако
Важно в какой среде используешь этот метод. Примечание из СП: Внешние компоненты могут быть выполнены по технологии Native API или COM. Компоненты, выполненные по технологии COM, совместимы с компонентами 1С:Предприятия 7.7. Веб-клиент может работать только с компонентами в информационной базе, упакованными в архив. Тонкий клиент может работать с компонентами в информационной базе, упакованными в архив, и компонентами, расположенными в файловой системе. Толстый клиент может работать со всеми вариантами хранения компонентов. При этом, если компонент установлен методом УстановитьВнешнююКомпоненту, то используется установленный компонент, а если не установлен, то компонент будет получен в момент подключения. Сервер может работать со всеми компонентами. Компонент кэшируется на сеанс работы сервера
#7 by JastAMan
Странно: переменная Подключено = ложь, а в исключение не заходит, соответственно нет описания ошибки.
#8 by JastAMan
Что делаю не так? Компонента зарегистрирована, но не подключается.
#9 by Zyka
Возможно я ошибаюсь, однако выглядит на попытку подружить 1С и ККМ АТОЛ. Если так, то ставим драйвер, например "KKT_8_15_02_00". Она сама зарегистрирует DLL. Ну, про ручную регистрацию вам уже писали. Также обратите DLL к которой идёт обращение. - - - - - - - - - - - - Инициализация на стороне 1Сы: Если ОбъектДрайвера = Неопределено Тогда Также не забывайте вызывать неявный деструктор объекта драйвера:
#10 by JastAMan
Установил KKT_8_15_03_00_Full Увидел FprnM1C.dll в списке зарегистрированных dll. ПодключитьВнешнююКомпоненту(ProgID) возвращает ложь.
#11 by JastAMan
Впечатление, что не находит компоненту
#12 by МимохожийОднако
Положи поближе в BIN или System32
#13 by JastAMan
Куда только не ложил. Даже в общий макет.
#14 by H A D G E H O G s
могу подключиться, глянуть
#15 by dezss
Если винда x64, то надо в SysWOW64 положить и там зарегать, если x86, то в system32. Да и имя смущает AddIn.FprnM1C. Вообще сейчас пользуются, в том числе, FprnM1C82_54FZ, а это компонента AddIn.ATOL_KKM_1C82_54FZ.
#16 by piter3
А в манифесте точно натив?
#17 by dezss
com, там, скорей всего...
#18 by Zyka
на всякий случай спрошу: вызов происходит там же где установлен драйвер? То бишь обработка подключения внешней компоненты &НаКлиенте? Имел честь видеть людей вешающих подобные драйвера на сервер (удаленный) и подключаясь к компоненте с сервера недоумевали о недоступности локального com порта или ip (проброса там не было)
#19 by piter3
Угу,если автору нужно не на клиенте то добро пожаловать в 9 версию.
#20 by piter3
Хотя какой насервере в 7.7)))
#21 by JastAMan
Разобрался в предмете, посмотрел что, где зарегистрировано, ппонял, но теперь не определяется тип ProgID = "AddIn.FprnM8";  // HKEY_CLASSES_ROOTAddIn.FprnM8 Попытка
#22 by JastAMan
Up
#23 by piter3
уже писали не FprnM1C.Открой архив уже и в манифесте будет явно написано
#24 by piter3
почитай
#25 by JastAMan
Я 8.3 это делаю. Видимо ошибочно выбрал 7.7 в теме . Открыл архив C:Program FilesATOLDrivers81Cv82FR-ATOL_54FZ.zip распаковал в: C:Program FilesATOLDrivers81Cv82FZ54 Зарегистрировал компоненту. Увидел в реестре соответствующие ключи. Из реестра скопировал RegID: "AddIn.ATOL_KKM_1C82_54FZ" Затем в обработке: Снова подключает, но Новый(ProgID)    {}: Тип не определен (AddIn.ATOL_KKM_1C82_54FZ)
#26 by JastAMan
В манифесте Com, но и ним не работает. После подключения компоненты 1С должна видеть тип данных ATOL_KKM_1C82_54FZ?
#27 by piter3
ну да
#28 by JastAMan
В чем же может быть затык - где еще рыть?
#29 by Йохохо
Program Files - x64?
#30 by JastAMan
х32 однако
#31 by JastAMan
Расположение файлов не должно влиять. Какая разница, по какому адресу зарегистрирована dll
#32 by piter3
На клиенте делаешь?
#33 by dezss
влияет еще как Зарегай dll в SysWOW64, если винда х64 или в System32, если винда x86. После этого подключай компоненту и наслаждайся.
#34 by dezss
+ подключай вот так ProgID = "AddIn.ATOL_KKM_1C82_54FZ";
#35 by dezss
И вообще, что тебе возвращает ПодключитьВнешнююКомпоненту?
#36 by JastAMan
Истину, добрый молодец, возвращает.
#37 by piter3
Может на чистой машине попробовать?
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С