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

· 9 мин

Содержание

Чтобы установить и настроить терминал 1С, ставят платформу 1С:Предприятие 8.3 на сервер, а пользователей подключают одним из двух способов: через терминальный сервер Windows (RDP или RemoteApp) или через публикацию базы на веб-сервере (Apache или IIS) с тонким клиентом и браузером. Для 5–30 сотрудников в одном офисе проще RDP, для филиалов и удалёнщиков с плохой связью — веб-публикация.

Дальше всё по порядку: схема, подготовка сервера, публикация, RemoteApp, лицензии и ошибки, которые встречаются при первом запуске.

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

Под словом «терминал» обычно понимают одно из трёх решений. Они не исключают друг друга: часто база стоит на сервере 1С, а пользователи заходят и через RDP, и через веб.

СпособГде работает 1СКанал до пользователяКогда подходит
Терминальный сервер (RDP)На сервере, пользователь видит картинкуПорт 3389, от 1–2 Мбит/с на сеансОфис и удалёнщики, нужен полный рабочий стол или печать на локальный принтер
RemoteAppНа сервере, окно 1С на рабочем столе пользователяТот же RDPПользователь не должен видеть серверный рабочий стол
Веб-публикацияТонкий клиент или браузер на ПК пользователя, данные — на сервереHTTP/HTTPS, порты 80/443Филиалы, ноутбуки, Linux и macOS у пользователей

Режим базы тоже важен:

  • 📁 Файловая база на терминальном сервере — все сеансы открывают файл 1Cv8.1CD локально, поэтому работает быстрее, чем файловая база по сетевой папке. Предел — примерно 10–15 активных пользователей, дальше растут ожидания на блокировках.
  • 🖥 Клиент-серверная база (сервер 1С + PostgreSQL или MS SQL) — для 15+ пользователей и для веб-публикации с нагрузкой. Терминальный сервер в этом случае — просто «место», где запущены клиенты.

Сервер 1С и терминальный сервер лучше разнести на разные машины, если пользователей больше 20. Под нагрузкой они мешают друг другу за процессор и память.

Подготовка сервера под терминал 1С

Железо и система

Ориентировочные цифры для тонкого клиента в терминальной сессии:

  • 💾 Память — 300–500 МБ на сеанс тонкого клиента, толстый клиент — до 1 ГБ и больше. На 15 пользователей закладывайте от 16 ГБ плюс память под систему.
  • ⚙️ Процессор — от 4 ядер; на 1С сильнее влияет частота ядра, чем их число.
  • 💿 Диск — SSD обязательно, особенно для файловой базы.
  • 🪟 Система — Windows Server 2016 и новее.

Роли Windows Server

В Диспетчер серверов → Управление → Добавить роли и компоненты выберите «Установка служб удалённых рабочих столов» и сценарий быстрого развёртывания. Установятся посредник подключений, веб-доступ и узел сеансов.

Отдельно добавьте роль лицензирования удалённых рабочих столов и внесите в неё лицензии RDS CAL «на пользователя» или «на устройство». Без них Windows разрешает подключения только льготный период — 120 дней, потом сеансы перестают создаваться.

Установка платформы 1С на терминальный сервер

На узле сеансов программы ставят в режиме установки, иначе часть настроек ляжет в профиль администратора:

change user /install
setup.exe
change user /execute

В мастере установки отметьте компоненты:

  1. «1С:Предприятие» и «1С:Предприятие — тонкий клиент».
  2. «Модули расширения веб-сервера» — если на этой же машине будет публикация.
  3. «Сервер 1С:Предприятия» — только если сервер 1С будет здесь же.
  4. «Драйвер защиты» — если используете USB-ключ.

Платформа по умолчанию встанет в C:\Program Files\1cv8\<версия>\, общий запускатор — C:\Program Files\1cv8\common\1cestart.exe.

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

Каждый пользователь хранит свой список в %APPDATA%\1C\1CEStart\ibases.v8i. Чтобы не добавлять базы каждому вручную, сделайте общий файл, например C:\1C\bases.v8i, и пропишите его в общем конфиге C:\ProgramData\1C\1CEStart\1cestart.cfg:

CommonInfoBases=C:\1C\bases.v8i

Новую базу админ добавляет один раз в этот файл — она появится у всех при следующем запуске.

Публикация базы 1С на веб-сервере

Веб-сервер принимает HTTP-запросы и через модуль расширения передаёт их в 1С. Поддерживаются Apache 2.2/2.4 и IIS.

Шаг 1. Установить веб-сервер

  • IIS — ставится ролью «Веб-сервер (IIS)». Добавьте компоненты «ISAPI-расширения» и «Фильтры ISAPI», иначе модуль 1С не загрузится.
  • Apache 2.4 — распакуйте сборку, установите службой httpd.exe -k install.

Разрядность модуля расширения должна совпадать с разрядностью веб-сервера. 64-битный Apache требует 64-битной платформы 1С, иначе публикация «молча» не работает .

Шаг 2. Опубликовать базу из Конфигуратора

  1. Запустите Конфигуратор от имени администратора — без этого не хватит прав записать в каталог веб-сервера.
  2. Откройте Администрирование → Публикация на веб-сервере.
  3. Укажите имя публикации (латиницей, например buh), тип веб-сервера и каталог.
  4. Отметьте «Публиковать тонкий клиент и веб-клиент», при необходимости — HTTP-сервисы и веб-сервисы.
  5. Нажмите «Опубликовать» и согласитесь на перезапуск веб-сервера.

В каталоге появится файл default.vrd со строкой подключения к базе.

Шаг 3. То же самое из командной строки

Для сервера без графики или скриптов развёртывания есть утилита webinst.exe в каталоге bin платформы:

webinst -publish -apache24 -wsdir buh -dir "C:\Apache24\htdocs\buh" -connstr "Srvr=srv1c;Ref=buh;" -confpath "C:\Apache24\conf\httpd.conf"

Для файловой базы строка подключения будет вида File="D:\Bases\Buh";.

Шаг 4. Права на каталог базы

Для файловой базы учётная запись веб-сервера должна иметь полные права на папку с базой. У IIS это пользователь пула приложений, у Apache — учётная запись службы. Без этого браузер показывает ошибку доступа к файлу базы.

Публикацию в интернет без HTTPS не делайте: логины и данные пойдут открытым текстом. Минимум — сертификат Let’s Encrypt и закрытые снаружи все порты, кроме 443.

Шаг 5. Подключить пользователя

В тонком клиенте: «Добавить» → «Добавление в список существующей информационной базы» → тип расположения «На веб-сервере» → адрес вида https://1c.firma.ru/buh. В браузере тот же адрес открывает веб-клиент без установки чего-либо.

Подключение пользователей через RDP и RemoteApp

Обычный рабочий стол

  1. Создайте пользователей в домене или локально, добавьте их в группу «Пользователи удалённого рабочего стола».
  2. Выдайте пользователю файл .rdp с адресом сервера или настройте шлюз RD Gateway, если подключение идёт из интернета.
  3. Проверьте перенаправление принтеров в свойствах коллекции — без него печать из 1С уйдёт на серверный принтер.

Публикация 1С как RemoteApp

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

  1. Диспетчер серверов → Службы удалённых рабочих столов → Коллекции → ваша коллекция.
  2. В блоке «Программы RemoteApp» выберите «Опубликовать программы RemoteApp».
  3. Нажмите «Добавить» и укажите C:\Program Files\1cv8\common\1cestart.exe.

Публикуйте именно 1cestart.exe, а не 1cv8.exe из каталога конкретной версии. Запускатор сам выбирает нужную версию платформы, и после обновления 1С ярлык у пользователей не ломается.

Чтобы сразу открывать конкретную базу, в параметрах командной строки RemoteApp можно задать /IBName"Бухгалтерия" — имя должно совпадать с именем базы в списке.

Открытый RDP-порт 3389 в интернет — частая причина взломов и шифровальщиков. Ставьте шлюз RD Gateway (HTTPS 443) или VPN.

Какой доступ выбрать для вашей ситуации?

Лицензии 1С и ключи защиты на терминальном сервере

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

Программные лицензии

  • Активируются на терминальном сервере — пин-кодом из комплекта, при первом запуске или через окно получения лицензии.
  • Привязаны к параметрам оборудования. Замена материнской платы, сетевой карты или перенос виртуальной машины на другой хост может потребовать повторной активации резервным пин-кодом.
  • Многопользовательский комплект (на 5, 10, 20 мест) на терминальном сервере раздаёт места по сеансам.

Аппаратные ключи HASP

  • Для терминального сервера нужен многопользовательский ключ. Однопользовательский локальный ключ покрывает только один сеанс.
  • Сетевые ключи раздаёт служба HASP License Manager. Если ключ стоит на другой машине, клиенту нужен доступ к ней по порту 475 и файл nethasp.ini с адресом менеджера лицензий.
  • На виртуальных серверах ключ пробрасывают через USB-over-IP; это работает, но добавляет точку отказа.

Лицензии в клиент-серверном режиме

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

Посмотреть, кто сейчас занимает лицензии, можно утилитой rac:

rac session list --cluster=<uuid-кластера> --licenses

Лицензии Microsoft RDS CAL — отдельная история: это право подключаться к Windows Server, они не заменяют лицензии 1С и нужны дополнительно к ним.

Диагностика: частые ошибки терминала 1С

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

Если ничего из этого не помогло

  1. Очистите кэш пользователя: закройте у него все сеансы 1С и удалите содержимое каталогов %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8 в его профиле. Список баз (1CEStart) при этом не трогайте.
  2. Проверьте, запускается ли база у администратора на том же сервере. Если да — проблема в профиле или правах пользователя, если нет — в базе или платформе.
  3. Для клиент-серверной базы посмотрите, отвечает ли агент сервера 1С по порту 1540 и открыт ли диапазон рабочих процессов, заданный в свойствах рабочего сервера (по умолчанию 1560–1591).

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

Частые вопросы о терминальном доступе к 1С

Сколько пользователей потянет один терминальный сервер с 1С?
Ориентировочно 20–30 сеансов тонкого клиента на сервере с 8 ядрами и 32 ГБ памяти. Точная цифра зависит от конфигурации и тяжёлых отчётов, поэтому начните с запаса и смотрите на загрузку процессора в часы пик.
Можно ли поставить терминал 1С на обычную Windows 10 или 11?
Технически к настольной Windows одновременно подключается только один удалённый пользователь. Обходные патчи нарушают лицензию Microsoft, поэтому для нескольких сотрудников нужен Windows Server с ролью RDS.
Что быстрее для удалённого офиса: RDP или веб-клиент?
На узком канале обычно стабильнее тонкий клиент через веб-публикацию: он передаёт данные форм, а не картинку экрана. Веб-клиент в браузере удобен, но в тяжёлых формах заметно медленнее тонкого клиента.
Нужно ли покупать отдельную лицензию 1С на терминальный сервер?
Отдельной «терминальной» лицензии 1С нет. Нужны клиентские лицензии по числу одновременных сеансов, а для клиент-серверной базы — ещё и лицензия на сервер 1С:Предприятия.
Как запретить пользователям в RDP открывать что-то кроме 1С?
Используйте RemoteApp с опубликованным 1cestart.exe: у пользователя не будет серверного рабочего стола и проводника. Дополнительно ограничьте права групповыми политиками.