Где выполняется код и сколько весит сеть: разбор двух клиентов 1С:Предприятия 8.3
Содержание
Тонкий клиент 1С (1cv8c.exe) только показывает формы и выполняет клиентский код, а всю работу с данными отдаёт серверу. Толстый клиент (1cv8.exe) умеет больше: открывает обычные формы, обращается к объектам базы прямо на компьютере пользователя и содержит Конфигуратор, но тяжелее и сильнее нагружает сеть. Для типовых конфигураций на управляемых формах (БП 3.0, ЗУП 3.1, УТ 11) почти всегда выбирают тонкий клиент.
Толстый клиент нужен в трёх случаях: старая конфигурация на обычных формах, внешняя обработка или отчёт с обычной формой и работа разработчика в Конфигураторе. Отличия тонкого и толстого клиента ниже разобраны по пунктам — с таблицей, сценариями и настройками режима запуска.
Тонкий и толстый клиент 1С в одной таблице
Сначала сводное сравнение. Подробности по каждой строке — в разделах ниже.
| Критерий | Тонкий клиент | Толстый клиент |
|---|---|---|
| Исполняемый файл | 1cv8c.exe | 1cv8.exe |
| Обычные формы | не поддерживает | поддерживает |
| Управляемые формы | да | да |
| Работа с данными на клиенте | нет, только через сервер | да, объекты базы доступны на клиенте |
| Подключение к базе | файловая, клиент-серверная, через веб-сервер (HTTP) | файловая, клиент-серверная |
| Нагрузка на сеть | низкая | заметно выше |
| Требования к ПК | скромные | выше: больше памяти и процессора |
| Конфигуратор | нет | есть (1cv8.exe DESIGNER) |
| Отдельный дистрибутив | есть, небольшой | входит в полный дистрибутив платформы |
| Платформы ОС | Windows, Linux, macOS | Windows, Linux |
Лицензии одни и те же: и тонкий, и толстый клиент занимают одну клиентскую лицензию на сеанс. Выбор клиента на стоимость не влияет.
Как устроены клиенты: где выполняется код
Разница между клиентами — не в интерфейсе, а в том, какая часть программы работает на компьютере пользователя.
Тонкий клиент
Тонкий клиент знает только про формы и клиентский код. Каждый раз, когда нужно прочитать справочник, провести документ или построить отчёт, он вызывает сервер. Сервер выполняет запросы, формирует результат и возвращает клиенту готовые данные формы.
- 📦 На клиент не загружаются модули объектов, модули менеджеров и серверные процедуры.
- 🔁 Обмен идёт порциями: данные формы туда, результат обратно.
- 🌐 Связь с сервером возможна по протоколу 1С или по HTTP через опубликованную на веб-сервере базу.
Толстый клиент
Толстый клиент работает с объектной моделью целиком. В режиме обычного приложения код может прямо на клиенте создать объект документа, выполнить Запрос, обойти выборку и записать изменения. Для этого платформа загружает на компьютер пользователя существенную часть конфигурации.
- 🧱 Доступны прикладные объекты, запросы, регистры — без обращения к серверным процедурам.
- 🗂 Поддерживаются оба режима: обычное приложение и управляемое приложение.
- 🛠 Тот же исполняемый файл запускает Конфигуратор.
А что с файловой базой
В файловом варианте отдельного сервера нет. Серверную часть выполняет сам процесс клиента: тонкий клиент подгружает её в себя и работает с файлом 1Cv8.1CD напрямую. Поэтому в файловой базе разница в скорости между клиентами почти не видна. Заметной она становится в клиент-серверном варианте и при удалённой работе.
Скорость и требования к сети: какой клиент быстрее
На медленных каналах тонкий клиент выигрывает почти всегда. Он передаёт только то, что нужно показать на экране, а тяжёлые вычисления остаются на сервере рядом с СУБД.
Толстый клиент в клиент-серверной базе при первом запуске загружает и кэширует конфигурацию. Затем при работе в обычных формах часть данных идёт на клиент, и обработка происходит уже там. Через интернет или VPN с задержкой в десятки миллисекунд это ощущается как подвисания при открытии форм и проведении.
| Условия | Что выбрать |
|---|---|
| Офис, локальная сеть 1 Гбит/с, клиент-сервер | любой, разница небольшая |
| Удалённый офис, VPN | тонкий клиент |
| Работа из дома через интернет без VPN | тонкий клиент через веб-сервер |
| Слабый ноутбук, 4 ГБ памяти | тонкий клиент |
| Файловая база на сетевой папке | любой; но файловая база по сети медленна сама по себе |
Файловая база в общей папке через VPN тормозит при любом клиенте: по сети гоняется сам файл базы. Тонкий клиент здесь не спасёт. Решение — перевести базу в клиент-серверный вариант или опубликовать её на веб-сервере и подключаться по HTTP.
Расход памяти тоже различается. Толстый клиент держит в себе больше метаданных и кода, поэтому на одном и том же терминальном сервере тонких сеансов помещается больше. Для фермы RDP это прямая экономия на железе.
Что умеет и чего не умеет каждый клиент
Главное ограничение тонкого клиента — обычные формы. Если конфигурация написана в режиме обычного приложения (УТ 10.3, БП 2.0, ЗУП 2.5 и другие старые решения), тонкий клиент её просто не откроет.
Только в толстом клиенте
- 📄 Обычные формы конфигурации, внешних обработок и отчётов.
- 🧮 Прямой доступ к объектам базы из клиентского кода в обычном приложении.
- 🛠 Конфигуратор: правка конфигурации, выгрузка и загрузка
.dt, тестирование и исправление. - 🐞 Отладка обычных форм.
Только в тонком клиенте
- 🌐 Подключение к базе через веб-сервер по HTTP или HTTPS.
- 🍏 Запуск на macOS.
- 📥 Компактная установка без Конфигуратора — удобно раздавать пользователям.
Общие возможности
Оба клиента работают с управляемыми формами, выполняют клиентский код, печатают, открывают файлы, поддерживают внешние компоненты. В управляемом приложении код форм пишется с директивами &НаКлиенте и &НаСервере, и для толстого клиента он работает так же, как для тонкого.
В свойствах конфигурации есть флажок Использовать обычные формы в управляемом приложении. С ним старые обычные формы откроются в управляемом режиме, но только в толстом клиенте. Тонкий клиент такую форму не покажет.
Когда без толстого клиента не обойтись
В современных типовых конфигурациях толстый клиент для обычной бухгалтерской работы не нужен. Но есть ситуации, где без него никак.
- Старая конфигурация на обычных формах. Пока база не переведена на управляемые формы, работать в ней можно только через
1cv8.exe. - Внешние обработки с обычной формой. Многие старые загрузчики из Excel, обработки групповой правки и самописные отчёты сделаны на обычных формах. В тонком клиенте они не откроются.
- Разработка и администрирование. Конфигуратор есть только в составе толстого клиента. Программисту и администратору нужна полная установка платформы.
- Отладка кода, который в обычном приложении выполняется на клиенте. Например, когда нужно проверить поведение старого модуля без переделки под управляемые формы.
- Отдельные интеграции. Старые обработки обмена, рассчитанные на создание объектов на клиенте, иногда работают только в толстом клиенте до доработки.
Во всех остальных случаях лучше ставить пользователям тонкий клиент. Меньше нагрузки на сеть, меньше памяти, меньше прав на клиентском компьютере.
Торговое оборудование и периферия
Раньше переход на тонкий клиент часто упирался в кассы, сканеры и весы. Сейчас это редко бывает препятствием.
Тонкий клиент под Windows поддерживает внешние компоненты (Native API и COM) и создание COM-объектов на клиенте. Через них типовые конфигурации подключают кассовые аппараты, сканеры штрихкодов, весы, терминалы эквайринга и принтеры этикеток. Механизм подключаемого оборудования в БП 3.0, УТ 11 и Рознице работает в тонком клиенте.
Трудности возникают в трёх местах:
- 🧩 Старые драйверы, написанные под обычное приложение и толстый клиент. Нужен драйвер, совместимый с механизмом подключаемого оборудования текущей конфигурации.
- 🖥 Терминальный сервер . Сканер или весы подключены к компьютеру пользователя, а 1С работает на сервере. Тут дело не в клиенте, а в пробросе порта через RDP. Нужна настройка проброса COM-портов или USB.
- 🌍 Веб-клиент. В браузере внешние компоненты требуют отдельного расширения и работают не со всем оборудованием. Если касса нужна в браузере, это стоит проверить заранее.
Сканер штрихкодов в режиме эмуляции клавиатуры работает в любом клиенте без драйвера: 1С получает штрихкод как набранный текст. Для склада это самый простой вариант.
Для 64-разрядных систем следите за разрядностью компоненты. 64-битный клиент не загрузит 32-битную COM-компоненту в свой процесс. Если драйвер оборудования есть только в 32-битной версии, ставьте 32-битный тонкий клиент.
Безопасность и права на режимы запуска
С точки зрения безопасности тонкий клиент предпочтительнее. На компьютер пользователя попадает только клиентский код, а вся бизнес-логика, проверки прав и обращения к СУБД выполняются на сервере. Перехватить или подменить серверную логику с клиентской стороны нельзя.
Толстый клиент в режиме обычного приложения получает доступ к объектам базы прямо на клиенте. Права ролей при этом тоже проверяются, но площадь для ошибок больше: код обычных форм часто пишется без разделения «клиент — сервер».
Запрет толстого клиента через роли
В конфигурации у роли есть права на сам режим запуска: Тонкий клиент, Толстый клиент, Веб-клиент, а также Внешнее соединение и Automation. Если у пользователя нет ни одной роли с правом Толстый клиент, запустить базу
через 1cv8.exe он не сможет.
В типовых конфигурациях права на режимы раздают через профили групп доступа. Самостоятельно менять роли в типовой конфигурации стоит только через расширение или после согласования с тем, кто её обновляет.
Режим запуска пользователя
В карточке пользователя в Конфигураторе (Администрирование → Пользователи) на вкладке Прочие есть поле Режим запуска: Авто, Обычное приложение, Управляемое приложение. Оно определяет режим приложения, а не клиент. Тонкий клиент всегда работает только в управляемом приложении.
Защита от опасных действий
В обоих клиентах работает защита от опасных действий: при открытии внешней обработки или подключении внешней компоненты платформа показывает предупреждение. Отключать её у пользователей без прав администратора не стоит.
Как переключить режим запуска базы
Выбор клиента задаётся в списке информационных баз и параметрами командной строки.
В окне запуска 1С
- Выделите базу в окне запуска и нажмите
Изменить. - Пройдите мастер до последней страницы.
- В поле
Основной режим запускавыберитеТонкий клиент,Толстый клиент,Веб-клиентилиВыбирать автоматически. - Нажмите
Готовои запустите базу кнопкой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). На компьютер разработчика ставят полный дистрибутив платформы.