Добрый день.
Постараюсь объяснить суть проблемы.
Как все происходит:
- Кассир штрахуется бейджем на кассе, открывается окно для работы с товаром.
- Кассир штрихует первые две позиции, первая позиция проходит хорошо и выходит на экран, вторая же позиция - штрахуется, Но на экран не выходит. Хотя сканер, дает сигнал что товар проштриховался, И второй товар который не появился на экране, появится только после того когда кассир проштрихуется своим бейджем! Естественно, после бейджа, выходит дополнительное окно, которое говорит что при открытом чеке менять пользователя запрещено.
P.s: Такое происходит только тогда, когда кассир быстро штрихует товар на кассе, если же штрихануть первый, подождать пока он появится на экране и потом штрихануть второй, такого не произойдет. Но все же хотелось бы понять почему, такое происходит и исправить данную ситуацию.
Такое происходит только тогда, когда кассир быстро штрихует товар на кассе
Чтобы избежать этой ситуации надо определенным образом настроить сканер. Инструкцию выслал на e-mail. Эта настройка позволит АРМ'у на аппаратном уровне (сигналами COM-порта) управлять готовностью сканера.
Хорошо. Но такая инструкция у меня есть, настройки все стоят правильно. Я понимаю что в данном случае проблема находится не в программе, Хотелось бы услышать ваше мнение, что еще может быть.
USB virtual COM каким образом в этом сканере организован? Внешним устройством? Просто могут быть USB-COM адаптеры, которые эти сигналы (RTS/CTS) не поддерживают. Есть возможность подключить его к обычному COM-порту и проверить эту ситуацию? Обновите АРМ до последней версии (для чистоты эксперимента).
Вообщем, проблема скорее всего в программе (точно утверждать не могу). Проверил все настройки сканера, менял сканер с другим, ничего не помогает. В данный момент не могу обновить до реализа 1,3,5, так как там включена обработка по штучному и весовому товару, и при считывании штрих кода у меня выскакивает окно - введите кол-во. Происходит потому что моя номенклатурная база, в поле тип установлено значение - вес. Программист 1с в отпуске, добавить выгрузку с полем тип, пока нет возможности. Пока тупик
Интереса ради, железо какое? проц, озу?
Поставил кассы на intel i3, 4гига ОЗУ 1600MHz, HDD WD с 10000prn SATA 6Gb/s, радости придела нет, всё летает без задержек, на кассе установлено АРМКассира+ДисконтМагазин
Ранее на Intel Atom 525 штрих код я успевал прочитать на экране полностью после считывания, теперь я его даже не вижу ))))
Андрей пишет:
Intel Celeron E1500 2.2GHz, 1Gb, WD1600AAJS
а какая ОС установлена? Win7,WinXP? или может Embided какой нить?
в справочнике товаров какое кол-во элементов?
Просто примите за внимание тот факт что в системе всё в совокупности влияет на производительность, винты,ОЗУ,проц + скорость обмена на RS232. найдите узкое место, начните с проверки настройки COM
Можно попробовать через Диспетчер задач проверить производительность системы во время считывания ШК.
OS Windows XP SP3, около 50000 номенклатурных позиций, Кстате штрихкодер на USB эммулирован в COM. На самом штрихкодере уже перепробовал все настройки (задержка и т.д), Систему чистил, на компе кроме АРМ не стоит не каких доп. программ. Единственное система не переустанавливалась уже около 1 года, возможно пора, но там заморочка с ЭКЛЗ, настраивать долго)
Андрей пишет:
заморочка с ЭКЛЗ, настраивать долго)
не понятно что бы это могло значить, кажется все настройки ЭКЛЗ хранятся в памяти ФР(кассы)
p/s еще рекомендую почистить саму АРМ, в общем если у вас БД АРМ кассира раотает в режиме без документов и касса работает в автономном режиме, то очистить все продажи, предварительно сделайте бэкап файла "имяфайлабазы.gdb". После удаления продаж воспользуйтесь утилитой dbrepair. дважды. ))) там вроде первый раз прогоняешь она базу лечит при наличии ошибок, устраняет их, и потом если второй раз её запустить она мусор чистит.
50к товаров, предпалагаю что у вас высокий показатель среднего количества чеков в сутки?
если же штрихануть первый, подождать пока он появится на экране и потом штрихануть второй, такого не произойдет.
"подождать пока он появится экране", в смысле подождать пока покупка не добавиться в чек?
Как раз для этого предусмотрен режим "RTS/CTS Handshaking". Его надо включать в сканере. Когда АРМ получает штрихк-код, первым делом он блокирует сканер путем установки на COM-порту аппаратного сигнала RTS.
Если в сканере включен вышеназванный режим, сканер, получив этот сигнал, блокируется. И остается заблокированным до момента, пока АРМ не снимет блокировку, не уберет с порта сигнал RTS.
А делает он это только после полной обработки текущего штрих-кода (когда произведен поиск товара и покупка добавлена в чек, или не добавлена в зависимости от ситуации). Поэтому кассир физически не сможет прочитать следующий ШК пока сканер заблокирован (луч просто не будет включаться).
Поэтому я бы рекомендовал первым делом убедиться, что этот режим в данном сканере включен и нормально работает. Для этого достаточно считать штрих-код, которого нет в базе. АРМ при этом выведет сообщение "Товар не найден". В этот момент сканер должен быть заблокирован (RTS поднят). Блокировка снимается только после того как кассир закроет сообщение. Если в этот момент сканер позволяет считывать, значит режим не работает.
Тут есть один момент. После блокировки сканер может позволить считать еще один ШК, т.к. для этого у него предусмотрен буфер, он "осядет" в буфере, но реально передан не будет (будет автоматически передан сразу после разблокировки).
Но если фразой "подождать пока он появится экране" вы имеете ввиду, что с момента срабатывания луча до поступления посылки в АРМ (то есть фактически поступления посылки на COM-порт) есть реально заметная задержка, за которую кассир может еще раз щелкнуть сканером, то этого уже лежит в плоскости настройки/работы самого сканера (учитывая что сканер сам же и является COM-портом), имея конечно ввиду что USB-порт ПК исправен и не создает никаких задержек. Возьмите любой софт для работы с COM-портом, можно даже воспользоваться утилитой HyperTerminal из состава Windows. Подключитесь на порт сканера и посмотрите, сколько времени проходит от момента считывания, до момента его поступления на порт? Просканируйте быстро (так как вы рассказывали) два-три штрих-кода. Все ли они полностью и своевременно придут на порт?
Александр Солдатов пишет:
" подождать пока он появится экране "
Кстати да, если после считывания ШК, ШК появляется на экране с задержкой - то это скорее всего сканер (может быть настройки помогут, а может и нет), а вот если после считывания ШК он появился быстро на экране но в буфер чека товар добавляется с задержкой то тут всё таки профилактика базы может немного помочь и замена на более мощное железо. Из опыта говорю прям нарадоваться не могу когда поставили нормальные железки. никаких задержек, никаких лагов. в общем полёт отличный.
Настройки сканера мне не помогают. В другом магазине (наш же магазин) стоят такие же сканеры, но они подключены через COM напрямую через доп.питание, у меня USB эммуляция. У них таких проблем нету.
Как происходит у меня:
Штрихую несуществующий штрих код, появляется табличка, штрихую его еще раз, сканер дает сигнал (хоть 3-4 раза его штрихуешь, они пишит) табличка не обновляется, стоит на первой табличке, пока не нажмешь ввод следующая табличка не появляется, появится следующая только после нажатия ввода.
В другом же магазине (компьютеры такие же, АРМ тот же, версия та же):
Когда штрихуешь неизвестный штрих код несколько раз табличка с сообщение обновляется, т.е появляется первая, вторая, третья. И потом уже нужно нажимать ввод чтобы все таблички исчезли!