Почему зависает 1С:Управление торговлей 11.3 при нажатии «Оплатить» в РМК и как решить проблему

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

Проанализируем частую и крайне критичную для розницы ситуацию: при наборе товаров в Рабочем месте кассира (РМК) конфигурации 1С:Управление торговлей 11.3 система работает оперативно, но в момент нажатия кнопки «Оплатить» программа зависает на несколько минут (иногда до 8–10 минут), а фискальный регистратор задерживает печать чека. При этом база данных работает в файловом режиме по сети.

Разберем основные причины такого поведения, выясним, почему отключение регламентных заданий в интерфейсе не всегда помогает в файловом режиме, и рассмотрим пошаговые способы полного устранения тормозов.

Причина 1. Блокировки таблиц фоновым заданием архивации чеков ККМ

В конфигурациях на базе 1С:УТ 11 по умолчанию активировано регламентное задание «Архивирование чеков ККМ», которое по расписанию пытается свернуть чеки и сформировать документ Отчет о розничных продажах. В файловой базе данных .1cd любые транзакции записи блокируют таблицы целиком.

В момент, когда кассир нажимает кнопку «Оплатить», система пытается записать и провести документ Чек ККМ. Если одновременно с этим в фоновом потоке выполняется архивирование или произошла ошибка закрытия смены (например, не создан Отчет о розничных продажах по одной из предыдущих кассовых смен), возникают тяжелые блокировки, из-за чего кассовый сеанс надолго зависает.

Особенность файлового режима заключается в том, что фоновые задания выполняются не на отдельном сервере, а внутри пользовательских сеансов клиентов. Поэтому простой съем галочки «Использовать» в интерфейсе не всегда останавливает выполнение задания на всех рабочих местах.

Способ 1. Принудительное отключение регламентных заданий на кассовых ПК

Чтобы гарантированно запретить кассовым ноутбукам и ПК запускать фоновые процедуры в рамках своего сеанса, используем специальный параметр запуска платформы. Разберем порядок действий по шагам:

  1. Откроем ярлык запуска 1С на рабочем месте кассира и перейдем в его свойства.
  2. В поле дополнительных параметров запуска добавим ключ отключения регламентных заданий: /AllowExecuteScheduledJobs -off
  3. Запустим сеанс на ПК администратора или отдельном выделенном ПК, где фоновые задания разрешены (или с параметром /AllowExecuteScheduledJobs -on), чтобы регламентные процедуры выполнялись строго там и во внерабочее время.

Способ 2. Очистка кэша и устранение ошибок кассовых смен

Проанализируем журнал регистрации на предмет ошибок архивирования. Если система выводит сообщения вида «По кассовой смене... не создан Отчет о розничных продажах», необходимо восстановить корректность данных:

  1. Перейдем в раздел продажного учета и проверим архив кассовых смен.
  2. Найдем смены, по которым произошел сбой при закрытии, и сформируем вручную документ Отчет о розничных продажах.
  3. Выполним очистку локального кэша 1С на всех рабочих местах кассиров, чтобы исключить запуск зависших фоновых процессов.
  4. В настройках параметров продаж изменим режим обработки старых чеков: заменим операцию «Архивировать чеки» на «Удалять чеки при закрытии смены» (если по регламенту предприятия не требуется хранить детализацию каждого пробитого чека прошлых смен).

Причина 2. Сетевые задержки при файловом доступе через общую папку (SMB)

Когда файловая база 1С размещена в расшаренной сетевой папке (SMB/NetBIOS), проведение документа Чек ККМ требует передачи большого объема файловых блокировок по сети. При нажатии «Оплатить» происходят массовые обращения к файлу 1Cv8.1cd, что вызывает задержки от нескольких секунд до нескольких минут.

Способ 3. Публикация файловой базы на веб-сервере (IIS / Apache)

Разберем наиболее эффективное архитектурное решение для ускорения работы файловой базы без покупки дорогостоящих лицензий на сервер 1С:Предприятие. Переведем работу кассовых мест на Web-сервер.

  1. Установим на главный компьютер («сервер магазина») веб-сервер IIS или Apache.
  2. В конфигураторе 1С выберем пункт меню Администрирование -> Публикация на веб-сервере.
  3. Укажем имя публикации и каталог, после чего выполним публикацию информационной базы.
  4. На рабочих местах кассиров перенастроим список баз: вместо сетевого пути \\server\base1c укажем подключение через Web-сервер по ссылке http://server/base1c.

При таком подходе тонкие клиенты на кассах взаимодействуют с базой по протоколу HTTP/HTTPS. Это исключает сетевые блокировки файла базы данных и ускоряет отклик РМК при пробитии чека в несколько раз.

Причина 3. Задержки в работе торгового оборудования и драйвера ККТ

При нажатии кнопки «Оплатить» программа совершает синхронный вызов внешней компоненты (драйвера) фискального регистратора. Задержки до 8–10 минут часто связаны с ожиданиями по тайм-аутам оборудования:

  1. Логирование драйвера: в настройках драйвера ККТ включен режим подробной отладки (трассировки), из-за чего каждая операция фискализации сопровождается длительной записью логов на диск.
  2. Проблемы связи с ОФД или эквайрингом: драйвер или эквайринговый терминал долго ожидают ответа от внешних серверов при нестабильном интернет-соединении.
  3. Ошибки портов: сбои виртуального COM-порта (USB-to-COM).

Способ 4. Настройка драйвера фискального регистратора и РМК

Рассмотрев влияние торгового оборудования, выполним следующие настройки:

  1. Откроем утилиту драйвера ККТ на кассовых ноутбуках.
  2. Перейдем в параметры работы и отключим ведение подробного лога (уровень журнала установим в значение «Только ошибки» или полностью отключим логирование).
  3. Проверим таймауты связи с ККТ и эквайринговым терминалом, установив разумные значения (например, 5000–10000 мс).
  4. В настройках РМК в 1С проверим параметры расчета скидок: переведем расчет автоматических скидок из режима «При изменении строки» в режим «По кнопке» или «При оплате», чтобы снизить нагрузку на процессор при наборе чека.

Причина 4. Влияние RLS и тестирование базы данных

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

Способ 5. Оптимизация прав и обслуживание базы

Проанализируем состояние самой базы данных 1С и права пользователей:

  1. Временно протестируем проведение чека под учетной записью с полными правами без RLS. Если задержка исчезает, оптимизируем профили групп доступа кассиров, отключив ненужные ограничения.
  2. Выполним тестирование и исправление информационной базы через Конфигуратор (меню Администрирование -> Тестирование и исправление) с флагами Реиндексация таблиц и Сжатие таблиц.
  3. Для проверки целостности файла базы данных запустим утилиту chdbfl.exe, расположенную в каталоге bin платформы 1С.

Применение комплекса этих мер — публикация базы на веб-сервере, отключение выполнения фоновых заданий на кассах через параметр /AllowExecuteScheduledJobs -off и настройка драйверов ККТ — позволяет полностью ликвидировать задержки и обеспечить мгновенную печать чеков при оплате в РМК.

← На главную