Как устранить зависание РМК в 1С:Розница после подбора товаров

Системный администратор 1С v8.3 (Управляемые формы) 1С:Розница Торговля и дистрибуция
← На главную

Зависание Рабочего места кассира (РМК) в программе 1С:Розница — это критическая проблема, которая полностью останавливает продажи на торговой точке. Кассиры сталкиваются с ситуацией, когда после сканирования или ручного выбора товара интерфейс программы перестает реагировать на любые действия: кнопки на форме становятся недоступными, горячие клавиши не работают, а закрыть окно стандартными средствами невозможно. При этом в Диспетчере задач операционной системы Windows процесс 1С может отображаться как активный («Работает») и не потреблять избыточных ресурсов процессора.

В этой статье мы подробно разберем, почему возникает эта проблема, и рассмотрим комплексный пошаговый алгоритм диагностики и решения зависаний при подборе номенклатуры.

Решение 1: Проверка связи с УТМ ЕГАИС и диагностика локальной сети

Если в вашей торговой точке осуществляется продажа алкогольной продукции, то при подборе товара программа 1С:Розница выполняет обязательные фоновые запросы к Универсальному транспортному модулю (УТМ) ЕГАИС. Любая задержка или потеря пакетов в локальной сети на пути от кассового компьютера до сервера с УТМ приводит к тому, что 1С переходит в режим бесконечного ожидания ответа.

Выясним причину и настроим сетевое взаимодействие по следующей схеме:

  1. Проанализируем состав чека, при подборе которого происходит зависание. Если проблема возникает только при сканировании алкоголя (или пивной продукции), источником сбоя гарантированно является цепочка взаимодействия кассового модуля с УТМ.
  2. Проверим работоспособность самого транспортного модуля. Откроем веб-браузер на кассовом компьютере и введем в адресную строку локальный адрес УТМ (по умолчанию это http://localhost:8080 или IP-адрес компьютера в сети, где установлена домашняя страница модуля). Если страница не открывается или загружается крайне медленно, перезапустим службы транспорта ЕГАИС.
  3. Проверим сетевое оборудование. Нестабильная работа роутера, маршрутизатора или коммутатора, повреждение сетевого кабеля могут приводить к микроразрывам связи. Проверим стабильность соединения через командную строку с помощью утилиты ping до адреса УТМ. При наличии потерь пакетов заменим сетевой кабель или перезагрузим сетевое оборудование.

Решение 2: Перевод сканера штрихкодов из режима клавиатуры в режим эмуляции COM-порта

Частой аппаратной причиной зависания интерфейса является некорректный режим подключения сканера штрихкодов. Если сканер подключен в режиме эмуляции клавиатуры (Keyboard Wedge), он передает каждый символ штрихкода поочередно с высокой скоростью. При этом в 1С:Розница на каждый полученный символ инициируется поиск в базе данных, что создает лавинообразную нагрузку на систему и приводит к зависанию интерфейса.

Для исправления этой ситуации переведем оборудование в штатный режим:

  1. Найдем инструкцию к вашему сканеру штрихкодов и отсканируем управляющий штрихкод перевода устройства в режим эмуляции виртуального COM-порта (USB Virtual COM Port).
  2. В операционной системе Windows установим соответствующий драйвер виртуального порта от производителя сканера.
  3. В диспетчере устройств проверим, под каким номером определился новый порт (например, COM3).
  4. В программе 1С:Розница перейдем в раздел Администрирование — Подключаемое оборудование, найдем наш сканер и изменим параметры подключения, выбрав режим работы через COM-порт с указанием полученного номера порта.

Решение 3: Отключение энергосбережения для USB-портов

Современные версии операционной системы Windows по умолчанию используют агрессивные алгоритмы энергосбережения. ОС может принудительно отключать питание на портах USB во время кратковременного простоя оборудования (онлайн-кассы, сканера или эквайрингового терминала). Когда кассир сканирует новый товар, 1С пытается отправить команду на проснувшийся порт, но из-за задержек инициализации оборудования программа зависает.

Чтобы исключить эту проблему, настроим электропитание операционной системы:

  1. Откроем Панель управления компьютера, перейдем в раздел Электропитание, выберем используемую схему питания и нажмем Настройка схемы электропитания — Изменить дополнительные параметры питания. В открывшемся списке найдем пункт Параметры USB и переведем параметр временного отключения USB-порта в состояние Запрещено.
  2. Откроем Диспетчер устройств Windows. Развернем ветку Контроллеры USB. Для каждого устройства с названием «Корневой USB-концентратор» (USB Root Hub) зайдем в Свойства, перейдем на вкладку Управление электропитанием и снимем галочку с пункта Разрешить отключение этого устройства для экономии энергии. Сохраним изменения.

Решение 4: Отключение автоматического расчета скидок

Если в торговой точке настроена сложная дисконтная система (много пороговых, накопительных или совместных скидок), то при подборе каждой позиции программа пытается в реальном времени пересчитать всю корзину товаров. На компьютерах с невысокой производительностью это вызывает долгий отклик интерфейса.

Рассмотрим, как оптимизировать этот процесс в настройках программы:

  1. Перейдем в раздел Администрирование — Настройки пользователей и прав — Дополнительные права пользователей.
  2. Выберем пользователя или группу пользователей (кассиров) и снимем флажок с опции Автоматический расчет скидок при редактировании документа продажи.
  3. После этого расчет скидок в РМК будет происходить не в момент подбора каждой отдельной позиции, а только при нажатии кассиром кнопки «Расчет» перед оплатой чека, что существенно ускорит работу кассового узла.

Решение 5: Обслуживание базы данных, очистка кэша и оптимизация поиска

Если база данных работает в файловом режиме и является вторичной в распределенной информационной базе (РИБ), регулярные сеансы синхронизации могут приводить к накоплению ошибок в индексах и кэше конфигурации. Проведем профилактические работы по очистке и оптимизации:

  1. Очистка временных файлов (кэша): Закроем 1С. Откроем список баз в стартовом окне запуска, удалим проблемную базу из списка (запомнив путь к ней) и добавим ее заново. Это автоматически очистит локальный кэш конфигурации. Также можно вручную удалить папки с кэшем в каталоге пользователя %userprofile%\AppData\Local\1C\1Cv8 и %userprofile%\AppData\Roaming\1C\1Cv8.
  2. Тестирование и исправление: Запустим базу данных в режиме Конфигуратора. Перейдем в меню Администрирование — Тестирование и исправление. Установим флажки напротив всех проверок (включая реиндексацию таблиц и сжатие таблиц базы данных) и запустим процесс, предварительно создав резервную копию базы данных.
  3. Управление полнотекстовым поиском: Перейдем в программе через меню «Все функции» (или «Функции для технического специалиста») в раздел Управление полнотекстовым поиском. Если полнотекстовый поиск включен, но его индекс не актуален, это может замедлять процедуру подбора товаров. Очистим существующий индекс и запустим его обновление вручную. Если полнотекстовый поиск кассирам не требуется, рекомендуется полностью отключить его для снижения нагрузки на диск.

Решение 6: Исключения для антивирусного ПО и Защитника Windows

Антивирусные программы в режиме реального времени могут блокировать доступ к временным файлам базы данных 1С или к драйверам торгового оборудования во время обращения программы к портам ввода-вывода.

Для решения этой проблемы настроим исключения:

  1. Откроем настройки вашего антивируса (или встроенного Защитника Windows).
  2. Добавим в список исключений сканирования папку с базой данных 1С:Розница (для файлового варианта работы).
  3. Добавим исполняемые файлы платформы 1cv8.exe и 1cv8c.exe в список доверенных программ.
  4. Добавим в исключения каталоги временных файлов пользователя AppData и драйверы торгового оборудования, установленные в системе.
← На главную