Однозначно определить сканер штрихкода #466482


#0 by Пуд
Здравствуйте! Стоит задача - при сканировании одним сканером ШК - создавать документ Отчет производства, другим - Перемещение товаров и услуг. Сканеры жестко будут привязаны к этим функциям. Только вот не могу понять - как мне получить уникальный идентификатор сканера во "ВнешнемСобытии",чтобы определить - что делать? Помогите идеей!)
#1 by Нуф-Нуф
не надо получать уникальный идентификатор сканера. нужно получать номер логического устройства. и от него скакать
#2 by Пуд
А как его получить?
#3 by Пуд
Во "внешнемсобытии" ничего подобного и близко нет.Драйвер - сканопос.
#4 by Нуф-Нуф
конфига какая
#5 by dva1c
Надо задать лог. номер у сканера. Делается это в проге (драйвере) сканера (Атол и т.д.)
#6 by Пуд
УПП, но древняя - 1.2.5.1)
#7 by Пуд
Ну задать задам,к примеру - а считать в 1с его как?Вот это мне не понятно:)
#8 by Пуд
Может префикс для них  разный поставить?
#9 by dva1c
А при обращении к сканеру разве нет функции/метода получения лог. номера?
#10 by Пуд
Эм...занимаюсь первый раз этим. В УПП обработка СерверТО - там нет,вроде...
#11 by dva1c
Значит надо копать СерверТО. Связываться с разработчиками, читать форумы разрабов и т.п.
#12 by Пуд
Нуф-Нуф...ты где???))) Форумы разрабов...это хорошо)А где они?Сервер ТО копаю...пока безуспешно - поэтому и обратился к коллективному разуму)
#13 by Пуд
Ну кто-нибудь...подскажите!
#14 by Пуд
ап
#15 by Пуд
Все,нашел. Если кому понадобится - Функция ОбработатьВнешнееСобытие(Событие, Данные, Клиент) в СерверТО. Затупил я что-то)
#16 by big
Надо смотреть в свойствах самого драйвера, а не на сервереТО. Строка в никуа не даст жизни сабжу в . Убирай дравер СканОпос и ставь бесплатный от Атол-а или штрих-м.
#17 by NikVars
Если сканер подключен, и ддл зарегина, то что мешает тебе напрямую обращаться к сканеру из любой нужной тебе процедуры?!    Если ЗагрузитьВнешнююКомпоненту("Scaner1C.DLL")<>0    Тогда        Сканер = СоздатьОбъект("AddIn.Scaner45"); // Создание объекта сканера из внешней компоненты        Сканер.AutoDisable = 1;        Сканер.DataEventEnabled = 1;        Форма.РезультатПодключенияСканера.Заголовок("Внешняя компонента сканера штрих-кода успешно загружена. Сканирование и регистрация документов возможно.");    Иначе        Форма.РезультатПодключенияСканера.Заголовок("Внешняя компонента сканера штрих-кода - Scaner1C.DLL не найдена!!! Сканирование не возможно!!!");;    КонецЕсли; Процедура ОбработкаВнешнегоСобытия (Источник, Событие, Данные);    Если Найти(Данные,"*")=0 Тогда        Данные=Сканер.ScanData; //Например ВОТ ТАК?!    КонецЕсли;        Форма.ДанныеСоСканера.Заголовок(Данные);    //Сообщить("ДанныеСоСканера="+Данные);    //Вырезаем тип документа: 0-акт, 1- сф    Нашли=Найти(Данные,"*");//Нашли первую звездочку    ВидДокумента=Лев(Данные,Нашли-1); Данные=Прав(Данные,СтрДлина(Данные)-Нашли);    //Номер документа    Нашли=Найти(Данные,"*"); НомерДокумента=Лев(Данные,Нашли-1);    Данные=Прав(Данные,СтрДлина(Данные)-Нашли);    //Дата документа Дата    Нашли=Найти(Данные,"*"); ДатаДокумента=Дата(Лев(Данные,Нашли-1));    Данные=Прав(Данные,СтрДлина(Данные)-Нашли);    //Код контрагента    Нашли=Найти(Данные,"*"); КодКонтрагента=Лев(Данные,Нашли-1);    Данные=Прав(Данные,СтрДлина(Данные)-Нашли); КонецПроцедуры
#18 by big
у автора другой драйвер, не путай его. для такого разбора строки надо было хорошую траву курить :)))
#19 by Fragster
юзайте клавиатурные сканеры с разным префиксом... а вообще - сама идея мне не очень понятна
#20 by Fragster
или не клавиатурные, но тоже с разным префиксом
#21 by big
+ интересно, если в номере дока или в коде контрагента будет префикс с русскими буквами, взлетит? клавитаурный тут не при чем и префикс тоже
#22 by big
+ настроить суффикс на сканере - это да.
#23 by Fragster
а чем префикс не устраивает? а клавиатурные действительно не причем, просто гемора меньше - дрова не нужны, работают везде и всегда....
#24 by big
Согласен - суффикс-префикс это на любителя. А как в клавиатурном событие ловить? Без изменения конфы?
#25 by Fragster
просто в клавиатурном у меня на разные типы штрихкодов разные префиксы - f7 и f8 - соответственно - в форме нажимаются разные кнопки - по выбору документа/номенклатуры/прочего
#26 by Fragster
у меня внешняя обработка, на кнопки повешены хоткеи, которые префиксами у сканера
#27 by big
(25,26) у-у-у... Т.е. в обычной конфе не работает. Довольно уныло конечно же.
#28 by Fragster
почему? лепишь внешнюю обработку для нужных вещей... в любом случае у кассира/оператора не должно быть доступа к документа и должен быть свой интерфейс
#29 by Fragster
*документам
#30 by Fragster
опять же, своей обработкой можно реализовать то, чего нет в стандарте (и не будет, наверное) - отмена позиций по истории, выбор из списка с картинками... да мало ли чего можно навертеть
#31 by big
Согласен, но всё то же самое и многое другое делается с использованием драйвера. Допустим, при использовании на рабочем месте нескольких устройств: сканер, ридер, проксимити и т.п.
#32 by NikVars
Ты нашел там ошибку?! Где????
#33 by big
Я увидел более простое решение
#34 by NikVars
А зачем?!
#35 by big
просто так
#36 by NikVars
А-а-а-а! :))) Молоток!
#37 by Пуд
Ого,сколько написали))) Спасибо! Интересная информация к размышлению Почему же не даст жизни? По уникальному ИД можно найти модель оборудования в РС ТорговоеОборудование. То есть однозначно определить сканер. А если поменять на Сканер=СоздатьОбъект("AddIn.Scanner") - у меня будет работать? Вот с префиксами не разобрался - поставил разные префиксы,но почему-то при сканировании в тестировании ТО - префикс не отображается.
#38 by NikVars
Спроси у , вдруг опять трава не та. :)))
#39 by Пуд
:-P
#40 by big
1. потому-что в этой строке передается только тип устройства, а не сам объект драйвера. А вот от кого именно пришло событие надо смотреть уже в свойствах драйвера, где в параметрах логического устройства (ЛУ) будут выставлены некие "уникальные" параметры. Зачастую достаточно знать номер ЛУ, вид устройства (сканер ШК, проксимити или карт-ридер) или же их сочетание. 2. Если ты установишь драйвер от Атола, то из первая часть будет работать, а вот вторую повторять не советую. Трава у вас явно одинаковая, вот только ты её дольше куришь :))
#41 by Киборг
А может лучше настроить при первом использовании (в открытом документе), привязав настройку к пользователю-месту?
#42 by NikVars
Или каждому сканеру - свой драйвер или через попытку-исключение... Хорошая задачка, есть где играться при наличии времени
#43 by big
Ребята, какие игры?? Тут делов - на 2 часа работы (с перекуром). :))
#44 by NikVars
Везет тебе с твоими 2-мя часами...
#45 by Пуд
Попытка -исключение то как поможет?  Вот это место не понял. Как крайний вариант,если трава big не пойдет))
#46 by Пуд
Я не тупой))Просто первый раз делаю)
#47 by Пуд
Атол стал платный...а у нас еще и терминал А штрих-м только для 7-ки,или я что-то не понял? Что мне остается...Опос номер ЛУ не позволяет ставить.
#48 by big
вот здесь возьми
#49 by Пуд
Спасибо большое!)
#50 by Torquader
Можно ещё напрямую из порта читать данные (VK232 по-мойму). Тогда будет ясно, что сосканировали.
#51 by Пуд
Внешняя компонента? А с дллкой в что делать?Зарегистрировать и все?А драйвер поставить от опоса?)
#52 by NikVars
Если драйверы разные, то попыткой читаем одни данные, исключением - другие.
#53 by Пуд
Вот изврат)
#54 by big
в и есть драйвер :)))  Один раз запускаешь с правами админа и всё. Опос в топку навсегда.
#55 by Пуд
)))ааа,понятно,спасибо)
#56 by Пуд
Не регистрируется библиотека((( Пишет - библиотека была загружена,но найти точку входа для DLLInstall не удалось.Зарегистрировать этот файл невозможно...
#57 by Torquader
Тогда клади её в директорию 1С и загружай, как внешнюю компоненту - первый раз в правами админа.
#58 by Пуд
Понятно, вроде получилось.
Тэги: Админ
Ответить:
Комментарии доступны только авторизированным пользователям

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