Имя: Пароль:
1C
1C 7.7
v7: Помогите по настройке сканнера Штрих Кода
0 8troyan8
 
01.11.13
14:35
Драйвера установил. В тестовой конф АТОЛА сканнер определяет. Но не ловит ОбработкаВнешнегоСобытия().
1 2S
 
01.11.13
14:36
обработку на форму повесил?
2 Формат
 
01.11.13
14:36
Посмотрите на сайте атола подключение сканера к 1С
3 8troyan8
 
01.11.13
14:37
(1) Да. Форму открыл. Сканирую.. Ноль..
4 lamme
 
01.11.13
14:38
в 1С7 - настройки. там должна появится новая закладка-  для подключения именно к этой 1С.
в этих настройках - есть пункт - поиск оборудования.
ну и как поймал и нашел - можно просканировать и то что отсканировалось появится в строке тестирования.
5 lamme
 
01.11.13
14:39
это я к чему ..
у тебя все это работает ?

потому что тестовая конфа и твоя - это 2 разные вещи
6 lamme
 
01.11.13
14:40
т.е. прежде чем идти в документ и сканировать
надо понять  подключен ли сканер вообще в твоей 1С
7 8troyan8
 
01.11.13
14:40
(4) Все точно так и сделал.. Все находит. Все сканирует.
На форму вкинул

роцедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
Сообщить("Внешнее событие: Источник="+Источник+"  Событие="+Событие+"  
Данные="+Данные);
КонецПроцедуры
8 8troyan8
 
01.11.13
14:41
И ноль полный...
9 lamme
 
01.11.13
14:43
там еще какая-то процедура есть для работы со оборудованием
не только ОбработкаВнешнегоСобытия()
но что именно - уж пардон, не помню. и посмотреть негде
что то типа инициализировать ... но не уверен точно
10 Voronve
 
01.11.13
14:46
Сканер в разрыв клавиатуры ?
11 8troyan8
 
01.11.13
14:47
(10) USB с эмулятором COM
12 Формат
 
01.11.13
14:51
Посмотрите, он dll то подгружает
13 8troyan8
 
01.11.13
14:53
(12) Подгружает. Все нормально. В сервис. поиск оборудования его видит и сканирует. Но вот процедура не ловит событие.
14 Voronve
 
01.11.13
14:56
На какой порт он повесился ?
15 Формат
 
01.11.13
15:01
(13) и тут все нормально? http://www.atol.ru/support/encyclopedy/1c/1s77-all/1c77-scan/
16 8troyan8
 
01.11.13
16:17
(15) Да, все  ок.. Ничего не понимаю...
Создал новый докумет, в модуле формы просто прописал процедуру

Процедура ОбработкаВнешнегоСобытия(Источник,Событие,Данные)
Сообщить("Внешнее событие: Источник="+Источник+"  Событие="+Событие+"  
Данные="+Данные);
КонецПроцедуры

Открыл форму. Провел сканниром по штрих коду... Ноль реакции.. Уже и незнаю что может быть..
17 Стрелок
 
01.11.13
16:25
сканер то пищит?
18 Стрелок
 
01.11.13
16:26
галку "включать при старте" прставил?
19 8troyan8
 
01.11.13
16:26
Сканнер пищит галка поставлена
20 8troyan8
 
01.11.13
16:30
(14) COM1 но там можно их менять
21 Стрелок
 
01.11.13
16:30
покажи процедуру имнициализации сканера при начале работы
22 Стрелок
 
01.11.13
16:32
вот например моя

Процедура Подключение()
    Если ЗагрузитьВнешнююКомпоненту(КаталогИБ()+"\ExtDLL\Scaner1C.dll") = 0 Тогда
        Предупреждение("Неудачная попытка загрузить Scaner1C.dll (драйвер сканера ""Атол"")"+РазделительСтрок+РазделительСтрок+
        "Вы сможете пользоваться сканером, подключенным"+РазделительСтрок+
        "в разрыв клавиатуры только в обычном режиме.",1);
        глУстройствоВРазрывАтол=0;  
        Возврат;
    КонецЕсли;
    УстройствоВвода = СоздатьОбъект("AddIn.Scaner45");
    Если УстройствоВвода.УстройствоВключено=1 Тогда  
        глУстройствоВРазрывАтол=1;
        Предупреждение("Устройство ввода, подключенное в разрыв клавиатуры"+РазделительСтрок+
        "с помощью драйвера ""Атол"" успешно подключено и готово к работе",1);
    Иначе
        глУстройствоВРазрывАтол=0;
        Предупреждение("Устройство ввода, подключенное в разрыв клавиатуры через драйвер ""Атол"" не обнаружено!");
        УстройствоВвода.ПоказатьСтраницуСвойств ();
        Если УстройствоВвода.УстройствоВключено=1 Тогда
            глУстройствоВРазрывАтол=1;
            Предупреждение("Устройство ввода, подключенное в разрыв клавиатуры"+РазделительСтрок+
            "с помощью драйвера ""Атол"" успешно подключено и готово к работе",1);
        Иначе
            глУстройствоВРазрывАтол=0;
            Предупреждение("Устройство ввода, подключенное в разрыв клавиатуры через драйвер ""Атол"" не обнаружено!");
        КонецЕсли;    
    КонецЕсли;
КонецПроцедуры
23 Стрелок
 
01.11.13
16:32
УстройствоВвода = глобальная переменная
глУстройствоВРазрывАтол = глобальная переменная
24 8troyan8
 
01.11.13
17:17
(23)
Перем 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 не найдена");
КонецЕсли;
25 Стрелок
 
01.11.13
17:35
что это?