Подключение сканера штрих кода к управляемым формам (тонкий клиент).

1. t955938 21.06.18 08:47 Сейчас в теме
Добрый день!
Пытаюсь разобраться с подключением сканера штрих кода к управляемым формам (тонкий клиент). Сканер работает в режиме эмуляции клавиатуры.
Смотрел, как это сделано в типовых конфигурациях.
Зарегистрировал dll компоненту в операционной системе.
Создал пустую конфигурацию. В модуле управляемого приложения создал переменную для хранения Объекта драйвера:
Перем ОбъектДрайвера Экспорт;

Создал обработку. В событии форы При открытии написал код:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ProgID = "AddIn.Scaner45"; 
	ПодключитьВнешнююКомпоненту(ProgID); 
	ОбъектДрайвера = Новый (ProgID);
	
	ОбъектДрайвера.ДобавитьУстройство();
	
	ОбъектДрайвера.АвтоВыключение =	0;
	ОбъектДрайвера.БитыДанных = 3;
	ОбъектДрайвера.БлокироватьУстройства = 0;
	ОбъектДрайвера.НомерПорта = 100;
	ОбъектДрайвера.Префикс = "";
	ОбъектДрайвера.СкоростьОбмена = 7;
	ОбъектДрайвера.СтопБиты	= 0;
	ОбъектДрайвера.СтопФлаг	= 0;
	ОбъектДрайвера.Суффикс	= "#13";
	ОбъектДрайвера.УстройствоВключено=1;
	ОбъектДрайвера.УстройствоВключеноПриCтарте=1;
	ОбъектДрайвера.Четность	=0;
	ОбъектДрайвера.Чувствительность	= 60;


КонецПроцедуры
Показать

Проверяю событие Внешнее событие. Не срабатывает. Форма управляемая.

Уважаемые Знатоки подскажите пожалуйста, в чем ошибка.
Прикрепленные файлы:
Сканер.cf
Scaner1C.dll
По теме из базы знаний
Найденные решения
11. t955938 21.06.18 11:50 Сейчас в теме
Большое спасибо! Помогло.

Переписал:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ProgID = "AddIn.Scaner45"; 
	ПодключитьВнешнююКомпоненту(ProgID); 
	ОбъектДрайвера = Новый (ProgID);
	
	ОбъектДрайвера.ДобавитьУстройство();
	
	ОбъектДрайвера.АвтоВыключение =	0;
	ОбъектДрайвера.БитыДанных = 3;
	ОбъектДрайвера.БлокироватьУстройства = 0;
	ОбъектДрайвера.НомерПорта = 100;
	ОбъектДрайвера.Префикс = "";
	ОбъектДрайвера.СкоростьОбмена = 7;
	ОбъектДрайвера.СтопБиты	= 0;
	ОбъектДрайвера.СтопФлаг	= 0;
	ОбъектДрайвера.Суффикс	= "#13";
	ОбъектДрайвера.УстройствоВключено=0;
	ОбъектДрайвера.УстройствоВключеноПриCтарте=0;
	ОбъектДрайвера.Четность	=0;
	ОбъектДрайвера.Чувствительность	= 60;
    ОбъектДрайвера.АвтоВыключение = 0;
    ОбъектДрайвера.OldVersion = 1;
	ОбъектДрайвера.ПосылкаДанных = 1;
КонецПроцедуры

Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
10. spacecraft 21.06.18 11:36 Сейчас в теме
(1) ПосылкаДанных не вижу.
ОбъектДрайвера.ПосылкаДанных = 1;
2. t955938 21.06.18 10:18 Сейчас в теме
Функция ПодключитьВнешнююКомпоненту срабатывает, сохраняется в переменной.
Но, Внешнее событие не срабатывает.

Подскажите, пожалуйста, почему.
3. Timur.V 78 21.06.18 10:36 Сейчас в теме
А просто, без 1С, сканер работает? Можете в блокнот (программа Windows) сканировать штрихкоды?
Для установки драйвера необходимо запустить файл ScanOpos.exe и далее следовать инструкциям на экране.
4. t955938 21.06.18 10:47 Сейчас в теме
Сканер работает в режиме эмуляции клавиатуры. Последним символом является перевод строки.
В блокноте работает. В конфигурации УНФ работает.
Если скопировать модули из УНФ в пустую конфигурацию, то работает.

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

Я выложил файл конфигурации и dll (Атоловский драйвер).
Пожалуйста, у кого есть время, посмотрите в чем причина.
5. ipoloskov 162 21.06.18 10:50 Сейчас в теме
Вот как у меня:
КомпонентаCipherLabTCP = Новый("AddIn.CCipherLabTCP.CipherLabTCP");
КомпонентаCipherLabTCP.Подключить()
6. t955938 21.06.18 10:55 Сейчас в теме
Да, я отслеживаю обработчик внешнего события, но он не срабатывает.
В Конфигураторе я поставил точку остановки в этой процедуре.
8. ipoloskov 162 21.06.18 10:59 Сейчас в теме
(6) а процедура ВнешнееСобытие точно прописана как обработчик? В Форме - Свойства - События
7. t955938 21.06.18 10:56 Сейчас в теме
Dll зарегистрирована в системе. И в соседней конфигурации работает.
9. t955938 21.06.18 11:05 Сейчас в теме
Да, в свойствах формы создал Внешнее событие.
11. t955938 21.06.18 11:50 Сейчас в теме
Большое спасибо! Помогло.

Переписал:
&НаКлиенте
Процедура ПриОткрытии(Отказ)
	ProgID = "AddIn.Scaner45"; 
	ПодключитьВнешнююКомпоненту(ProgID); 
	ОбъектДрайвера = Новый (ProgID);
	
	ОбъектДрайвера.ДобавитьУстройство();
	
	ОбъектДрайвера.АвтоВыключение =	0;
	ОбъектДрайвера.БитыДанных = 3;
	ОбъектДрайвера.БлокироватьУстройства = 0;
	ОбъектДрайвера.НомерПорта = 100;
	ОбъектДрайвера.Префикс = "";
	ОбъектДрайвера.СкоростьОбмена = 7;
	ОбъектДрайвера.СтопБиты	= 0;
	ОбъектДрайвера.СтопФлаг	= 0;
	ОбъектДрайвера.Суффикс	= "#13";
	ОбъектДрайвера.УстройствоВключено=0;
	ОбъектДрайвера.УстройствоВключеноПриCтарте=0;
	ОбъектДрайвера.Четность	=0;
	ОбъектДрайвера.Чувствительность	= 60;
    ОбъектДрайвера.АвтоВыключение = 0;
    ОбъектДрайвера.OldVersion = 1;
	ОбъектДрайвера.ПосылкаДанных = 1;
КонецПроцедуры

Показать
12. t955938 21.06.18 11:55 Сейчас в теме
Спасибо организаторам форума!!!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот