Толстый клиент против тонкого: как устроены режимы запуска 1С:Предприятия 8.3 и какой нужен вам
Содержание
Тонкий клиент 1С (1cv8c.exe) только показывает формы и выполняет клиентский код, а всю работу с данными отдаёт серверу. Толстый клиент (1cv8.exe) умеет больше: открывает конфигурации на обычных формах, запускает Конфигуратор и способен выполнять серверный код у себя. Для БП 3.0, ЗУП 3.1, УТ 11 и ERP в повседневной работе выбирайте тонкий клиент. Толстый нужен для старых конфигураций на обычных формах (БП 2.0, УТ 10.3, ЗУП 2.5), для внешних обработок с обычными формами и для разработчика.
Разница в архитектуре определяет всё остальное: сколько памяти съест каждый сеанс, как программа работает через интернет , можно ли поставить клиент на Mac и сколько пользователей поместится на одном терминальном сервере. Лицензии при этом расходуются одинаково — один сеанс занимает одну клиентскую лицензию в любом режиме.
Тонкий, толстый и веб-клиент: три способа открыть одну базу
Клиент 1С — это программа, через которую пользователь работает с информационной базой. Конфигурация и данные одни и те же, меняется только то, какая часть работы выполняется на компьютере пользователя.
| Параметр | Тонкий клиент | Толстый клиент | Веб-клиент |
|---|---|---|---|
| Исполняемый файл | 1cv8c.exe | 1cv8.exe | браузер |
| Обычные формы (обычное приложение) | нет | да | нет |
| Управляемые формы («Такси») | да | да | да |
| Конфигуратор | нет | да (1cv8.exe DESIGNER) | нет |
| Подключение через веб-сервер (HTTP) | да | нет | да |
| Нагрузка на компьютер пользователя | низкая | высокая | низкая, но зависит от браузера |
| macOS | да | нет | да |
Платформа 8.3 ставится в Windows полным дистрибутивом: в нём есть и 1cv8.exe, и 1cv8c.exe. Тонкий клиент распространяется ещё и отдельным облегчённым дистрибутивом — его ставят на рабочие места, где базы лежат на сервере.
Ярлык «1С:Предприятие» на рабочем столе обычно указывает на 1cestart.exe. Это не клиент, а стартер: он показывает список баз и запускает нужную версию платформы в нужном режиме.
Где выполняется код: архитектура тонкого и толстого клиента
Код конфигурации 1С делится на клиентский и серверный. В управляемом приложении это видно по директивам компиляции: &НаКлиенте, &НаСервере, &НаСервереБезКонтекста.
Как работает тонкий клиент
Тонкий клиент выполняет только процедуры &НаКлиенте. Обратиться к справочнику
, документу или запросу напрямую он не может: ему доступны лишь примитивные типы, ссылки и данные формы. Когда нужно что-то прочитать или записать, клиент делает вызов сервера, сервер выполняет работу и возвращает готовый результат.
- 📤 на сервер уходит: команда, параметры, данные формы (при контекстном вызове);
- 📥 обратно приходит: ответ, обновлённые данные формы, готовая печатная форма;
- 🖥️ запросы, проведение, расчёты регистров выполняются на сервере 1С:Предприятия.
В клиент-серверном варианте сервером служит кластер 1С. Клиент подключается к агенту сервера (порт 1540), тот передаёт его менеджеру кластера (1541), а дальше сеанс обслуживает рабочий процесс из диапазона портов, заданного в свойствах рабочего сервера. Если база опубликована на веб-сервере, тонкий клиент ходит к ней по HTTP или HTTPS.
Как работает толстый клиент
Толстый клиент содержит в себе и клиентскую, и серверную часть платформы. В режиме обычного приложения клиентский код может напрямую обращаться к объектам базы: Справочники.Номенклатура.НайтиПоКоду(), чтение реквизитов через точку от ссылки, запросы прямо в модуле формы. Платформа сама превращает это в обращения к серверу, программист их не видит.
Это удобно при разработке и коварно при эксплуатации. Одна строка вида Ссылка.Контрагент.ИНН в цикле по тысяче строк превращается в тысячу обращений к серверу. В локальной сети это терпимо, через VPN — заметно тормозит.
Файловая база — особый случай
В файловом варианте отдельного сервера нет: серверная часть работает внутри процесса клиента на том же компьютере. Поэтому на одной машине с файловой базой разница между тонким и толстым клиентом по скорости почти не видна.
Отдельный дистрибутив тонкого клиента работает только с клиент-серверными базами и базами через веб-сервер. Чтобы открыть файловую базу на своём диске, нужна полная установка платформы.
Какой клиент 1С работает быстрее
Однозначного ответа «тонкий всегда быстрее» нет. Скорость зависит от того, где находится база и как написан код конфигурации.
| Ситуация | Что быстрее | Почему |
|---|---|---|
| Файловая база на своём компьютере | примерно одинаково | сервер работает в том же процессе |
| Файловая база в сетевой папке | разницы мало, обе медленные | данные всё равно читаются по сети файлом |
| Клиент-серверная база в локальной сети | тонкий клиент, особенно на типовых конфигурациях | меньше данных идёт клиенту, быстрее старт |
| Удалённая работа через VPN или интернет | тонкий клиент, лучше через веб-сервер | толстый клиент чувствителен к задержкам сети |
| Терминальный сервер (RDP) | тонкий клиент | каждый сеанс съедает меньше памяти на сервере |
| Старая конфигурация на обычных формах | только толстый | тонкий её не откроет |
Первый запуск толстого клиента после обновления конфигурации обычно дольше: клиенту нужно получить и закешировать больше метаданных. Тонкий клиент загружает только то, что нужно для интерфейса.
Тяжёлые операции — закрытие месяца , расчёт зарплаты, проведение пачки документов — идут на сервере в обоих режимах. Здесь выбор клиента скорость почти не меняет. Если медленно закрывается месяц, ищите причину в сервере 1С, СУБД и дисках, а не в клиенте.
В свойствах базы в списке баз есть параметр «Скорость соединения» со значением «Низкая». Для тонкого клиента на медленном канале его стоит включить: платформа реже обновляет данные на форме и экономит трафик.
Требования к компьютерам, серверу и сети
Точные системные требования меняются от версии к версии платформы, поэтому ниже — практические ориентиры для типовых конфигураций на интерфейсе «Такси».
Рабочее место пользователя
- 💻 Тонкий клиент: подойдёт офисный ПК с 4 ГБ ОЗУ. Один сеанс БП 3.0 занимает ориентировочно 200–500 МБ памяти.
- 🧱 Толстый клиент: лучше от 8 ГБ ОЗУ. Сеанс обычно тяжелее в полтора-два раза, а Конфигуратор с большой конфигурацией вроде ERP легко забирает 2–4 ГБ.
- 🍏 macOS: доступен только тонкий клиент; Linux поддерживает оба режима.
Терминальный сервер
На RDS-сервере разница между режимами умножается на число пользователей. Пример: 30 бухгалтеров по 400 МБ в тонком клиенте — около 12 ГБ только на 1С. Те же 30 человек в толстом клиенте по 800 МБ — около 24 ГБ. Разница в 12 ГБ — это ещё один сервер или апгрейд памяти.
Сеть
- 🌐 тонкий клиент нормально работает через интернет и VPN, особенно при подключении через опубликованную на веб-сервере базу (Apache или IIS);
- 🐢 толстый клиент через интернет к клиент-серверной базе подключать можно, но при задержке выше 20–30 мс работа становится вязкой;
- 🔒 толстому клиенту в клиент-серверном режиме нужны открытые порты кластера (1540, 1541 и диапазон рабочих процессов), тонкому через веб-сервер — только 80 или 443.
Версия платформы
В клиент-серверном варианте версия клиента должна точно совпадать с версией сервера 1С, вплоть до последней цифры. Это касается обоих клиентов. Если на компьютере нет нужной версии, стартер 1cestart.exe выдаст ошибку о несовпадении версий. Для тонкого клиента
при подключении через веб-сервер можно настроить автоматическую загрузку нужной версии с сервера.
Тонкий или толстый клиент: что выбрать под вашу задачу
1cv8.exe). Для проверки, как увидит форму пользователь, запускайте отладку в тонком клиенте.Короткое правило: если конфигурация на управляемых формах, рядовым пользователям — тонкий клиент, а толстый оставьте тем, кто правит конфигурацию и запускает обработки на обычных формах.
Ограничения и подводные камни каждого режима
Что не умеет тонкий клиент
- 🚫 не открывает конфигурации в режиме обычного приложения;
- 🚫 не показывает обычные формы внешних отчётов и обработок, даже если они лежат в управляемой конфигурации;
- 🚫 не запускает Конфигуратор и не обновляет конфигурацию;
- 🚫 код
&НаКлиентене может работать с объектами базы — внешнюю обработку, написанную под толстый клиент, придётся переписывать.
Чем рискует толстый клиент
- ⚠️ много памяти на сеанс — терминальный сервер быстро упирается в ОЗУ;
- ⚠️ чувствительность к сети: обрывы и задержки дают зависания форм, особенно в обычном приложении;
- ⚠️ пользователь, у которого есть толстый клиент, при наличии прав может открыть и Конфигуратор — права на него нужно ограничивать ролями, а не надеяться на отсутствие ярлыка;
- ⚠️ самописный код обычных форм часто «тянет» данные через точку на клиенте, и проблема видна только под нагрузкой.
Типичная путаница
Режим запуска задаётся в трёх местах, и они могут противоречить друг другу:
- Свойства конфигурации — свойство «Основной режим запуска»: управляемое или обычное приложение.
- Карточка пользователя в Конфигураторе (
Администрирование → Пользователи) — поле «Режим запуска»: «Авто», «Обычное приложение» или «Управляемое приложение». - Свойства базы в списке баз — «Основной режим запуска»: автоматически, тонкий клиент, веб-клиент, толстый клиент.
Если пользователю в карточке выставлено «Обычное приложение», а в списке баз — «Тонкий клиент», база откроется не в том режиме или не запустится вовсе. Начинайте разбор с карточки пользователя: в типовых управляемых конфигурациях там должно стоять «Авто» или «Управляемое приложение».
Как переключиться с толстого клиента на тонкий и обратно
Сменить режим для одной базы на одном компьютере
- Откройте окно запуска 1С и выделите базу в списке.
- Нажмите «Изменить».
- Пройдите мастер до последней страницы с параметрами запуска.
- В поле «Основной режим запуска» выберите «Тонкий клиент» или «Толстый клиент».
- Нажмите «Готово» и запустите базу кнопкой «1С:Предприятие».
Запустить нужный режим из командной строки
Толстый клиент в режиме обычного или управляемого приложения запускается параметрами 1cv8.exe:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /RunModeOrdinaryApplication
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /RunModeManagedApplication
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8c.exe" ENTERPRISE /S"srv1c\buh"
Номер версии в пути подставьте свой — он совпадает с названием папки в C:\Program Files\1cv8\. Ключ /F указывает путь к файловой базе, /S — сервер и имя базы.
Режим запуска из Конфигуратора
Для отладки удобно задать режим в самом Конфигураторе: Сервис → Параметры, закладка «Запуск 1С:Предприятия». Там выбирают, в каком клиенте стартует отладка — тонком, толстом (управляемое или обычное приложение) или веб-клиенте.
Перевести конфигурацию на тонкий клиент
Сменить переключатель недостаточно, если сама конфигурация написана на обычных формах. Для типовых решений путь один — переход на новую редакцию: с БП 2.0 на БП 3.0, с УТ 10.3 на УТ 11, с ЗУП 2.5 на ЗУП 3.1. Это перенос данных в новую конфигурацию, а не смена клиента.
Для самописной конфигурации переход — это доработка:
- 🔧 переделать обычные формы в управляемые;
- 🔧 вынести обращения к данным в процедуры
&НаСервереи&НаСервереБезКонтекста; - 🔧 сменить у конфигурации «Основной режим запуска» на «Управляемое приложение»;
- 🔧 переписать внешние отчёты и обработки, у которых только обычные формы.
Перед изменением конфигурации рабочей базы сделайте выгрузку в .dt и проверьте доработки на копии. Обновление структуры базы требует монопольного доступа, поэтому пользователей нужно заранее вывести из программы.
Обратный переход — с тонкого на толстый — делается простым переключением в свойствах базы: толстый клиент открывает управляемые конфигурации без доработок.