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

· 10 мин

Содержание

Тонкий клиент 1С (1cv8c.exe) работает так: на компьютере пользователя он только рисует управляемые формы и выполняет клиентский код, а запросы к данным, проведение документов и расчёты делает сервер 1С:Предприятия. Клиент не подключается к СУБД напрямую. Он передаёт серверу вызовы и получает обратно готовые данные для формы. Поэтому ему хватает слабого ПК и медленного канала.

Типичная ситуация: в филиал поставили новый ноутбук, бухгалтер запускает «Бухгалтерию 3.0» и видит ошибку соединения, хотя у соседа всё работает. Почти всегда дело в одном из трёх: не та версия платформы, закрытые порты или компьютер не знает имя сервера. Ниже разобрано устройство тонкого клиента , его настройка и проверка подключения по шагам. Всё относится к платформе 8.3 и типовым конфигурациям на управляемых формах.

Как устроен тонкий клиент 1С: что считается на компьютере, а что на сервере

Приложение 1С на управляемых формах делится на две части. Код в модулях помечается директивами компиляции, и от них зависит, где он выполнится.

  • 🖥️ &НаКлиенте — выполняется в тонком клиенте: реакция на нажатие кнопки, открытие формы, проверка заполнения поля до записи.
  • 🗄️ &НаСервере — выполняется на сервере: запросы, запись и проведение, формирование отчётов. При вызове на сервер уходят данные формы.
  • 📦 &НаСервереБезКонтекста — тоже на сервере, но без передачи данных формы. Такой вызов легче.

У тонкого клиента нет доступа к прикладным объектам базы. Он не может прочитать справочник или регистр сам. Любое обращение к данным — это вызов сервера. Документы, справочники, регистры существуют только на серверной стороне, на клиент приходят их представления в реквизитах формы.

Три варианта подключения

ВариантСтрока в списке базГде выполняется серверная часть
Клиент-серверная базаSrvr="srv1c";Ref="buh";На сервере 1С:Предприятия (кластере)
Файловая базаFile="D:\Bases\Buh";В процессе самого клиента на этом ПК
Через веб-серверws="https://srv.local/buh";На сервере 1С, веб-сервер — посредник

В файловом варианте серверная часть никуда не исчезает. Она работает внутри процесса клиента, а файл базы 1Cv8.1CD читается по сети как обычный файл. Поэтому тонкий клиент к файловой базе на сетевой папке выигрыша в трафике не даёт. Выгода появляется только в клиент-серверном варианте и при работе через веб-публикацию.

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

Тонкий клиент, толстый и веб-клиент: в чём разница

Все три клиента открывают одну и ту же базу, но по-разному распределяют работу. Сводка — в таблице.

ПризнакТонкий клиентТолстый клиентВеб-клиент
Исполняемый файл1cv8c.exe1cv8.exeБраузер
УстановкаНужна, только клиентские файлыПолная платформаНе нужна
Обычные формы (старые конфигурации)НетДаНет
Управляемые формыДаДаДа
КонфигураторНетДа, тот же 1cv8.exeНет
Доступ к даннымТолько через вызов сервераМожет работать с объектами базы локальноТолько через вызов сервера
Медленный каналПодходитПлохоПодходит
Работа с файлами и оборудованием на ПКПолноценноПолноценноЧерез расширение браузера, с ограничениями
ОСWindows, Linux, macOSWindows, LinuxЛюбая с поддерживаемым браузером

Толстый клиент нужен в трёх случаях: старая конфигурация на обычных формах, работа в Конфигураторе и внешние обработки, написанные под обычное приложение. Для повседневной работы в БП 3.0, ЗУП 3.1, УТ 11 тонкий клиент — основной режим.

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

Установка тонкого клиента 1С и первое подключение к базе

Шаг 1. Совпадение версий

Версия тонкого клиента должна совпадать с версией сервера 1С до последней цифры — например, обе 8.3.24.1586. Если сервер обновили, а на ПК осталась прежняя сборка, клиент не подключится.

Версию сервера узнайте у администратора или в консоли кластера: в свойствах центрального сервера. Если на ПК стоит несколько версий, нужную выбирает средство запуска 1cestart.exe. В настройках базы поле «Версия 1С:Предприятия» можно оставить пустым или указать маску вида 8.3.24.

Шаг 2. Установка

  1. Запустите setup.exe из дистрибутива платформы для Windows.
  2. На странице выбора компонентов отметьте тонкий клиент. Если на ПК нужен только он, остальные компоненты отключите.
  3. Для файловых баз выберите вариант тонкого клиента с поддержкой файлового режима.
  4. Установите драйвер защиты, только если используете аппаратный ключ HASP на этом ПК.

На Linux тонкий клиент ставится из пакетов .deb или .rpm из дистрибутива клиента. На macOS — из отдельного установщика.

Шаг 3. Добавление базы в список

  1. В окне запуска нажмите «Добавить» → «Добавление в список существующей информационной базы».
  2. Укажите имя базы, как его увидят пользователи.
  3. Выберите тип расположения: на сервере 1С:Предприятия, на этом компьютере или в локальной сети, на веб-сервере.
  4. Для сервера введите имя кластера (srv1c или srv1c:1541, если порт нестандартный) и имя базы в кластере — как оно задано в консоли, а не как она называется в списке.
  5. На последней странице в поле «Основной режим запуска» выберите «Тонкий клиент». Вариант «Выбирать автоматически» тоже запустит тонкий клиент для управляемого приложения.

Шаг 4. Запуск из командной строки

Для ярлыков на рабочем столе или скриптов удобно запускать тонкий клиент с параметрами:

"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8c.exe" ENTERPRISE /S "srv1c\buh" /N "Петрова" /P "пароль"
  • /S "сервер\база" — клиент-серверная база ;
  • /F "D:\Bases\Buh" — файловая;
  • /WS "https://srv.local/buh" — через веб-сервер;
  • /ClearCache — очистить кэш клиента перед запуском;
  • /N и /P — имя пользователя и пароль.

Не храните пароль в ярлыке на общем компьютере. Лучше настроить для пользователя аутентификацию операционной системы, тогда /N и /P не нужны.

Номер версии в пути замените на свой. Вместо прямого пути к 1cv8c.exe можно вызывать 1cestart.exe — он сам подберёт подходящую версию.

Сеть: какие порты нужны тонкому клиенту и как снизить трафик

Как идёт соединение

При подключении к клиент-серверной базе тонкий клиент проходит три ступени:

  1. Обращается к агенту сервера 1С на порт 1540.
  2. Агент направляет его к менеджеру кластера на порт 1541.
  3. Менеджер назначает рабочий процесс, и дальше клиент общается с ним на порт из диапазона, по умолчанию 1560–1591. Диапазон задаётся в свойствах рабочего сервера в консоли кластера.

Отсюда частая ловушка. Порт 1541 открыт, база в консоли видна, а клиент всё равно не подключается: на брандмауэре закрыт диапазон рабочих процессов. Открывать нужно все три пункта, на сервере и на сетевом оборудовании между филиалом и офисом.

Имя сервера должно разрешаться

Менеджер кластера возвращает клиенту адрес рабочего процесса по имени компьютера, под которым сервер зарегистрирован в кластере. Если ПК пользователя не может разрешить это имя через DNS, соединение обрывается после первого этапа. Подключение по IP-адресу в строке базы это не лечит.

Решение — запись в DNS или строка в файле C:\Windows\System32\drivers\etc\hosts:

192.168.10.15    srv1c

Это первый приём, который стоит проверить на компьютерах в другой подсети, за VPN и на удалённых ноутбуках.

Медленный канал

Тонкий клиент изначально рассчитан на узкий канал, но есть настройки, которые заметно помогают:

  • 📶 В свойствах базы в окне запуска выберите скорость соединения «Низкая». Клиент оптимизирует обмен с сервером под узкий канал.
  • 🌐 Для филиалов с плохой связью публикуйте базу на веб-сервере и подключайтесь по HTTPS. HTTP легче проходит через прокси и NAT, чем набор TCP-портов.
  • 🧩 Разработчикам: каждый вызов &НаСервере из формы — это сетевой запрос с данными формы. Объединяйте несколько вызовов в один и используйте &НаСервереБезКонтекста, где форма серверу не нужна. На канале с задержкой 80 мс десять вызовов при открытии формы — почти секунда ожидания.

Для тонкого клиента задержка (ping) обычно важнее ширины канала: каждое действие в форме, которое требует сервера, ждёт полный круг запроса. Поэтому сначала проверьте ping до сервера, а уже потом скорость.

Права и безопасность при работе через тонкий клиент

Архитектура тонкого клиента сама по себе закрывает ряд рисков. У пользователя нет логина и пароля к SQL-серверу, нет прямого доступа к файлам базы. Ограничения доступа на уровне записей (RLS) проверяются на сервере, и обойти их из клиентского кода нельзя.

Что настраивает администратор:

  • 🔑 Право на запуск тонкого клиента. В ролях конфигурации есть отдельные права «Тонкий клиент», «Толстый клиент», «Веб-клиент». В типовых конфигурациях они раздаются профилями групп доступа. Убрать толстый клиент у бухгалтеров — разумная мера: без него не запустить обработку для обычного приложения и не попасть в Конфигуратор.
  • 👤 Способ входа. Пароль 1С, вход через Windows (аутентификация ОС) или оба варианта. Пользователи заводятся в Администрирование → Настройки пользователей и прав → Пользователи.
  • 🛡️ Администратор кластера. Пока у кластера нет администратора, любой пользователь с консолью может управлять сеансами и базами. Задайте его в консоли кластера.
  • 🔒 Внешние подключения. Веб-публикацию в интернет открывайте только по HTTPS с действующим сертификатом. Порты 1540–1591 наружу не публикуйте — для удалённых сотрудников есть VPN или веб-сервер.
  • 🗂️ Внешние обработки. В типовых конфигурациях можно включить запрос подтверждения перед открытием внешних файлов. Это защищает от запуска чужого кода из присланного по почте .epf.

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

Тонкий клиент не подключается: диагностика по шагам

Проверку ведите от простого к сложному. Сначала сеть, потом версия, потом кэш.

  1. Ping и имя. Выполните ping srv1c с компьютера пользователя. Если имя не разрешается — правьте DNS или hosts.
  2. Порты. В PowerShell проверьте доступность агента и рабочего процесса:
Test-NetConnection srv1c -Port 1540
Test-NetConnection srv1c -Port 1541
Test-NetConnection srv1c -Port 1560

Если TcpTestSucceeded : False хотя бы по одному — открывайте порт на брандмауэре сервера. 3. Версия. Сравните номер сборки в пути к 1cv8c.exe и версию сервера. Не совпадает — установите нужную сборку. 4. Имя базы. Проверьте, что в строке подключения стоит имя базы в кластере, а не отображаемое название. 5. Кэш клиента. Если база открывается, но падает на старте, показывает старые формы или ошибки после обновления, запустите клиент с /ClearCache. 6. Лицензия. Если соединение есть, но вход отклонён из-за отсутствия лицензии — проверьте, сколько клиентских лицензий занято. На сервере это показывает rac session list --licenses.

Если /ClearCache не помог, кэш удаляют вручную. Закройте все окна 1С на этом ПК и удалите вложенные папки с длинными именами-идентификаторами в %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Список баз (ibases.v8i) при этом не трогайте.

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

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

Если ничего из этого не помогло, включите технологический журнал на сервере с событиями EXCP и CONN. В нём видно, на каком этапе обрывается соединение и с какой ошибкой.

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

Можно ли запустить Конфигуратор из тонкого клиента?
Нет. Конфигуратор входит только в полную платформу и запускается через 1cv8.exe. Тонкий клиент открывает базу только в режиме 1С:Предприятие.
Работает ли тонкий клиент с конфигурациями на обычных формах?
Нет. Тонкий клиент показывает только управляемые формы. Для старых конфигураций, например «Бухгалтерии 2.0», нужен толстый клиент.
Нужна ли отдельная лицензия на тонкий клиент?
Нет. Тонкий, толстый и веб-клиент расходуют одни и те же клиентские лицензии: одна лицензия на один сеанс пользователя.
Можно ли поставить тонкий клиент без прав администратора Windows?
Установщику платформы нужны права администратора. Если их нет, установку делает системный администратор или она разворачивается групповой политикой.
Почему тяжёлый отчёт в тонком клиенте не тормозит слабый ПК?
Отчёт формирует сервер, на клиент приходит только готовый результат. Нагрузка ложится на сервер 1С и СУБД, а не на компьютер пользователя.