← На главную
При кассовом обслуживании покупателей в программе 1С:Розница кассиры могут столкнуться с неприятной ситуацией: кассовый аппарат (например, Вики Принт 57) начинает работу корректно, но через некоторое время чеки перестают пробиваться. Программа выводит системное сообщение: «При выполнении операции произошла ошибка: невозможно открыть порт». После перезагрузки компьютера работоспособность временно восстанавливается, но затем проблема повторяется снова.
Проанализируем основные причины возникновения этой неполадки и разберем практические способы ее решения.
Основные причины потери связи с ККТ
Разберем подробнее, почему операционная система и 1С теряют доступ к COM-порту кассового аппарата:
- Энергосбережение USB-портов в Windows. По умолчанию операционная система отключает питание неактивных USB-разъемов для экономии энергии. Когда касса какое-то время простаивает, порт «засыпает», а эмулятор виртуального COM-порта теряет связь с физическим устройством.
- Конфликт служб эмуляции (ComProxy и Viki Driver). Если в системе одновременно запущены несколько утилит или служб эмуляции COM-порта, они начинают конкурировать за физический USB-канал, что блокирует доступ со стороны 1С.
- Захват порта сервисной утилитой (Fito). Если для настройки или диагностики фискального регистратора открывалась утилита
Fito и ее процесс не был корректно завершен, она монопольно удерживает порт, не позволяя 1С обратиться к кассе.
- Динамическая смена номеров виртуальных COM-портов. При переподключении кабеля в другой USB-разъем или после обновлений ОС виртуальному устройству может назначиться новый номер (например, вместо
COM3 появляется COM8), из-за чего настройки оборудования в 1С становятся недействительными.
- Проблемы при работе в терминальном режиме (RDP). При работе 1С на сервере через проброс локальных COM-портов микрообрывы сети приводят к разрыву виртуального соединения, которое не восстанавливается автоматически.
- Рассинхронизация скоростей и драйверов. Несовпадение скорости порта в настройках драйвера кассы и в настройках торгового оборудования 1С приводит к переполнению коммуникационного буфера и потере пакетов.
Способ 1. Отключение энергосбережения USB-портов
Если фискальный регистратор подключен по штатному USB-кабелю через эмулятор виртуального COM-порта, необходимо запретить Windows отключать питание кассового оборудования.
Разберем порядок действий:
- Откроем Диспетчер устройств в Windows.
- Развернем ветку Контроллеры USB (а также ветку Порты (COM и LPT)).
- Найдем физический USB-концентратор или эмулируемый виртуальный порт, к которому подключена касса.
- Откроем Свойства устройства и перейдем на вкладку Управление электропитанием.
- Снимем флажок с пункта «Разрешить отключение этого устройства для экономии энергии» и сохраним изменения.
Способ 2. Переход на подключение через RS-232 (COM-порт)
Как показывает практика, эмуляция COM-порта через USB на кассах семейства Вики Принт часто работает нестабильно из-за особенностей виртуального драйвера. Наиболее надежным техническим решением является переход на физическое подключение через интерфейс RS-232.
Проанализируем два варианта реализаций:
- Подключение к системному блоку с физическим COM-портом. Если на материнской плате компьютера есть разъем RS-232 (или установлена плата расширения PCI/PCIe с COM-портами), используем стандартный COM-кабель из комплекта поставки кассы. Это полностью исключает сбои USB-шины.
- Использование качественного переходника USB-to-COM. Если касса подключается к ноутбуку или моноблоку без встроенного COM-порта, следует применить внешний адаптер USB-to-COM (желательно на базе чипсета FTDI или PL2303). В этом случае Windows работает с внешним конвертером как со стабильным аппаратным устройством.
Важное примечание по настройке скорости: При использовании COM-порта обязательно согласуйте параметры скорости обмена данными. В настройках оборудования 1С и в свойствах COM-порта в Windows установите одинаковую скорость (рекомендуемый диапазон — от 56 000 до 115 200 бит/с).
Способ 3. Оптимизация служб и драйверов KKT в 1С
Если переход на чистое COM-подключение невозможен, проверим корректность настройки программного обеспечения:
- Устранение конфликта служб: Проверим список служб Windows. На ПК должна работать только одна служба эмуляции — либо
Viki Driver, либо ComProxy. Дублирующие службы необходимо остановить и удалить из автозагрузки.
- Завершение фоновых утилит: Убедимся, что перед запуском сеанса кассира в 1С закрыта сервисная утилита
Fito. При необходимости завершим ее процесс через Диспетчер задач.
- Версия драйвера: Рекомендуется проверить используемую версию драйвера Вики Принт в Windows. Если установлена версия
1.4.x и наблюдаются сбои, имеет смысл откатиться на более стабильную ветку 1.3.1. Также в самой 1С в разделе Подключаемое оборудование следует обновить обработку обслуживания / драйвер устройства до актуальной версии (не ниже v1.2.0.831).
- Тип оборудования в 1С: Если касса добавлена в раздел
ККТ с передачей данных, скорость обмена в настройках 1С не должна превышать скорость, заданную в самом драйвере кассы, чтобы избежать ошибки переполнения коммуникационного буфера.
Способ 4. Сетевое подключение по TCP/IP (Ethernet)
Для кассовых аппаратов, оснащенных сетевым разъемом Ethernet, лучшей альтернативой виртуальным COM-портам является работа по сети.
Разберем алгоритм перевода ККТ на сетевое взаимодействие:
- Подключим кассовый аппарат сетевым кабелем патч-корд к локальной сети (роутеру или коммутатору).
- Зададим кассе статический IP-адрес через утилиту настройки.
- В службе
Viki Driver и в настройках подключаемого оборудования 1С выберем тип подключения TCP/IP, указав присвоенный IP-адрес кассы и порт обмена.
Сетевой протокол TCP/IP работает значительно устойчивее эмулируемых USB-портов, не зависит от параметров энергосбережения Windows и идеально подходит при работе 1С в терминальном режиме (RDP).