Имя: Пароль:
1C
1C 7.7
v7: Win7, Сканер ШК, Драйвера Атол 6, Демо-База
0 Fisco
 
10.05.15
19:36
Исходный набор:
Win7 32 разр.,Symbol LS2208, USB-интерфейс в режиме CDC (в системе виден как COM-порт). Демо-конфигурация 7.7, устанавливаемая вместе с драйверами. В параметрах конфигурации сканер находится без проблем, данные считываются без суффиксов и префиксов. Подключен, ошибок нет. При запуске конфигурации выдается сообщение об успешном подключении компоненты.

Проблема:
Не отрабатывает процедура "ОбработкаВнешнегоСобытия" глобального модуля. Отладчиком ставил точку останова - тишина.

Что я делаю не так?
1 Web00001
 
10.05.15
19:38
>>Что я делаю не так?
Откуда ж знать. Может ты не добавил сканер в оборудование, или щелкаешь сканером в отладчике.
2 Fisco
 
10.05.15
19:42
В какое оборудование? В демо-базе от атола только в глобальнике прописана процедура "ОбработкаВнешнегоСобытия". В этой базе объектов нет.
3 Fisco
 
10.05.15
19:43
Т.е. после запуска нет открытых форм и должна отрабатывать процедура в глобальнике. А она молчит как партизан.
4 Cap_1977
 
10.05.15
20:27
В7плюс.длл зарегистрированна ?
5 Fisco
 
10.05.15
20:41
Да. Хотя зачем она здесь?
6 Остап Сулейманович
 
10.05.15
20:46
(5) Ходим в сервис - параметры - Драйвер устройств ввода. Говорим "поиск оборудования". Чего-нибудь сканируем. То что получилось - в студию
7 Fisco
 
10.05.15
20:48
Получилось:
COM11, штрихкод в "чистом" виде, без префиксов и суффиксов.
8 Cap_1977
 
10.05.15
20:48
ОбработкаВнешнегоСобытия должна находиться в модуле формы справочника/документа
9 Остап Сулейманович
 
10.05.15
20:50
(7) Вернуться на закладку "Драйвер устройств ввода" выставить все параметры так как получилось при поиске. Выставить фишки "Устройство включено" и (по желанию) "Включать устройство при старте".
10 Fisco
 
10.05.15
21:07
Именно так все и выставлено. Но процедура в отладчике не отрабатывает.
11 Torquader
 
10.05.15
21:11
Сканер передаёт данные ?
Насколько я помню, он в режиме COM-порта ожидает сигнала готовности к приёму.
12 Fisco
 
10.05.15
21:11
(8)
В этой конфигурации нет ни документов, ни справочников. Это демо конфигурация из поставки драйверов Атола.
13 Fisco
 
10.05.15
21:12
(11)
Ну в режиме поиска оборудования передает. А что за "сигнал готовности к приёму"?
14 Torquader
 
10.05.15
21:26
(13) Если в режиме поиска передаёт, то нужно смотреть, что он передаёт, и выбирать символы, передаваемые после штрих-кода (0Dh 0Ah) в качестве суффикса.

Я про демо не помню, но старый драйвер АТОЛ (новый, насколько я помню, платный) прекрасно работал.

P.S. в глобальнике только нужно создать объект и "вкатать" в него настройки.
15 Fisco
 
10.05.15
21:33
В поиске, в выдаваемой строке только штрихкод, никаких символов больше нет.
Глобальник:
"// Пример для 7.7
Перем Scaner Экспорт;  //Переменная для работы со сканером

Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные);
Если Scaner.OldVersion<>0 Тогда
//Работа драйвера совместима с предыдущей версиией
// Источник="BarCodeScaner" (для других устройств свои названия)
//Событие="BarCodeValue", Данные=ПолученныеДанные
    Сообщить("Old Version <> 0");
    Сообщить("Источник: "+Строка( Источник ));
    Сообщить("Событие: "+Строка( Событие ));
    Сообщить(Строка("Данные от устройства: "+ Данные));
Иначе
//Работа драйвера не совместима с предыдущей версиией
// Источник="BarCodeScaner" (для других устройств свои названия)
//Событие="BarCodeValue", Данные=НомерСобытия
     Сообщить("Old Version = 0");
     Scaner.EventNumber=Число(Данные);
     Сообщить("Данные от устройства: "+Scaner.ScanData);
     Сообщить("Порт: "+Scaner.PortDescription);
     Сообщить("Модель: "+Scaner.DeviceDescription);
     Сообщить("Лог. устройство: " + Строка(Scaner.CurrentDeviceNumber) + " | " + Scaner.CurrentDeviceName);
     Scaner.DeleteEvent();
КонецЕсли;
  Scaner.DataEventEnabled = 1;
  Сообщить("Количество сообщений "+Строка(Scaner.DataCount));
КонецПроцедуры


Процедура ПриЗавершенииРаботыСистемы()
    // Отсоединение объекта
    Scaner = 0;
КонецПроцедуры

Если ЗагрузитьВнешнююКомпоненту("Scaner1C.DLL")<>0
Тогда
  Scaner = СоздатьОбъект("AddIn.Scaner45"); // Создание объекта сканера из внешней компоненты
  Scaner.AutoDisable = 1;
  Scaner.DataEventEnabled = 1;
  Scaner.OldVersion = 0;
  Сообщить("Внешняя компонента сканера штрих-кода успешно загружена");
Иначе
  Сообщить("Внешняя компонента сканера штрих-кода - Scaner1C.DLL не найдена");
КонецЕсли;"
16 Torquader
 
10.05.15
21:44
А суффикс на вкладке "Параметры" правильно настроен ?
17 Fisco
 
10.05.15
21:47
Я там ничего не выставлял, ведь в поиске не было суффикса.
18 Torquader
 
10.05.15
23:23
(17) Тогда нужно:
1 - настроить в сканере суффикс.
2 - настроить этот суффикс в драйвере.
И всё заработает.
19 Fisco
 
10.05.15
23:45
Правильно ли я понимаю, что надо по штрихкоду из мануала запрограммировать его с суффиксом #13?
И такой же указать в параметрах?
20 Fisco
 
11.05.15
13:15
Torquader. Большое спасибо за помощь, все получилось!