В процессе автоматизации розничной торговли часто встречается ситуация, когда архитектура системы предполагает работу кассиров на удаленном сервере через RDP (Remote Desktop Protocol). В такой конфигурации 1С:Розница запущена на сервере, а физическая касса (фискальный регистратор, например, Штрих-М) подключена к локальному компьютеру. Одной из самых неприятных проблем в этой схеме является "потеря" чека: аппарат физически печатает фискальный документ, но в информационной базе 1С документ Чек ККМ не создается и не проводится. Рассмотрим подробно, почему это происходит и как настроить систему для стабильной работы.
Для начала разберем механизм взаимодействия между программой и кассой. Когда кассир нажимает кнопку "Пробить чек" в РМК (Рабочее место кассира), инициируется целая цепочка событий:
Чек ККМ и проводит его.Проанализируем ситуацию: если в момент между 3-м и 4-м шагом происходит микро-разрыв интернет-соединения или задержка в передаче пакетов (лаг), ответ от кассы не доходит до 1С вовремя. Система считает, что связь потеряна, операция не удалась, и "откатывает" создание документа в базе. При этом касса уже выполнила фискальную операцию, так как она не зависит от последующего подтверждения в 1С. В итоге мы получаем расхождение: выручка по кассе прошла, а в программе ее нет.
Первым делом нам необходимо увеличить время ожидания ответа от оборудования. Стандартные настройки часто рассчитаны на локальное подключение, где задержки минимальны. При работе через интернет эти значения нужно корректировать.
Разберем, как это сделать:
Тайм-аут (Timeout). По умолчанию там может стоять значение около 100-300 мс.Стандартный проброс COM-портов через RDP — это самый нестабильный способ подключения торгового оборудования. Любое колебание сетевого трафика приводит к потере связи. Если ваша модель кассы (например, Штрих-М РР-03 или современные модели с Ethernet/Wi-Fi) поддерживает сетевое подключение, крайне рекомендуется использовать именно его.
Проанализируем шаги для настройки прямого сетевого обмена:
TCP/IP вместо COM-порт.Если касса не имеет сетевого интерфейса, можно воспользоваться программным решением «Штрих-М: Сервер ФР». Он устанавливается на локальном компьютере кассира и "расшаривает" кассу в сеть, позволяя серверу 1С обращаться к ней напрямую по IP, минуя ненадежные механизмы RDP-проброса.
Рассмотрим альтернативный способ организации работы, который полностью исключает проблему проброса оборудования через RDP. Вместо запуска удаленного рабочего стола, установим на компьютер кассира платформу 1С и запустим базу в режиме Тонкого клиента.
В этом случае:
Выясним причину возможных программных сбоев в самом драйвере. Пользователи часто используют устаревшие версии (например, 4.14), которые могут некорректно обрабатывать новые требования маркировки или протоколы обмена. Эксперты рекомендуют обновиться до версии драйвера 4.15 или выше.
Также полезно включить детальное логирование:
Вести лог команд.drvfr.log и увидеть точную причину.Нет связи (Error -1) сразу после отправки команды CloseCheck, это подтверждает проблему сетевого уровня.Если ситуация уже произошла и чеки разошлись, выполним следующие действия для восстановления учета:
Чек ККМ, выбрав товары, которые фактически были проданы.Важный момент: в современных версиях конфигурации 1С:Розница 2.2 и выше реализован механизм проверки статуса чека. Если при открытии РМК система обнаруживает незавершенную операцию, она может предложить пользователю допровести документ или аннулировать его, основываясь на данных из памяти кассы. Убедитесь, что ваша конфигурация обновлена до актуального релиза, чтобы использовать эти защитные механизмы.