1С на терминальном сервере: что происходит внутри сессии и как это настроить

· 10 мин

Содержание

В терминальном режиме 1С целиком работает на сервере: там запущен клиент 1cv8.exe или 1cv8c.exe, там лежит база или открыто соединение с кластером. На компьютер пользователя по протоколу RDP приходит только картинка экрана, а обратно уходят нажатия клавиш и движения мыши. Поэтому терминальная 1С не тормозит на слабом ноутбуке и медленном канале, а файловая база перестаёт «сыпаться» от обрывов сети.

Частое заблуждение: «терминал — это то же самое, что веб-доступ». Нет. При публикации на веб-сервере клиент 1С работает у пользователя и ходит к базе по HTTP. В терминале у пользователя нет ни платформы, ни кэша, ни списка баз — всё это живёт в его профиле на сервере.

Архитектура терминального доступа: кто где работает

Схема из трёх звеньев:

  1. Клиентское устройство. Программа «Подключение к удалённому рабочему столу» (mstsc.exe), Microsoft Remote Desktop на macOS или любой RDP-клиент. Ресурсов почти не требует.
  2. Терминальный сервер — Windows Server с ролью Remote Desktop Services (узел сеансов, RD Session Host). На нём установлена платформа 1С, на нём создаются профили пользователей, на нём крутятся все процессы 1С.
  3. Хранилище данных. Для файловой базы — папка с 1Cv8.1CD, лучше на локальном диске этого же сервера. Для клиент-серверной — кластер серверов 1С и СУБД, часто на отдельной машине.

По сети между пользователем и сервером идёт только RDP-трафик. Порт по умолчанию — TCP 3389, в современных версиях Windows дополнительно задействуется UDP 3389 для ускорения передачи картинки.

Вариант доступаГде работает клиент 1СЧто идёт по сетиЧувствительность к каналу
Терминал (полный рабочий стол или RemoteApp)На сервереКартинка экрана по RDPНизкая
Тонкий клиент к кластеру напрямуюУ пользователяПротокол 1С (TCP, порты 1540, 1541 и диапазон рабочих процессов)Средняя
Тонкий клиент через веб-серверУ пользователяHTTP или HTTPSСредняя
Веб-клиент в браузереВ браузере пользователяHTTP или HTTPSСредняя
Файловая база по сетевой папкеУ пользователяЧтение и запись файла базы по SMBОчень высокая

Последняя строка — то, от чего терминал обычно спасает. Файловая база по общей папке через VPN или Wi-Fi работает медленно и рискует повредиться при обрыве. В терминальном режиме файл базы читается с локального диска сервера, а обрыв связи просто отключает сеанс: 1С продолжает работать и ждёт переподключения.

При коротком обрыве связи переподключение возвращает пользователя в тот же сеанс, с открытыми формами и несохранённым документом. Это главное практическое отличие от веб-клиента, где обрыв часто означает повторный вход.

Как опубликовать 1С на терминальном сервере

Есть два способа отдать 1С пользователю: полный рабочий стол сервера или только окно программы через RemoteApp.

СпособЧто видит пользовательПлюсыМинусы
Полный рабочий столВторой Windows с меню «Пуск»Просто настроить, доступны Проводник и другие программыПользователь может запускать лишнее, путаница с двумя рабочими столами
RemoteAppТолько окно 1С на своём рабочем столеВыглядит как локальная программа, меньше лишних действийНужна коллекция RDS и настройка публикации

Что публиковать в RemoteApp

Публикуйте не конкретный 1cv8.exe, а стартер 1cestart.exe. Он лежит в общей папке платформы, обычно C:\Program Files\1cv8\common\1cestart.exe. Стартер сам выбирает нужную версию платформы, показывает список баз и переживает обновление платформы без перенастройки публикации.

Если опубликовать C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe, после установки новой версии путь сменится, и ярлык RemoteApp перестанет работать у всех.

Порядок публикации в Windows Server 2016 и новее:

  1. Установите роль Remote Desktop Services в режиме «Развёртывание на основе сеансов» через Диспетчер серверов → Управление → Добавить роли и компоненты.
  2. Создайте коллекцию сеансов в Диспетчер серверов → Службы удалённых рабочих столов → Коллекции.
  3. В коллекции откройте блок RemoteApp и добавьте программу. Если 1С нет в списке, укажите путь к 1cestart.exe вручную.
  4. Выдайте доступ группе пользователей коллекции.
  5. Раздайте пользователям .rdp-файл или ссылку на веб-доступ к удалённым рабочим столам (RD Web Access).

Общий список баз для всех сеансов

Чтобы не прописывать базы каждому пользователю, задайте общий список. Стартер читает файл C:\ProgramData\1C\1CEStart\1CEStart.cfg. Добавьте в него строку с путём к общему файлу списка:

CommonInfoBases=D:\1C\Shared\ibases.v8i

Сам ibases.v8i удобно один раз собрать у себя в профиле (%APPDATA%\1C\1CEStart\ibases.v8i) и скопировать в общую папку. После этого любой новый пользователь сервера увидит одинаковый список баз при первом запуске.

Ресурсы сервера и управление сеансами пользователей

Каждый сеанс — отдельный набор процессов. Десять бухгалтеров означают десять запущенных клиентов 1С, десять профилей и десять копий кэша.

Ориентиры для планирования, не норматив (сильно зависят от конфигурации и привычек пользователей):

  • 🧠 Память: тонкий клиент — примерно 200–400 МБ на сеанс, толстый клиент с открытыми отчётами — 500 МБ–1 ГБ. Плюс 4–6 ГБ на саму Windows Server.
  • ⚙️ Процессор: клиент 1С при формировании тяжёлого отчёта нагружает одно ядро. Для 10–15 активных пользователей обычно хватает 6–8 ядер с высокой частотой; частота ядра важнее их количества.
  • 💾 Диск: только SSD. Профили, кэш 1С и файл базы постоянно читаются и пишутся.

Если база файловая и работает на том же терминальном сервере, все пользователи читают один файл 1Cv8.1CD с локального диска. Это заметно быстрее сетевой папки, но предел файлового режима никуда не девается: при нескольких десятках активных пользователей блокировки станут ощутимы, и пора переходить на клиент-серверный вариант.

Отключённые сеансы держат лицензии и блокировки

Закрыть крестиком окно RDP — не значит выйти. Сеанс остаётся висеть «отключённым», клиент 1С в нём продолжает работать, занимает лицензию и держит соединение с базой. Из-за таких сеансов чаще всего «не хватает лицензий» и не удаётся получить монопольный доступ для обновления.

Ограничьте время жизни отключённых сеансов групповой политикой: Конфигурация компьютера → Административные шаблоны → Компоненты Windows → Службы удалённых рабочих столов → Узел сеансов удалённых рабочих столов → Ограничение сеансов по времени. Параметр «Задать ограничение по времени для отключённых сеансов» — например, 2–4 часа.

Посмотреть и завершить сеансы вручную можно из командной строки сервера:

quser
logoff 3

quser показывает список сеансов с их номерами (ID) и состоянием, logoff с номером завершает выбранный сеанс.

Завершение сеанса закрывает 1С без сохранения. Несохранённый документ пропадёт. Перед logoff предупредите пользователя или убедитесь, что сеанс действительно брошен.

Почему терминальная 1С тормозит и что с этим делать

Медленная работа в терминале почти всегда упирается в одну из пяти причин.

Диагностика: выберите симптом

Где лежит кэш 1С в профиле пользователя на сервере:

  • %APPDATA%\1C\1cv8\ — настройки и часть кэша;
  • %LOCALAPPDATA%\1C\1cv8\ — основной кэш конфигураций.

Чистить папки можно только когда у этого пользователя закрыт клиент 1С. Ключ запуска /ClearCache делает то же самое безопаснее: дописывается в строку запуска или в дополнительные параметры базы в списке.

Настройки Windows, которые дают прирост

  • 🔋 Схема электропитания сервера — «Высокая производительность». В сбалансированном режиме процессор сбрасывает частоту, а 1С чувствительна к частоте ядра.
  • 🛡️ Исключения антивируса: папка с файловыми базами, C:\Program Files\1cv8\, папки кэша в профилях.
  • 🖨️ Перенаправление дисков и принтеров — только тем, кому оно нужно. Каждый проброшенный ресурс замедляет вход в сеанс.
  • 📁 Профили пользователей — на быстром диске, без перемещаемых профилей через сеть.

Безопасность терминального доступа к 1С

Терминальный сервер с бухгалтерской базой — лакомая цель. Открытый в интернет порт 3389 начинают перебирать боты в первые часы после публикации.

Базовый набор защиты:

  1. Не публикуйте 3389 напрямую. Подключение — через VPN или шлюз удалённых рабочих столов (RD Gateway). Шлюз работает по HTTPS на порту 443 и пропускает только авторизованных пользователей.
  2. Включите проверку подлинности на уровне сети (NLA). Без неё сервер показывает экран входа любому, кто постучался.
  3. Блокировка учётной записи после неудачных попыток — через политику паролей домена или локальную политику безопасности.
  4. Пользователи без прав администратора. Каждому своя учётная запись Windows, никаких общих логинов «buh1».
  5. Права NTFS на папку с базой. Файловую базу должны читать и изменять только члены группы бухгалтерии. Остальные не должны видеть даже имени папки.
  6. Ограничьте перенаправление. Если выгрузка данных на свой компьютер нежелательна, отключите в настройках коллекции буфер обмена и диски.

Связка учётных записей Windows и 1С

В 1С у каждого пользователя может быть включена аутентификация операционной системы. Тогда 1С при входе сверяет учётную запись Windows, под которой открыт сеанс, и не спрашивает пароль повторно. На терминальном сервере это удобно и безопасно, если в Windows у каждого сотрудника своя учётная запись.

Настраивается в карточке пользователя в типовых конфигурациях: Администрирование → Настройки пользователей и прав → Пользователи. В карточке включается вход по аутентификации ОС и выбирается пользователь Windows.

Разграничение на уровне Windows не заменяет права внутри 1С. Профили групп доступа и ограничения по организациям настраивайте в самой программе.

Лицензии 1С и Microsoft для терминального режима

Юридически терминальный сервер требует двух независимых комплектов лицензий.

Лицензии 1С

  • 🔑 Клиентские лицензии считаются по сеансам. В терминальном режиме каждый сеанс удалённого рабочего стола засчитывается как отдельный компьютер. Двадцать одновременных сеансов с запущенной 1С — двадцать клиентских лицензий.
  • 💻 Программные лицензии активируются на самом терминальном сервере, ведь клиент 1С запускается там.
  • 🔌 Аппаратные ключи HASP для терминала нужны сетевые (многопользовательские). Однопользовательский локальный ключ для работы через терминальный сервер не предназначен.
  • 🗄️ Лицензия на сервер 1С нужна только для клиент-серверного варианта. Файловая база на терминальном сервере её не требует.

Проверить, сколько лицензий занято в клиент-серверном варианте, можно в консоли кластера или командой rac session list --licenses. Для файлового режима быстрее посчитать сеансы с запущенной 1С через quser и Диспетчер задач.

Лицензии Microsoft

  • Клиентская лицензия Windows Server (CAL) на каждого пользователя или устройство.
  • Клиентская лицензия служб удалённых рабочих столов (RDS CAL) — тоже «на пользователя» или «на устройство».
  • Сервер лицензирования удалённых рабочих столов, где эти лицензии учитываются.

Без сервера лицензирования роль RDS работает в льготном периоде 120 дней, после чего подключения перестают приниматься. Выглядит это как внезапная авария в разгар квартального отчёта, поэтому лицензирование настраивайте сразу.

Две одновременные RDP-сессии разрешены Windows Server только для администрирования. Работа бухгалтеров через такие «админские» подключения нарушает лицензию Microsoft, а сторонние «патчи» для снятия ограничения на число сеансов в настольных Windows — это нарушение лицензионного соглашения и риск для стабильности системы.

Типичные ошибки при переводе 1С в терминал

Проверка терминального сервера перед запуском пользователей
Выполнено: 0 / 8

Ошибки, которые не видны в шагах выше:

  • ❌ Терминальный сервер на той же машине, что и СУБД, без запаса памяти. SQL Server по умолчанию забирает почти всю свободную память, сеансы пользователей начинают свопиться. Ограничьте максимальную память СУБД в её настройках.
  • ❌ База лежит на сетевой папке другого сервера. Терминал в такой схеме ничего не ускоряет: сервер сеансов всё так же тянет файл базы по сети. Перенесите базу на локальный диск терминального сервера.
  • ❌ Обновление платформы при работающих пользователях. Установщик не может заменить используемые файлы, часть сеансов работает на старой версии. Устанавливайте новую платформу вечером, когда сеансы завершены.
  • ❌ Один профиль Windows на нескольких сотрудников. Ломается кэш, путаются настройки форм, и в журнале регистрации 1С не видно, кто на самом деле провёл документ.

Частые вопросы

Можно ли работать в терминальной 1С с телефона или планшета?
Да. Для Android и iOS есть официальные RDP-клиенты Microsoft. Работать удобно только на планшете с клавиатурой: формы 1С рассчитаны на крупный экран.
Сколько пользователей выдержит терминальный сервер с 1С?
Ориентировочно 10–15 активных пользователей на 6–8 ядер и 32 ГБ памяти при тонком клиенте. Точнее покажет нагрузка в первые недели работы.
Нужен ли домен Active Directory для терминального сервера?
Для одного сервера без шлюза можно обойтись локальными учётными записями. Для коллекций RDS, RemoteApp через веб-доступ и RD Gateway практически нужен домен.
Чем терминал лучше веб-публикации 1С?
Терминал не требует платформы у пользователя и лучше переносит плохой канал. Веб-публикация дешевле по лицензиям Microsoft и не грузит сервер клиентскими процессами.
Как печатать из терминальной 1С на свой принтер?
Включите перенаправление принтеров в RDP-клиенте. В Windows Server 2016 и новее принтер подключится через Easy Print без установки драйвера на сервер.