К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

Передача штрихкода в форму в RDP

0 - 17.11.2012 - 12:07
Я в тупняке.
Ситуация подробно.
Есть ТСД на WinMobile 6.5, работает по WiFi через RDP с базой v7.
(Win2008 Server x64, v7.27)
Передача штрихкодов идет через клавиатурный ввод.
В качестве префикса сканера ШК используется <CR>.
В форме для работы с ТСД предусмотрен контрол (тип Строка, длина 32).
Так вот, при сканировании/вводе некоторых штрихкодов в контрол происходит
непонятная вещь - например, значение "4810438008884" вводится как "481043800884"
(теряется один из символов "8").
Другие же штрихкоды (EAN8/EAN13) вводятся без искажений.
Что пробовал и выяснил:
1) При сканировании ШК утилитой Barcode-Demo самого ТСД ШК определяется правильно.
2) При сканировании ШК в RDP в notepad (не в форму 1С) ШК определяется правильно.
3) Если контрол на форме 1С сделать "многострочным" сканирует правильно !!!
4) На другом сервере (Win2003) в копии этой же базы сканирует правильно.
Вроде бы напрашиваются такие выводы:
1) Сам ТСД сканирует и передает в сеанс RDP ШК правильно.
2) Проблема происходит только на Win2008 и только при вводе ШК в "однострочный" контрол.
И на этом моя фантазия иссякает.
Из ВК используются v7plus, DialMail и FormEx.
Непосредственно в модуле формы только FormEx.

Коллеги, какие мысли?



1 - 17.11.2012 - 12:10
Еще в догонку из того, что пробовал.
5) При запуске базы по RDP, но не с ТСД, а с ПК с клавиатурным сканером ШК и работе с той же формой, ШК вводится также правильно.
Гость
2 - 17.11.2012 - 12:23
(0) - Попробуй использовать драйвер АТОЛ Устройства ввода(бесплатный) - подключи ВК Scaner1C.dll, настрой работу с сканером ШК клавиатурным и обрабатывай внешнее событие в форме 1С, т.е. без использования поля ввода. Делал подобное, только на 1С 8.2 - все работает отлично. А что за модель терминала, случайно не Honeywell Dolphin 6000?
3 - 17.11.2012 - 12:46
2-afanasovmaksim >Casio IT-800.
Да у меня вся логика интерактивной работы с формами для ТСД построена на обработке вводе данных в поле ввода.
Это уже второй проект такого рода. Первый прекрасно работает в другом месте на пред.модели Casio IT-600.
А второй делался на основе первого. Там до фига переписывать придется, очень уж не хочется.
Гость
4 - 17.11.2012 - 12:49
У меня была подобная проблема с Dolphin 6000, там тоже WM6.5 стоит. Решилась проблема следующим образом:

Надо в настройках сканера переключить:
- Запустить Пуск-PowerTools - EzConfig Utilites-ScanWedge
- Перейти на папку Settings
- Найти параметр Send Mode и дважды кликнуть по нему
- Выбрать параметр Virtual Key (Safe)
- нажать ок, затем File-Save.

Поищи что-то подобное в своем терминале.
5 - 17.11.2012 - 13:02
4-afanasovmaksim >Это, полагаю, параметры настройки сканирования и передачи данных в ТСД ?
А SendMode что-такое? Режим передачи данных штрихкода?
Параметр VirtualKey - типа передавать ШК "в клавиатуру"?
В Casio своя приблуда для подобных настроек.
Но ключевые моменты вроде такие же - вывод ШК "в клавиатуру".
Да и самое главное - ТСД передает ШК в программу вроде как правильно...
Гость
6 - 17.11.2012 - 13:10
(5) - Да, это параметры настройки самого сканера в ТСД, по умолчанию у меня стояло "Virtual Key", а не "Virtual Key (Safe)" и каким-то образом символы перекодировались не правильно при передачи из ТСД в сессию RDP. У меня была такая же проблема, но только с штрихкодом типа CODE39/CODE128 на WinServer2008R2 - передавал вообще левые символы. Поставщик терминала кто? ScanCity?
7 - 17.11.2012 - 13:23
6-afanasovmaksim >В Casio чуть другие варианты режима передачи ШК:
- Output Keyboard
- Output OBR Buffer
- Output Clipboard
Да и повторюсь - "портятся" только некоторые штрихкоды. Другие ШК этого же формата (EAN13) передаются нормально.
Насчет СканСити точно не скажу, ТСД приобретали в ОптЛайн, а они и со СканСити работают. Для DOS bath ТСД это сразу определяется по прошивке, а здесь оригинальная от Casio.
8 - 17.11.2012 - 13:24
опечатка - "DOS batch"
9 - 17.11.2012 - 13:31
Интересно. Изменил тип поля ввода на Число - вводит нормально.
В поле ввода типа Строка - теряется символ.
10 - 17.11.2012 - 13:46
Хрень какая-то.
В поле ввода типов Строка или Число вводит "через раз" - то правильно, то нет.
В поле ввода типа Строка многострочная - всегда правильно.
Дым уже из мозга идет.
Гость
11 - 17.11.2012 - 13:57
(10) - Может быть на сервере какие-то программы установленны, которые работают с клавиатурой, типа Punto Switcher и перехватывают ввод с клавиатуры? Врядли, но все же)))
12 - 17.11.2012 - 21:11
При работе со сканером в разрыв клавиатуры не нужны драйверы. Была аналогичная проблема при работе с драйвером Атолла и обработкой ожидания. Все выкинул и вставил поле. И забыл )
13 - 17.11.2012 - 21:11
еще могут быть проблемы со связью
14 - 17.11.2012 - 21:49
13-USSR >Не, вряд-ли. Пробовал и в локалке по WiFi, и удаленно.
В общем причину так и не установил доподлинно, но эффект удалось забороть методом бубна. В настройках обработки данного формата ШК в ТСД изменил режим преобразования на другой вариант - ШК стал дополняться ведущими нулями, но зато само значение стало почему-то передается стабильно без искажений. Нули отрезаю.
Но, блин, все равно, природа проблемы осталась непонятной.


К списку вопросов
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск




Copyright ©, Все права защищены