Кто считает, а кто показывает: устройство клиентов 1С 8.3
Содержание
Тонкий клиент 1С (1cv8c.exe) только показывает формы и выполняет клиентский код, а всю работу с данными отдаёт серверу. Толстый клиент (1cv8.exe) умеет выполнять и серверную логику прикладных объектов у себя, поэтому весит больше, требует больше памяти и нужен там, где конфигурация написана на обычных формах. Для БП 3.0, ЗУП 3.1, УТ 11 и других конфигураций на управляемых формах выбирают тонкий клиент, для старых БП 2.0, ЗУП 2.5, УТ 10.3 — толстый.
Есть и третий вариант — веб-клиент, который работает в браузере без установки платформы. Ниже разница между клиентами в цифрах и сценариях, плюс настройка режима запуска и приёмы, которые реально ускоряют работу.
Как устроена клиентская часть 1С 8.3
Любой сеанс 1С:Предприятия делится на две половины: клиентскую и серверную. Клиентская рисует интерфейс и обрабатывает нажатия. Серверная читает и пишет данные, проводит документы, строит запросы.
Где физически работает серверная половина, зависит от варианта базы:
- 🖥️ Файловая база — серверная часть запускается внутри процесса клиента на компьютере пользователя. Данные читаются из файла
1Cv8.1CDпо сети или с локального диска. - 🏢 Клиент-серверная база
— серверная часть работает в рабочих процессах кластера 1С (
rphost), данные хранит СУБД (MS SQL Server, PostgreSQL и другие). Клиент подключается к агенту сервера по порту 1540. - 🌐 Через веб-сервер — клиент общается с публикацией базы на IIS или Apache по HTTP/HTTPS, а та уже с базой.
Код конфигурации размечен директивами компиляции: &НаКлиенте, &НаСервере, &НаСервереБезКонтекста. Тонкий клиент выполняет только то, что помечено &НаКлиенте. Всё остальное он отправляет на сервер вызовом и ждёт ответа.
Толстый клиент устроен иначе. В нём есть полный набор прикладных объектов, и в режиме обычного приложения он выполняет модули объектов, модули менеджеров и обработчики обычных форм у себя. Данные он всё равно получает с сервера, но логику крутит на стороне пользователя.
Отсюда главное практическое следствие: тонкому клиенту нужен быстрый ответ сервера, а толстому — мощный компьютер пользователя и широкий канал до данных.
Толстый клиент 1С: что умеет и где без него не обойтись
Толстый клиент — исполняемый файл 1cv8.exe из полного дистрибутива платформы. Тот же файл запускает Конфигуратор, поэтому на компьютере разработчика или администратора он есть всегда.
Что умеет толстый клиент:
- 📄 работать с обычными формами и режимом «Обычное приложение» — единственный клиент, который это умеет;
- 🔁 запускать и конфигурации на управляемых формах в режиме «Управляемое приложение»;
- 🧩 выполнять серверный код прикладных объектов локально в обычном приложении;
- 🛠️ открывать базу в режиме Конфигуратора (параметр
DESIGNER).
Чего толстый клиент не делает: не подключается к базе через веб-сервер. Его варианты — файловая база или прямое подключение к кластеру серверов .
Ограничения, которые чувствуются на практике:
- ⚖️ Тяжёлый дистрибутив и больше памяти. Каждый открытый сеанс держит у себя прикладные объекты конфигурации, кэш метаданных и данные форм.
- 🐢 Чувствительность к сети. В файловой базе по сетевой папке толстый клиент тянет по сети страницы файла
1Cv8.1CD. На медленном канале или через VPN это выливается в секунды ожидания на каждом открытии списка. - 🔐 Больше кода на стороне пользователя. В обычном приложении часть логики выполняется на компьютере, где её сложнее контролировать.
Без толстого клиента не обойтись в трёх случаях: базы на старых конфигурациях с обычными формами, самописные решения на обычном приложении и работа в Конфигураторе.
Тонкий клиент 1С: сильные стороны и ограничения
Тонкий клиент — 1cv8c.exe. Он ставится отдельным компонентом в установщике платформы. В списке компонентов есть два пункта: «Тонкий клиент» и «Тонкий клиент, файловый вариант». Первый работает только с клиент-серверными базами и публикациями на веб-сервере. Второй добавляет поддержку файловых баз.
Если тонкий клиент установлен без файлового варианта, при открытии файловой базы он откажется подключаться. Добавьте компонент через повторный запуск установщика той же версии платформы.
Плюсы тонкого клиента :
- 📦 небольшой дистрибутив и быстрая установка на рабочие места;
- 💾 скромный расход оперативной памяти на сеанс — заметно на терминальном сервере, где работают десятки пользователей;
- 🌍 работа через интернет : подключение к публикации базы по HTTP или HTTPS без VPN до сервера 1С;
- 🔒 прикладная логика и данные остаются на сервере, на компьютер пользователя уходит только то, что отображается в форме.
Ограничения:
- ❌ Только управляемые формы. Конфигурацию на обычных формах тонкий клиент не откроет.
- 📡 Зависимость от числа серверных вызовов. Если форма при каждом действии ходит на сервер, на медленном канале она будет «залипать». Это вопрос качества кода конфигурации, а не клиента.
- 🧱 Нет Конфигуратора. Для разработки и обновления конфигурации нужен полный дистрибутив.
Веб-клиент повторяет возможности тонкого, но работает в браузере. Он удобен там, где ничего нельзя ставить: чужой ноутбук, Linux без пакетов платформы, разовый доступ. Минусы — зависимость от браузера, ограничения на работу с файлами и внешними компонентами, а также ощутимо медленнее отрисовка больших форм.
Сравнение толстого и тонкого клиента по производительности
Скорость в 1С складывается из трёх частей: сколько данных идёт по сети, сколько раз клиент ждёт сервер и сколько считает сам компьютер пользователя. Клиенты по-разному тратят эти ресурсы.
| Параметр | Толстый клиент | Тонкий клиент | Веб-клиент |
|---|---|---|---|
| Исполняемый файл | 1cv8.exe | 1cv8c.exe | браузер |
| Формы | обычные и управляемые | управляемые | управляемые |
| Подключение через веб-сервер | нет | да | да |
| Расход памяти на сеанс | высокий | низкий | зависит от браузера |
| Требования к каналу | высокие | умеренные | умеренные |
| Нагрузка на сервер 1С | ниже, часть логики у клиента | выше, вся логика на сервере | выше |
| Конфигуратор | есть | нет | нет |
Как это выглядит в реальных сценариях:
- Файловая база на локальном диске, один пользователь. Разница почти незаметна. Серверная часть в обоих случаях работает на том же компьютере.
- Файловая база в сетевой папке, 5–10 человек. Тонкий клиент с файловым вариантом тоже читает файл по сети, так что чудес не будет. Узкое место — сам файловый режим. Здесь помогает либо переход на клиент-серверный вариант, либо публикация базы на веб-сервере рядом с файлом.
- Клиент-серверная база в офисе. Тонкий клиент ощутимо легче для рабочих мест, сервер берёт на себя расчёты. Толстый клиент имеет смысл только для обычных форм.
- Удалённые сотрудники через интернет. Тонкий клиент через публикацию по HTTPS или работа на терминальном сервере. Толстый клиент через VPN к кластеру на медленном канале — худший вариант.
- Терминальный сервер на 30 пользователей. Тонкий клиент экономит память сервера: на каждого пользователя приходится один лёгкий процесс вместо тяжёлого.
Если пользователи жалуются на тормоза в тонком клиенте, сначала посмотрите на канал до сервера и загрузку рабочих процессов кластера. Замена тонкого клиента на толстый в управляемой конфигурации проблему обычно не решает.
Режимы запуска: какой клиент открывать для вашей базы
Решение складывается из двух настроек: свойства самой конфигурации и параметров базы в списке информационных баз.
Свойство конфигурации. В Конфигураторе откройте свойства корня конфигурации и найдите «Основной режим запуска»: «Управляемое приложение» или «Обычное приложение». Типовые решения последних поколений (БП 3.0, ЗУП 3.1, УТ 11, ERP, УНФ) работают как управляемое приложение.
Настройка базы в окне запуска. В стартовом окне выделите базу, нажмите «Изменить» и пройдите до последней страницы мастера. Там есть поле «Основной режим запуска» с вариантами:
- «Выбирать автоматически» — платформа сама решает по свойствам конфигурации;
- «Тонкий клиент»;
- «Веб-клиент»;
- «Толстый клиент».
На той же странице указывается версия платформы и разрядность, если на компьютере стоит несколько версий.
Запуск из командной строки. Для ярлыков и скриптов администраторы задают клиент явно:
:: Тонкий клиент, клиент-серверная база
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8c.exe" ENTERPRISE /S"srv1c\buh" /N"Иванов" /P"пароль"
:: Толстый клиент в режиме обычного приложения, файловая база
"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 /F"D:\Bases\Buh" /RunModeManagedApplication
Номер версии в пути подставьте свой — посмотрите папку C:\Program Files\1cv8\. Если ярлык ведёт на 1cestart.exe, это не клиент, а программа запуска: она открывает список баз и сама вызывает нужный исполняемый файл.
Настройка и ускорение работы тонкого и толстого клиента
Большая часть приёмов не зависит от выбранного клиента, но кое-что работает только для одного из них.
Публикация базы на веб-сервере для тонкого клиента
Это главный приём для удалённых сотрудников. Базу публикуют на IIS или Apache, а в окне запуска добавляют её как «На веб-сервере» с адресом вида https://server/buh.
Порядок в общих чертах:
- Установите на сервер IIS или Apache и компоненту платформы «Модули расширения веб-сервера».
- Запустите Конфигуратор от имени администратора, откройте
Администрирование → Публикация на веб-сервере. - Укажите имя публикации и каталог, нажмите «Опубликовать».
- Настройте HTTPS: голый HTTP через интернет передаёт данные открытым текстом.
- На рабочем месте добавьте базу с вариантом подключения через веб-сервер и выберите режим «Тонкий клиент».
Очистка кэша клиента
Когда после обновления конфигурации формы открываются со старым видом или клиент падает на старте, помогает запуск с параметром /ClearCache:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8c.exe" ENTERPRISE /S"srv1c\buh" /ClearCache
Радикальный вариант — удалить папки кэша в профиле пользователя: %APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8. Перед удалением закройте все сеансы 1С этого пользователя, иначе часть файлов будет занята. Список баз хранится в файле ibases.v8i в %APPDATA%\1C\1CEStart — эту папку не трогайте, иначе пользователь потеряет список.
Медленный канал
В параметрах базы в окне запуска есть настройка скорости соединения. Значение «Низкая» заставляет клиент экономить трафик: реже обновлять данные форм и меньше передавать лишнего. Для сотрудников на мобильном интернете это заметная разница.
Разрядность и версия
На рабочих местах с 8 ГБ памяти и больше ставьте 64-разрядный клиент: тяжёлые отчёты и большие табличные документы перестают упираться в лимит адресного пространства 32-битного процесса. Версия клиента при прямом подключении к кластеру должна совпадать с версией сервера 1С вплоть до номера сборки.
Что ускоряет файловую базу
- 📁 держите файл базы на SSD сервера, а не на NAS с медленными дисками;
- 🛡️ добавьте папку базы в исключения антивируса на сервере и рабочих местах;
- 🔗 при росте числа пользователей переходите на клиент-серверный вариант или публикацию на веб-сервере рядом с базой: тонкий клиент по HTTP передаёт только данные форм, а не страницы файла.
Частые вопросы о тонком и толстом клиенте 1С
Нужна ли отдельная лицензия для тонкого клиента?
Можно ли открыть внешнюю обработку на обычных формах в тонком клиенте?
Как узнать, в каком клиенте я сейчас работаю?
1cv8c.exe или 1cv8.exe.