Рубрики
Типовые заявки

Счет еще не распечатан. Не удается закрыть стол

Счет еще не распечатан, чек не может быть закрыт

Данная проблема встречается на предприятиях с официантским обслуживанием в режиме «ресторан», где гостю печатается счет на отдельном принтере. Данная проблема выглядит так:

Для начала нужно выяснить что привело к такой ситуации.

Софтовые проблемы. Проверка конфигурации и настроек ПО.

Проверяем какие задания «копятся» в таблице billprint

Видим, что зависло задание которое относится к станции StationID=1
Открываем Менеджер и находим станцию с ID=1, в нашем случае это касса. Напомним, что ID станции задается в файле front.cfg
Находим станцию, у которой StationID=1

Нашли станцию на которой должен был распечататься счет, но по какой-то причине не распечатался.
Возможные причины:

Не запущен спулер счетов.

Проверяем на всякий случай, есть ли автозапуск bspool.exe в автозапуске.

Смотрим файл spoolers.bat
REM — запуск спулера выключен
Запуск спулера bspool.exe включен

Убедились, что спулер ДОЛЖЕН запускаться в автозапуске (spoolers.bat), а на самом деле он не запущен, то принудительно запускаем спулер bspool.exe
Смотрим помогло/не помогло.

Спулер запущен, но не отрабатывает задания на печать.

Перезапустить спулер (бывают случаи, что «залип») или даже перегрузить кассу.
Смотрим помогло/не помогло.

Если не помогло, возможно не верно сконфигурирован spooler.cfg. Проверяем указан ли наш StationID=1 в spooler.cfg (раздел [BillMode])там где запущен bspool.exe

Раздел [BillMode]
Проверяем, что наш StationID указан в параметре Mode.
Mode=All — означает что спулер обрабатывает очередь печати со всех станций, включая наш StationID

Если видим, что наш StationID не обрабатывается, то исправляем файл spooler.cfg. Перезапускаем спулер bspool.exe.
Смотрим помогло/не помогло.

Нормальное поведение спулера bspool.exe выглядит примерно так:

Аппаратные проблемы.

Спулер запущен, сконфигурирован правильно, но печать не работает.

  • принтер выключен, завис
  • с кабелем по которому он подключен (отошел, плохой контакт)
  • cетевая проблема, если принтер подключен по Ethernet
  • проблема с портом на терминале (заглючила Windows)

Косвенный признак того, что принтер «выпал» из системы — он перестал определяться в Windows:

Вариант 1.
Проблема, вызванная перевтыканием кабеля или чем-то подобным. Можно попробовать сделать следующее:

Вариант 2.
Если принтер подключен по USB, а его перевоткнули в гнездо, пока висели задания в очереди печати, то мы увидим что принтер подключен на USB001, а у нас есть в списке ещё USB002

Вариант 3
Если принтер подключен по IP, запустить ping и проверить соединение со всех возможных концов.

Определяем IP принтера.

Вариант 4.
Если принтер подключен по COM-порту, то он может выходить из строя в самой системе. Подобное бывает из-за обновления Windows или от электро-наводки на порт.
Для устранения данной проблемы запускаем C:\HARDWARE\show_com_driver.bat
и делаем выкл-вкл на порте.
Если этого не хватило, удаляем порт БЕЗ галочки на удаление драйверов и перезагружаем полностью кассу.

Если ничего не помогло, то нужна помощь персонала:

  • Попросить персонал, проверить состояние принтера. Выключить/включить.
  • Распечатать селф-тест. Обычно Выключить питание, зажать кнопку промотки бумаги и включить принтер.
  • Проверить провод, разъем, возможно отошел.
  • Если принтер подключен по Ethernet перегрузить хаб или другие сетевые устройства.
  • Перезагрузить компьютер

Смотрим помогло/не помогло.
Если не помогло — назначаем выезд инженера.


Иногда для быстрого решения проблемы можно почистить очередь печати для конкретного счет. Но это скорее всего будет временное решение и лучше искать причину (см выше)

Как почистить очередь печати.

C:\>db2 select * from billprint

BILLPRINTID BILLID      STATIONID   TIME                 USERID      OPERATION   STATUS
----------- ----------- ----------- -------------------- ----------- ----------- -----------
          1         188           1 2021-08-12 17:49:59            1           8           -

  1 записей выбрано.

Наш BillID=188

Удаляем записи в таблице Billprint для данного BillID

C:\>db2 delete from billprint where billid=188
DB20000I  Команда SQL выполнена успешно.

После этого можно закрывать стол

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *