Как без зависаний и блокировок подключить 10 онлайн-касс к удаленной базе 1С:Розница

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

При масштабировании торговой сети перед системными администраторами часто встает задача объединения нескольких торговых точек в единую базу данных. Типичный сценарий: на удаленном сервере развернута конфигурация 1С:Розница (версии ПРОФ), а рабочие места кассиров подключаются к ней удаленно. Когда количество касс достигает 10, классические методы подключения торгового оборудования (ТО) начинают давать серьезные сбои.

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

---

Почему связка RDP + VSPE — это тупиковый путь

На первый взгляд схема с пробросом COM-портов через стандартный RDP-клиент или виртуальный эмулятор VSPE выглядит привлекательно: она проста в настройке и не требует изменения программной архитектуры. Однако при работе 10 активных касс вы неизбежно столкнетесь со следующими критическими проблемами:

  1. Влияние сетевых задержек (пинг). Протокол RDP чувствителен к качеству связи. При передаче команд на фискальный регистратор происходит обмен множеством мелких низкоуровневых пакетов данных. Если пинг до сервера превышает 15–20 мс, время печати одного чека может вырасти с 2 секунд до 40–50 секунд. Кассовая зона моментально превратится в очередь.
  2. Нестабильность виртуальных портов. Эмулятор VSPE на терминальном сервере при одновременной работе 10 пользователей часто путает сессии. При кратковременном обрыве связи и переподключении пользователя касса может «отвалиться», сменить виртуальный порт или заблокировать порт для других пользователей.
  3. Ограничение скорости порта. Для повышения стабильности администраторы вынуждены снижать скорость COM-порта в настройках драйвера до 9600 бод. Это гарантирует надежность передачи данных по RDP, но критически замедляет физическую печать чека.

---

Природа табличных блокировок в 1С:Розница

Самым опасным следствием медленной работы касс через RDP являются транзакционные блокировки в СУБД. Выясним физику этого процесса.

В момент нажатия кнопки «Пробить чек» в интерфейсе 1С запускается транзакция проведения документа. Упрощенно этот процесс выглядит следующим образом:


НачатьТранзакцию();
Попытка
    // 1. Проведение документа "Чек ККМ" в базе данных
    // 2. Блокировка таблиц остатков товаров и денежных средств
    // 3. Вызов оборудования: Печать чека на ККТ
    // 4. Ожидание успешного ответа от ККТ
    ЗафиксироватьТранзакцию();
Исключение
    ОтменитьТранзакцию();
КонецПопытки;

Пока касса медленно печатает чек через RDP и обменивается данными с сервером, транзакция в базе данных остается открытой. В этот момент СУБД жестко блокирует таблицы остатков товаров (например, РегистрНакопления.ТоварыНаСкладах) и кассовых регистров. Если один кассир «подвис» на печати чека на 20 секунд, все остальные 9 касс не смогут провести свои чеки. Они будут ожидать освобождения таблиц, после чего получат критическую ошибку: «Конфликт блокировок при выполнении транзакции».

---

Решение 1: Тонкий клиент через веб-сервер (Рекомендуемый способ)

Это наиболее правильный с точки зрения архитектуры 1С подход. Вместо запуска тяжелых RDP-сессий мы публикуем базу данных на веб-сервере (IIS или Apache), а кассиры подключаются к ней через локально установленный Тонкий клиент.

Рассмотрим преимущества этого метода:

Разберем по шагам процесс настройки:

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

---

Решение 2: Прямое сетевое подключение касс по TCP/IP

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

Современные кассовые аппараты поддерживают передачу данных по протоколу TCP/IP. Реализовать это можно двумя способами:

Вариант А: Использование «Сервера удаленного подключения» драйвера

Современные драйверы (например, АТОЛ ДТО 10) имеют встроенную службу удаленного подключения. На локальном компьютере кассира, к которому подключена касса, активируется сетевая служба драйвера (по умолчанию порт 6220).

В удаленной 1С на сервере в настройках кассы мы выбираем тип подключения TCP/IP, указываем IP-адрес локального компьютера кассира и порт 6220. 1С общается с кассой напрямую по сети, минуя RDP-каналы.

Вариант Б: Объединение торговых точек в VPN-сеть

Если кассовые аппараты оснащены LAN-портами или Wi-Fi-модулями, мы можем подключить их напрямую к роутерам на торговых точках.

Рассмотрим схему настройки:

  1. Объединяем сервер 1С и роутеры торговых точек в единую виртуальную сеть VPN (например, через WireGuard или OpenVPN).
  2. Каждой кассе внутри локальной сети торговой точки присваиваем статический IP-адрес.
  3. В настройках оборудования в 1С на сервере прописываем сетевые IP-адреса касс напрямую. Касса становится полноценным сетевым устройством, доступным для сервера без посредников.

---

Решение 3: Внедрение Распределенной Информационной Базы (РИБ)

Если интернет-канал на торговых точках нестабилен, лучшим решением будет развертывание схемы РИБ (1 центральный узел на сервере и 10 подчиненных узлов непосредственно на точках).

Проанализируем особенности этого решения:

Единственным минусом РИБ является необходимость администрирования локальных баз на точках и затраты на приобретение лицензий 1С для каждого рабочего места.

---

Решение 4: Профессиональный софт для проброса портов

Если вы ограничены условиями, при которых тонкий клиент или TCP/IP-подключение невозможны, а стандартный RDP-проброс работает нестабильно, необходимо заменить бесплатный VSPE на специализированный софт корпоративного уровня.

Рекомендуем использовать продукт FabulaTech (Serial Port for Remote Desktop). В отличие от стандартных эмуляторов, эта программа:

---

Сводная таблица сравнения решений

Для наглядности сравним все рассмотренные варианты по ключевым параметрам, чтобы вы могли выбрать оптимальный путь для вашей инфраструктуры:

Параметр RDP + VSPE Тонкий клиент (Web) Прямой TCP/IP (VPN) Схема РИБ
Скорость печати Низкая (зависит от пинга) Максимальная (локальная) Высокая (сетевой протокол) Максимальная (локальная)
Риск блокировок СУБД Очень высокий Минимальный Низкий Отсутствует
Работа без интернета Невозможна Невозможна Невозможна Полная автономия
Сложность настройки Простая Средняя Высокая (нужен VPN) Высокая (настройка обменов)

---

Резюме и рекомендации

Подключение 10 касс к одной базе 1С:Розница — выполнимая задача, требующая отказа от устаревших технологий. Наш опыт и практика администрирования показывают:

  1. Если у вас стабильный интернет на точках — выбирайте Тонкий клиент через веб-сервер. Это избавит вас от проблем с пробросом портов и снизит нагрузку на сервер до минимума.
  2. Если кассы современные (с поддержкой LAN/Wi-Fi) и вам обязательно нужен RDP — настраивайте прямое сетевое подключение по TCP/IP через VPN-туннель.
  3. Если интернет на точках периодически пропадает — внедряйте РИБ. Это гарантирует бесперебойную работу розничной сети в любых условиях.
← На главную