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

· 10 мин

Содержание

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

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

Как работает тонкий клиент: клиентская и серверная части

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

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

Тонкий клиент не умеет работать с базой напрямую. В нём нет объектной модели прикладных данных: нельзя получить СправочникОбъект или выполнить запрос на клиенте. Когда пользователь нажимает «Провести», клиент отправляет вызов на сервер, сервер проводит документ и возвращает результат — обновлённую форму или сообщение.

Что происходит при запуске

  1. Пользователь выбирает базу в окне запуска, стартует 1cv8c.exe.
  2. Клиент устанавливает соединение: с файловой базой — через встроенный файловый движок, с сервером 1С — через агент сервера, с веб-публикацией — по HTTP или HTTPS.
  3. Проходит аутентификация, создаётся сеанс.
  4. Клиент получает описание интерфейса и форм. Часть этих данных кэшируется на диске пользователя, поэтому второй запуск быстрее первого.
  5. Дальше каждое действие с данными — это вызов сервера и ответ.

Что значит «меньше ресурсов»

Тонкому клиенту не нужно держать у себя прикладные объекты и метаданные конфигурации целиком. Отсюда три практических следствия:

  • 💾 памяти на рабочем месте нужно меньше, чем толстому клиенту;
  • 🌐 по сети гоняется не содержимое таблиц базы, а данные форм и результаты вызовов;
  • 🔒 прикладные данные не обрабатываются на компьютере пользователя, что проще с точки зрения безопасности.

Нагрузка никуда не исчезает, она переезжает на сервер. Если тонкий клиент «тормозит», в половине случаев искать причину нужно на стороне сервера или в коде конфигурации, а не на компьютере пользователя.

Тонкий, толстый и веб-клиент: сравнение режимов запуска

У платформы 8.3 три вида клиентских приложений. Они различаются тем, где выполняется код и какие формы поддерживаются.

ПараметрТонкий клиентТолстый клиентВеб-клиент
Исполняемый файл1cv8c.exe1cv8.exeбраузер
Установка на компьютернужнанужнане нужна
Обычные формынетданет
Управляемые формыдадада
Работа с данными на клиентенет, только через серверданет, только через сервер
Подключение через интернетда, через веб-публикациюнеудобно, сильная зависимость от сетида, через веб-публикацию
Требования к рабочему местуумеренныесамые высокиеминимальные
Работа с оборудованием и файламиполноценнаяполноценнаяограниченная, через расширения браузера

Когда толстый клиент всё ещё нужен

  • 📜 Конфигурация на обычных формах: Бухгалтерия 2.0, Зарплата и управление персоналом 2.5, самописные базы на старом интерфейсе. Тонкий клиент их открыть не сможет.
  • 🛠️ Внешние обработки и отчёты, написанные под обычные формы.
  • 🧩 Отдельные административные сценарии, которые разработчик выполняет в режиме толстого клиента на управляемом приложении.

Чем веб-клиент проигрывает тонкому

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

Как выбрать режим и какие требования к сети

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

Какой у вас случай?

Сетевые требования

Тонкий клиент передаёт мало данных, но делает много коротких обменов с сервером. Поэтому для него задержка (пинг) важнее ширины канала.

  • 🏢 Локальная сеть. Проблем обычно нет. Для клиент-серверной базы клиент идёт к агенту сервера на порт 1540, затем к менеджеру кластера на 1541 и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560-1591. Все эти порты должны быть открыты между клиентом и сервером.
  • 🌍 Интернет. Нужна веб-публикация базы на IIS или Apache. Снаружи открыт только порт 443 веб-сервера, сервер 1С остаётся во внутренней сети.
  • 📶 Медленный канал. В свойствах базы можно выбрать низкую скорость соединения: клиент реже обращается к серверу за второстепенными данными и меньше обновляет форму.

Не открывайте порты 1540, 1541 и диапазон рабочих процессов в интернет ради удалённых пользователей. Для этого есть веб-публикация с HTTPS или VPN.

Файловая база и тонкий клиент

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

Отдельный дистрибутив «только тонкий клиент» рассчитан на клиент-серверные базы и веб-публикации. Для прямой работы с файловой базой ставьте полный дистрибутив платформы.

Установка и настройка запуска тонкого клиента

Шаг 1. Установите платформу

  1. Запустите setup.exe из дистрибутива платформы нужной версии.
  2. В списке компонентов оставьте «1С:Предприятие — тонкий клиент». Если нужен толстый клиент и Конфигуратор, отметьте и «1С:Предприятие».
  3. Завершите установку.

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

Шаг 2. Добавьте базу в список

  1. В окне запуска нажмите «Добавить» → «Добавление в список существующей информационной базы».
  2. Укажите тип расположения:
    • на данном компьютере или в локальной сети — путь к папке с файловой базой;
    • на сервере 1С:Предприятия — имя кластера и имя базы на сервере;
    • на веб-сервере — адрес публикации, например https://1c.company.ru/buh.
  3. На следующем шаге в поле выбора основного режима запуска укажите «Тонкий клиент» вместо «Выбирать автоматически».
  4. Там же задайте скорость соединения: «Обычная» для офиса, «Низкая» для слабых каналов.

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

Ярлык с параметрами удобен, когда базу нужно открывать без окна выбора:

rem клиент-серверная база
"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Иванова" /P"пароль"

rem напрямую тонкий клиент нужной версии, низкая скорость соединения
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8c.exe" /S"srv1c\buh" /O low

rem база на веб-сервере
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8c.exe" /WS"https://1c.company.ru/buh"

Номер версии в пути подставьте свой: он совпадает с папкой в C:\Program Files\1cv8\. Пароль в ярлыке хранить не стоит: лучше включить аутентификацию операционной системы для пользователя в базе.

1cestart.exe — это не клиент, а программа запуска. Она читает список баз и сама выбирает нужную версию платформы. Для ярлыков пользователям надёжнее использовать её: после обновления платформы ярлыки не придётся править.

Ошибки тонкого клиента и как их диагностировать

Большинство сбоев тонкого клиента — это не «сломанный клиент», а проблема соединения, версии или кэша.

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

Как сбросить кэш тонкого клиента

Кэш лежит в профиле пользователя Windows, в двух местах:

  • %APPDATA%\1C\1cv8\
  • %LOCALAPPDATA%\1C\1cv8\

Внутри — папки с длинными именами-идентификаторами, по одной на базу. Самый мягкий способ — ключ запуска:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /ClearCache

Если не помогло, закройте все окна 1С этого пользователя и удалите папки-идентификаторы в обоих каталогах. Файлы ibases.v8i и 1cestart.cfg не трогайте: в них список баз.

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

Где смотреть подробности

  • 📒 Журнал регистрации базы — ошибки прикладного кода, кто и когда работал.
  • 🧭 Консоль администрирования серверов — список сеансов, к какому рабочему процессу привязан сеанс, нагрузка на процессы.
  • 📄 Технологический журнал — для сложных случаев: долгие вызовы сервера, исключения, блокировки. Включается файлом logcfg.xml на сервере. Пишет много данных, поэтому включайте его на время диагностики и с ограниченным набором событий.

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

На стороне пользователя и сети

  • ⚙️ Установите режим запуска «Тонкий клиент» явно, а не «Выбирать автоматически»: исключите случайный запуск толстого клиента.
  • 📶 Для удалённых офисов выставьте низкую скорость соединения.
  • 🧹 После крупного обновления конфигурации сбросьте кэш один раз, если появились странности с формами.
  • 🌐 Для работы через интернет используйте веб-публикацию с HTTPS, а не проброс портов сервера.
  • 🖥️ Держите на рабочих местах ту же версию платформы, что на сервере, и обновляйте их вместе с сервером.

На стороне сервера

Тонкий клиент быстр настолько, насколько быстр сервер. Узкие места обычно такие:

  • 💽 медленный диск под СУБД и под временные файлы рабочих процессов;
  • 🧠 нехватка памяти на сервере 1С, когда рабочие процессы начинают перезапускаться;
  • 🔐 длительные блокировки при проведении документов массово, в рабочее время;
  • 📊 тяжёлые отчёты, которые сформированы без отборов за несколько лет.

Для разработчика: число вызовов сервера

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

  • ✅ Собирайте данные за один вызов: одна серверная процедура вместо цепочки маленьких.
  • ✅ Используйте &НаСервереБезКонтекста, если данные формы серверу не нужны. Иначе форма целиком уходит на сервер и обратно.
  • ✅ Не вызывайте сервер из обработчиков, которые срабатывают часто, например при каждом изменении строки, без необходимости.
  • ✅ Для поиска медленных мест используйте замер производительности в Конфигураторе при отладке: он показывает время клиентского и серверного кода по строкам.
// Плохо: два вызова сервера подряд
&НаКлиенте
Процедура ЗаполнитьРеквизиты()
    Объект.ИНН = ПолучитьИНН(Объект.Контрагент);
    Объект.КПП = ПолучитьКПП(Объект.Контрагент);
КонецПроцедуры

// Лучше: один вызов, без передачи формы
&НаСервереБезКонтекста
Функция РеквизитыКонтрагента(Контрагент)
    Возврат Новый Структура("ИНН, КПП", Контрагент.ИНН, Контрагент.КПП);
КонецФункции

Частые вопросы о тонком клиенте

Нужна ли отдельная лицензия для тонкого клиента?
Нет. Клиентская лицензия одна для любого вида клиента: тонкого, толстого или веб-клиента. Лицензия расходуется на сеанс пользователя, а не на тип программы.
Можно ли работать в тонком клиенте без постоянной связи с сервером?
Нет. Тонкий клиент не хранит данные базы и не проводит документы сам. При обрыве связи работа прерывается до восстановления соединения.
Как понять, в каком клиенте я сейчас работаю?
Откройте окно «О программе» из главного меню. В нём указана версия платформы и вид клиентского приложения.
Работает ли тонкий клиент на Linux и macOS?
Да, платформа 8.3 выпускается для Windows, Linux и macOS, и тонкий клиент есть во всех трёх вариантах. Ограничения возможны в работе с отдельным торговым оборудованием и внешними компонентами.
Почему у коллеги та же база открывается быстрее?
Чаще всего у него уже прогрет кэш, а у вас первый запуск после обновления. Если разница остаётся, сравните сеть: подключение по Wi-Fi или через VPN даёт большую задержку, чем кабель в офисе.