Имя: Пароль:
1C
1С v8
Чудеса и мистика с подключением внешней компоненты считывателя магнитных карт
0 Jackman
 
21.01.16
16:09
Несколько дней тому назад создавал тему о том, что не получалось заставить 1С увидеть внешнюю компоненту: Ошибка при подключении внешней компоненты для работы с бесконтактным сканером

Подключался через терминалы к удаленному серверу, на удаленном серваке установил дрова считывателя и зарегил компоненту. Но при попытке запустить любую из тестовых обработок - вываливалась ошибка подключения внешней компоненты. Попросил админа подключиться с моей учетки и паролем - запускает пробную конфигурацию и все работает. Попросил его не закрывать сеанс, а отключить, подключаюсь к сеансу с открытой 1С, пробую - вылазит ошибка, что компонента не подключена. Перепробовали разные варианты - если я подключаюсь, то компоненту 1С не может подключить. Создали нового пользователя, поочередно заходили: у него получается, у меня - нет. Попробовал админ зайти с другого компа под терминалами и той же общей учеткой - вылезла ошибка как у меня. Короче, догадались, что нужно проинсталлить дрова на локальную машину, с которой запускается клиент терминалов (оборудование не подключали ни в одном из случаев) и все заработало. Оказывается, админ ранее локально ставил себе дрова, когда тестил работоспособность сканера. Вообщем, может кому-то будет полезно...
1 Azverin
 
21.01.16
16:14
а посудачить нам теперь о чём, если ты в (0) всё выложил?(
2 Jackman
 
21.01.16
16:15
Ну можно, традиционно, закидать какашками ТС :)
3 Jackman
 
21.01.16
16:19
Просто совсем неочевидно, что для подключения внешней компоненты считывателя к 1С (ПодключитьВнешнююКомпоненту("AddIn.PCSCInfo")), нужно установить на локальную машину драйвера устройства, даже, если работа осуществляется под терминалами на удаленном сервере.
4 Cyberhawk
 
21.01.16
16:21
Драйвер отвечает за прием и обработку сигналов от железа, как ты думал без локального драйвера будет в терминале работать?
Это TS Easy Print еще сделали проброс, а остальное железо - вряд ли
5 Jackman
 
21.01.16
16:32
(4) Просто ошибка вываливалась просто при инициализации компонеты, "ПодключитьВнешнююКомпоненту", т.е. до всех манипуляций с командами и прочим, и без подключенного оборудования. Т.е. только для того, чтобы 1С подключила к себе компоненту, уже нужно, чтобы на локальной машине, из под которой подключаются под терминалами к серверу, стояли драйвера.
6 Jackman
 
21.01.16
16:34
+ сканер подключать не нужно, чтобы компонента подключилась к 1С, достаточно просто поставить дрова на локальную машину.
7 Cyberhawk
 
21.01.16
16:43
(5) Думаю, причина в самой DLL-ке и ее реализации: при ее "активации" (первом подключении в 1С, например), все ее вызовы перенаправляются на локальную машину (инициатора RDP-подключения).
Пример такой "перенаправляемой" dll-ки описан, например, здесь: https://blogs.technet.microsoft.com/instan/2011/03/27/why-cant-i-see-my-local-smartcard-readers-when-i-connect-via-rdp/
8 Cyberhawk
 
21.01.16
16:44
Взял на заметку, в общем (освежил память)
9 Jackman
 
21.01.16
16:51
(7) Скорее всего, ранее с таким не сталкивался.