Где выполняется код и сколько весит сеть: разбор двух клиентов 1С:Предприятия 8.3

· 9 мин

Содержание

Тонкий клиент 1С (1cv8c.exe) только показывает формы и выполняет клиентский код, а всю работу с данными отдаёт серверу. Толстый клиент (1cv8.exe) умеет больше: открывает обычные формы, обращается к объектам базы прямо на компьютере пользователя и содержит Конфигуратор, но тяжелее и сильнее нагружает сеть. Для типовых конфигураций на управляемых формах (БП 3.0, ЗУП 3.1, УТ 11) почти всегда выбирают тонкий клиент.

Толстый клиент нужен в трёх случаях: старая конфигурация на обычных формах, внешняя обработка или отчёт с обычной формой и работа разработчика в Конфигураторе. Отличия тонкого и толстого клиента ниже разобраны по пунктам — с таблицей, сценариями и настройками режима запуска.

Тонкий и толстый клиент 1С в одной таблице

Сначала сводное сравнение. Подробности по каждой строке — в разделах ниже.

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

Лицензии одни и те же: и тонкий, и толстый клиент занимают одну клиентскую лицензию на сеанс. Выбор клиента на стоимость не влияет.

Как устроены клиенты: где выполняется код

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

Тонкий клиент

Тонкий клиент знает только про формы и клиентский код. Каждый раз, когда нужно прочитать справочник, провести документ или построить отчёт, он вызывает сервер. Сервер выполняет запросы, формирует результат и возвращает клиенту готовые данные формы.

  • 📦 На клиент не загружаются модули объектов, модули менеджеров и серверные процедуры.
  • 🔁 Обмен идёт порциями: данные формы туда, результат обратно.
  • 🌐 Связь с сервером возможна по протоколу 1С или по HTTP через опубликованную на веб-сервере базу.

Толстый клиент

Толстый клиент работает с объектной моделью целиком. В режиме обычного приложения код может прямо на клиенте создать объект документа, выполнить Запрос, обойти выборку и записать изменения. Для этого платформа загружает на компьютер пользователя существенную часть конфигурации.

  • 🧱 Доступны прикладные объекты, запросы, регистры — без обращения к серверным процедурам.
  • 🗂 Поддерживаются оба режима: обычное приложение и управляемое приложение.
  • 🛠 Тот же исполняемый файл запускает Конфигуратор.

А что с файловой базой

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

Скорость и требования к сети: какой клиент быстрее

На медленных каналах тонкий клиент выигрывает почти всегда. Он передаёт только то, что нужно показать на экране, а тяжёлые вычисления остаются на сервере рядом с СУБД.

Толстый клиент в клиент-серверной базе при первом запуске загружает и кэширует конфигурацию. Затем при работе в обычных формах часть данных идёт на клиент, и обработка происходит уже там. Через интернет или VPN с задержкой в десятки миллисекунд это ощущается как подвисания при открытии форм и проведении.

УсловияЧто выбрать
Офис, локальная сеть 1 Гбит/с, клиент-серверлюбой, разница небольшая
Удалённый офис, VPNтонкий клиент
Работа из дома через интернет без VPNтонкий клиент через веб-сервер
Слабый ноутбук, 4 ГБ памятитонкий клиент
Файловая база на сетевой папкелюбой; но файловая база по сети медленна сама по себе

Файловая база в общей папке через VPN тормозит при любом клиенте: по сети гоняется сам файл базы. Тонкий клиент здесь не спасёт. Решение — перевести базу в клиент-серверный вариант или опубликовать её на веб-сервере и подключаться по HTTP.

Расход памяти тоже различается. Толстый клиент держит в себе больше метаданных и кода, поэтому на одном и том же терминальном сервере тонких сеансов помещается больше. Для фермы RDP это прямая экономия на железе.

Что умеет и чего не умеет каждый клиент

Главное ограничение тонкого клиента — обычные формы. Если конфигурация написана в режиме обычного приложения (УТ 10.3, БП 2.0, ЗУП 2.5 и другие старые решения), тонкий клиент её просто не откроет.

Только в толстом клиенте

  • 📄 Обычные формы конфигурации, внешних обработок и отчётов.
  • 🧮 Прямой доступ к объектам базы из клиентского кода в обычном приложении.
  • 🛠 Конфигуратор: правка конфигурации, выгрузка и загрузка .dt, тестирование и исправление.
  • 🐞 Отладка обычных форм.

Только в тонком клиенте

  • 🌐 Подключение к базе через веб-сервер по HTTP или HTTPS.
  • 🍏 Запуск на macOS.
  • 📥 Компактная установка без Конфигуратора — удобно раздавать пользователям.

Общие возможности

Оба клиента работают с управляемыми формами, выполняют клиентский код, печатают, открывают файлы, поддерживают внешние компоненты. В управляемом приложении код форм пишется с директивами &НаКлиенте и &НаСервере, и для толстого клиента он работает так же, как для тонкого.

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

Когда без толстого клиента не обойтись

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

  1. Старая конфигурация на обычных формах. Пока база не переведена на управляемые формы, работать в ней можно только через 1cv8.exe.
  2. Внешние обработки с обычной формой. Многие старые загрузчики из Excel, обработки групповой правки и самописные отчёты сделаны на обычных формах. В тонком клиенте они не откроются.
  3. Разработка и администрирование. Конфигуратор есть только в составе толстого клиента. Программисту и администратору нужна полная установка платформы.
  4. Отладка кода, который в обычном приложении выполняется на клиенте. Например, когда нужно проверить поведение старого модуля без переделки под управляемые формы.
  5. Отдельные интеграции. Старые обработки обмена, рассчитанные на создание объектов на клиенте, иногда работают только в толстом клиенте до доработки.

Во всех остальных случаях лучше ставить пользователям тонкий клиент. Меньше нагрузки на сеть, меньше памяти, меньше прав на клиентском компьютере.

Какой клиент ставить пользователю?

Торговое оборудование и периферия

Раньше переход на тонкий клиент часто упирался в кассы, сканеры и весы. Сейчас это редко бывает препятствием.

Тонкий клиент под Windows поддерживает внешние компоненты (Native API и COM) и создание COM-объектов на клиенте. Через них типовые конфигурации подключают кассовые аппараты, сканеры штрихкодов, весы, терминалы эквайринга и принтеры этикеток. Механизм подключаемого оборудования в БП 3.0, УТ 11 и Рознице работает в тонком клиенте.

Трудности возникают в трёх местах:

  • 🧩 Старые драйверы, написанные под обычное приложение и толстый клиент. Нужен драйвер, совместимый с механизмом подключаемого оборудования текущей конфигурации.
  • 🖥 Терминальный сервер . Сканер или весы подключены к компьютеру пользователя, а 1С работает на сервере. Тут дело не в клиенте, а в пробросе порта через RDP. Нужна настройка проброса COM-портов или USB.
  • 🌍 Веб-клиент. В браузере внешние компоненты требуют отдельного расширения и работают не со всем оборудованием. Если касса нужна в браузере, это стоит проверить заранее.

Сканер штрихкодов в режиме эмуляции клавиатуры работает в любом клиенте без драйвера: 1С получает штрихкод как набранный текст. Для склада это самый простой вариант.

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

Безопасность и права на режимы запуска

С точки зрения безопасности тонкий клиент предпочтительнее. На компьютер пользователя попадает только клиентский код, а вся бизнес-логика, проверки прав и обращения к СУБД выполняются на сервере. Перехватить или подменить серверную логику с клиентской стороны нельзя.

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

Запрет толстого клиента через роли

В конфигурации у роли есть права на сам режим запуска: Тонкий клиент, Толстый клиент, Веб-клиент, а также Внешнее соединение и Automation. Если у пользователя нет ни одной роли с правом Толстый клиент, запустить базу через 1cv8.exe он не сможет.

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

Режим запуска пользователя

В карточке пользователя в Конфигураторе (Администрирование → Пользователи) на вкладке Прочие есть поле Режим запуска: Авто, Обычное приложение, Управляемое приложение. Оно определяет режим приложения, а не клиент. Тонкий клиент всегда работает только в управляемом приложении.

Защита от опасных действий

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

Как переключить режим запуска базы

Выбор клиента задаётся в списке информационных баз и параметрами командной строки.

В окне запуска 1С

  1. Выделите базу в окне запуска и нажмите Изменить.
  2. Пройдите мастер до последней страницы.
  3. В поле Основной режим запуска выберите Тонкий клиент, Толстый клиент, Веб-клиент или Выбирать автоматически.
  4. Нажмите Готово и запустите базу кнопкой 1С:Предприятие.

При значении Выбирать автоматически платформа сама подбирает клиент по основному режиму запуска конфигурации и настройкам пользователя.

Через ярлык или командную строку

Для тонкого клиента запускайте 1cv8c.exe, для толстого — 1cv8.exe ENTERPRISE. Пример для клиент-серверной базы:

"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8c.exe" ENTERPRISE /S"srv1c\buh"
"C:\Program Files\1cv8\8.3.24.1586\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /RunModeManagedApplication

Номер версии в пути подставьте свой. Параметры /RunModeOrdinaryApplication и /RunModeManagedApplication задают режим приложения для толстого клиента: обычное или управляемое.

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

Установка только тонкого клиента

Для пользователей есть отдельный дистрибутив тонкого клиента. Он меньше полного и не содержит Конфигуратора. В полном дистрибутиве платформы при установке можно выбрать компоненты: снимите 1С:Предприятие (толстый клиент) и оставьте 1С:Предприятие — Тонкий клиент.

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

Можно ли открыть Конфигуратор из тонкого клиента?
Нет. Конфигуратор входит только в состав толстого клиента (1cv8.exe). На компьютер разработчика ставят полный дистрибутив платформы.
Тонкий клиент требует отдельной лицензии?
Нет. Тонкий, толстый и веб-клиент используют одни и те же клиентские лицензии: один сеанс — одна лицензия.
Почему в тонком клиенте не открывается внешняя обработка?
Скорее всего, у неё обычная форма. Тонкий клиент такие формы не поддерживает. Откройте обработку в толстом клиенте или попросите разработчика сделать управляемую форму.
Работает ли толстый клиент через веб-сервер?
Нет. Подключение по HTTP к опубликованной базе доступно тонкому клиенту и веб-клиенту. Толстому клиенту нужна файловая или клиент-серверная база.
Какой клиент выбрать для RDP-сервера?
Тонкий: он расходует меньше памяти на сеанс, и на сервере помещается больше пользователей. Толстый ставьте только тем, кому нужны обычные формы или Конфигуратор.