Имя: Пароль:
1C
1С v8
Сканирование штрихкода на ТСД
0 askharlov
 
18.08.17
14:55
Добрый день, всем!

Разрабатываю мобильное приложение на 1С.
Терминал сбора данных Symbol MC3200
Версия платформы 8.3.9.2309
Версия мобильной платформы 8.3.10.51

Столкнулся с проблемой:
Сканирую штрихкод в поле ввода (тип строка)
Вижу как на долю секунды в поле ввода появляется цифры штрихкода и после этого поле ввода пустое.

ЧЯДНТ? встречал кто-нибудь еще такие баги?

Доп.сведения:
Ставлю точку останова в процедурах ОкончаниеВводаТекста и в АвтоПодбор.
В обоих процедурах Параметр Текст = "" и ПараметрыПолученияДанных.ТекстПоиска = "".
Т.е. когда программа стоит на точке останова, то наблюдадаю ситуацию, что на ТСД в поле ввода цифры штрихкода есть, а в событиях - пусто. Соответственно при продолжении отладки пропадает штрихкод и в поле ввода.

Если поле ввода заполняю руками, а не сканером штрихкода, тогда все работает. Поле заполняется.
1 askharlov
 
18.08.17
15:14
Иногда при тех же настройках (ничего не меняю) подхватывает отсканированный текст и он не исчезает из поля ввода.
2 askharlov
 
18.08.17
15:15
но крайне редко
3 aleksonic
 
18.08.17
15:40
а в текстовое поле не сканировал, что там получается?
4 askharlov
 
18.08.17
15:44
сканирую в поле ввода с типом строка.
Если на сканере ставлю "Отправлять Энтер", то получается такой трабл как описал. Если отключаю отправку Энтера, то получаю нормальный текст в поле ввода, но тогда необходимо ручками нажать Энтер на клавиатуре ТСД чтоб возникло ОкончаниеВводаТекста
5 aleksonic
 
18.08.17
15:50
сосканируй в WordPad или многострочное текстовое поле, там может еще какой символ есть до Энтер.
6 askharlov
 
21.08.17
17:53
Отсканировал в многострочное текстовое поле - в конце только символ перевода строки, ничего лишнего нету
7 Злопчинский
 
21.08.17
17:57
(6) "Если поле ввода заполняю руками"
- заполнил руками, нажал энтер - что получилось?
8 aleksonic
 
21.08.17
18:01
Может событие или процедура не та выбрана в свойствах поля.
9 France
 
21.08.17
18:04
а подключения " в СОМ"? в "разрыв клавиатуры"?.. тут собака порыта..
10 askharlov
 
21.08.17
18:12
(7) Если заполнил руками и нажал Энтер, то в точке останова в событии "ОкончаниеВводаТекста в параметре "Текст" вижу введенный мною текст
(8) выбрана, так как при ручном вводе попадает в нее.
(9) в разрыв клавиатуры, возможности включить в СОМ в настройках ТСД не увидел.
11 France
 
21.08.17
18:18
если в разрыв клавиатуры - а переключение регистра не помогает? - было что то такое)).. и еще, настройки посмотреть - Хоней подключал, проблемы были с заводскими настройками. Нашел нужный штрих-код на сайте производителя, отсканировал - вуаля и профит.
12 askharlov
 
21.08.17
18:29
переключение регистра не помогает.
Деле так:
1. Ввел в поле ввода "123". Нажал Энтер, 1С его зафиксировала.
2. Ставлю точку останова в ОкончаниеВводаТекста. Сканирую штрихкод. Останавливается на точке останова. В поле ввода на ТСД вижу отсканированный штрихкод, а в параметре "Текст" = "". Когда продолжаю отладку, то пропадает текст в поле ввода.
И еще один прикол: при многократном сканировании иногда подхватывает штрихкод и оставляет его в поле ввода.
Тестил на 2-х разных Мотороловских ТСД Symbol. Поведение одинаковое.
13 Злопчинский
 
21.08.17
20:45
Пока фокус с поля ввода не ушёл - ввод не окончен. Забей на всякий события. Смотри что стоит после ввода текста именно когда нажал энтер и когда фокус ушёл на другой активный элемент. Смотри какая процедура отрабатывает при окончании редактирования поля
Открой в 1ске простой новый текст
Отсканируй туда
Если нормально и курсор скскунул на след строку - значитисксн отрабатывает нормально в разрыв клавы.
Смотри какой драйвер - отключить его использование в 1с и обрабатывай ввод с клпвы штат но
Определить как у тебя обслуживается сканер - каким либо драйвером или лнтвсеиаки работает именно как клава
14 Woldemar177
 
21.08.17
20:49
Сбрось настройки сканера на заводские. Просканируй сканер на соответствующий штрих код. Лучше если сканер после считывания не будет ничего передавать в 1с, ни возврат каретки ни перевод строки.
15 Woldemar177
 
21.08.17
20:50
+ Передаст только штрих код
16 Злопчинский
 
21.08.17
21:43
сорри, не учел что речь идет про мобильное приложение.
пост (13) считать неадекватным ;-)
17 askharlov
 
22.08.17
09:18
(14) Сбросил настройки, если сканер ничего после штрихкода не передает, то текст в поле ввода появляется, но  надо рукой нажать Энтер.
Если передаю Энтер в конце штрихкода, то в браузера все работает - начинает искать страницу, а в 1с текст пропадает, как описано выше
18 aleksonic
 
22.08.17
09:27
Попробуй другое событие:
использую поле ввода ШтрихКод
Процедура ШтрихКодПриИзменении(Элемент)


..............

//в самом конце
    Элемент.Значение = "";
    ЭтаФорма.ТекущийЭлемент = Элемент;
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший