Передача штрихкода в форму в RDP Я в тупняке. Ситуация подробно. Есть ТСД на 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. Коллеги, какие мысли? |
Еще в догонку из того, что пробовал. 5) При запуске базы по RDP, но не с ТСД, а с ПК с клавиатурным сканером ШК и работе с той же формой, ШК вводится также правильно. |
(0) - Попробуй использовать драйвер АТОЛ Устройства ввода(бесплатный) - подключи ВК Scaner1C.dll, настрой работу с сканером ШК клавиатурным и обрабатывай внешнее событие в форме 1С, т.е. без использования поля ввода. Делал подобное, только на 1С 8.2 - все работает отлично. А что за модель терминала, случайно не Honeywell Dolphin 6000? |
2-afanasovmaksim >Casio IT-800. Да у меня вся логика интерактивной работы с формами для ТСД построена на обработке вводе данных в поле ввода. Это уже второй проект такого рода. Первый прекрасно работает в другом месте на пред.модели Casio IT-600. А второй делался на основе первого. Там до фига переписывать придется, очень уж не хочется. |
У меня была подобная проблема с Dolphin 6000, там тоже WM6.5 стоит. Решилась проблема следующим образом: Надо в настройках сканера переключить: - Запустить Пуск-PowerTools - EzConfig Utilites-ScanWedge - Перейти на папку Settings - Найти параметр Send Mode и дважды кликнуть по нему - Выбрать параметр Virtual Key (Safe) - нажать ок, затем File-Save. Поищи что-то подобное в своем терминале. |
4-afanasovmaksim >Это, полагаю, параметры настройки сканирования и передачи данных в ТСД ? А SendMode что-такое? Режим передачи данных штрихкода? Параметр VirtualKey - типа передавать ШК "в клавиатуру"? В Casio своя приблуда для подобных настроек. Но ключевые моменты вроде такие же - вывод ШК "в клавиатуру". Да и самое главное - ТСД передает ШК в программу вроде как правильно... |
(5) - Да, это параметры настройки самого сканера в ТСД, по умолчанию у меня стояло "Virtual Key", а не "Virtual Key (Safe)" и каким-то образом символы перекодировались не правильно при передачи из ТСД в сессию RDP. У меня была такая же проблема, но только с штрихкодом типа CODE39/CODE128 на WinServer2008R2 - передавал вообще левые символы. Поставщик терминала кто? ScanCity? |
6-afanasovmaksim >В Casio чуть другие варианты режима передачи ШК: - Output Keyboard - Output OBR Buffer - Output Clipboard Да и повторюсь - "портятся" только некоторые штрихкоды. Другие ШК этого же формата (EAN13) передаются нормально. Насчет СканСити точно не скажу, ТСД приобретали в ОптЛайн, а они и со СканСити работают. Для DOS bath ТСД это сразу определяется по прошивке, а здесь оригинальная от Casio. |
опечатка - "DOS batch" |
Интересно. Изменил тип поля ввода на Число - вводит нормально. В поле ввода типа Строка - теряется символ. |
Хрень какая-то. В поле ввода типов Строка или Число вводит "через раз" - то правильно, то нет. В поле ввода типа Строка многострочная - всегда правильно. Дым уже из мозга идет. |
(10) - Может быть на сервере какие-то программы установленны, которые работают с клавиатурой, типа Punto Switcher и перехватывают ввод с клавиатуры? Врядли, но все же))) |
При работе со сканером в разрыв клавиатуры не нужны драйверы. Была аналогичная проблема при работе с драйвером Атолла и обработкой ожидания. Все выкинул и вставил поле. И забыл ) |
еще могут быть проблемы со связью |
13-USSR >Не, вряд-ли. Пробовал и в локалке по WiFi, и удаленно. В общем причину так и не установил доподлинно, но эффект удалось забороть методом бубна. В настройках обработки данного формата ШК в ТСД изменил режим преобразования на другой вариант - ШК стал дополняться ведущими нулями, но зато само значение стало почему-то передается стабильно без искажений. Нули отрезаю. Но, блин, все равно, природа проблемы осталась непонятной. |
Текущее время: 10:48. Часовой пояс GMT +3. |