Фантомные сканы с задержкой

1. METAL 302 30.12.24 16:45 Сейчас в теме
Добрый день! С наступающим!

А не подскажете - в чём может быть причина такого поведения:
Розница ред. 1 , старая, scanopos тоже старый, не знаю есть ли новый... Иногда на некоторых кассах при скане во внешнее событие приходит скан прошлого товара. Типа сканировали колу. Потом сканируют журнал, а в чек попадает кола. Потом сканируют книгу, а в чек попадает журнал. Потом сканируют жевачку, а в чек попадает книга.

В отладчике видно что на вход метода ВнешнееСобытие уже "приходят" неправильные данные

Решается перезапуском 1С

В чём может быть причина и что можно попробовать в качестве решения??
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Timur.V 81 30.12.24 18:37 Сейчас в теме
(1) Кэширование данных.

К сожалению могу написать только догадки т.к. у меня нет оборудования.

https://its.1c.ru/db/metod8dev/content/1806/hdoc

Методы
ОчиститьВход (ClearInput)
ОчиститьВыход (ClearOutput)

Вы как программист, ставьте точки остановки и ищите начало проблемы.
Переберите настройки сканера, что там можно настроить.
Сбрасывайте кэш вручную, выше указал два метода. (пишем код на 1с, вставляем по окончании работы сканера, или перед началом).

Если конфигурация типовая, доработайте её расширением, куда вставите этот код.
Или скачайте обновления для конфигурации и для сканера, если они есть.

Проблема в программе 1с или драйвере, нужно поискать где именно.
3. Timur.V 81 30.12.24 18:49 Сейчас в теме
(1) Примерно такой код?


Процедура КнопкаВыполнитьНажатие(Кнопка)

  ОбъектДрайвер.Занять(1);
 
КонецПроцедуры

Процедура ПриОткрытии()
 
 ПутьКДрайверу = "C:\Program Files (x86)\1C\1C Barcode scanner\8_1_6_1\ScanOPOS.dll";
 
 Попытка
  ЗагрузитьВнешнююКомпоненту(ПутьКДрайверу);
  ОбъектДрайвер = Новый("AddIn.Scanner");
  ОбъектДрайвер.Open(1);
  ОбъектДрайвер.ИмяСобытия = "BarCodeValue";
  ОбъектДрайвер.ОчиститьВход();
  ОбъектДрайвер.ОчиститьВыход();
  ОбъектДрайвер.АвтоВыключение = 0;
  ОбъектДрайвер.ПосылкаДанных = 1;
  ОбъектДрайвер.УстройствоВключено = 1;
  ОбъектДрайвер.ЗапрещениеСобытий = 0;
  ОбъектДрайвер.Порт = 4;
  ОбъектДрайвер.СтопБит = 1;
  ОбъектДрайвер.БитДанных = 8;
  ОбъектДрайвер.Скорость = 9600;
  
 Исключение
  Сообщить("Не удалось подключить сканер");
 КонецПопытки;
   
КонецПроцедуры

Процедура ОсновныеДействияФормыТестУстройства(Кнопка)
 
 ОбъектДрайвер.ТестУстройства();
 
КонецПроцедуры

Процедура ВнешнееСобытие(Источник, Событие, Данные)
 
 Сообщить(Данные)
 
КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот