Как работает тонкий клиент 1С:Предприятия 8.3 и чем он отличается от толстого и веб-клиента
Содержание
Тонкий клиент 1С — это программа 1cv8c.exe, которая только показывает интерфейс и принимает ввод пользователя, а данные и бизнес-логику обрабатывает сервер 1С:Предприятия. Он работает лишь с управляемым приложением (управляемыми формами) и подключается к базе напрямую по сети, через веб-сервер или к файловой базе. Отличие от толстого клиента простое: толстый 1cv8.exe умеет обычные формы и Конфигуратор, а тонкий легче, быстрее на слабом канале и не держит у себя данные базы.
Типичная ситуация: бухгалтер из филиала жалуется, что 1С «тормозит через VPN», а при открытии появляется сообщение о несовпадении версий клиента и сервера. Обе проблемы решаются настройкой тонкого клиента . Ниже про то, как он устроен, как его поставить и включить и что делать с ошибками.
Как устроен тонкий клиент и где выполняется код
Платформа 1С:Предприятие 8.3 делит работу между двумя сторонами: клиентом и сервером. Тонкий клиент отвечает только за клиентскую часть.
На стороне тонкого клиента:
- 🖥️ отрисовка форм, командного интерфейса, отчётов;
- ⌨️ обработка нажатий и ввода;
- 📎 работа с локальными файлами, буфером обмена, подключаемым оборудованием;
- 💾 кеш метаданных и пользовательских настроек.
На стороне сервера:
- 🗄️ чтение и запись в базу данных;
- 🔎 выполнение запросов;
- 📑 проведение документов, расчёты, формирование движений;
- 🔐 проверка прав доступа.
Тонкий клиент не видит таблиц базы и не выполняет запросы сам. Ему недоступны объекты, работающие с данными: Запрос, менеджеры справочников и документов, наборы записей регистров. Когда форме нужны данные, клиент вызывает процедуру на сервере, получает результат и показывает его.
В клиент-серверном варианте сервер — это кластер 1С на отдельной машине. В файловом варианте серверная часть работает внутри того же процесса на компьютере пользователя, но разделение кода на клиентский и серверный сохраняется. Поэтому одна и та же конфигурация одинаково ведёт себя в файловой базе и на сервере.
Отсюда главный плюс тонкого клиента: по сети идут не таблицы базы, а готовые порции данных для формы. На медленном канале разница с толстым клиентом в файловом режиме огромная.
Тонкий, толстый и веб-клиент: в чём разница
У 1С 8.3 три основных клиентских приложения для компьютера. Их часто путают, хотя назначение разное.
| Параметр | Тонкий клиент | Толстый клиент | Веб-клиент |
|---|---|---|---|
| Исполняемый файл | 1cv8c.exe | 1cv8.exe | браузер |
| Установка на компьютер | нужна (лёгкий дистрибутив) | нужна полная платформа | не нужна |
| Обычные формы | нет | да | нет |
| Управляемые формы | да | да | да |
| Конфигуратор | нет | да | нет |
| Подключение через веб-сервер | да | нет | да |
| Работа на медленном канале | хорошо | плохо | хорошо |
| Оборудование, внешние компоненты | полноценно | полноценно | с ограничениями, через расширение браузера |
| ОС | Windows, Linux, macOS | Windows, Linux | любая с поддерживаемым браузером |
Как выбрать на практике:
- ✅ Тонкий клиент — стандарт для работы в типовых конфигурациях на управляемых формах: БП 3.0, ЗУП 3.1, УТ 11, ERP. Подходит и для офиса, и для удалённого доступа.
- 🛠️ Толстый клиент — для программиста и администратора: Конфигуратор, старые конфигурации на обычных формах, отладка некоторых сценариев.
- 🌐 Веб-клиент — когда ставить программу нельзя: чужой компьютер, планшет, жёсткие политики безопасности.
Конфигурацию на обычных формах тонкий клиент не откроет. Старые решения вроде БП 2.0 или УПП работают только в толстом клиенте. Если такая база не запускается в тонком режиме — это не поломка, а ограничение платформы.
Установка тонкого клиента 1С и требования
Тонкий клиент входит в стандартный дистрибутив платформы. Отдельно есть облегчённый дистрибутив только с тонким клиентом — его удобно раздавать на рабочие места.
Что нужно для работы
- 💻 ОС Windows, Linux или macOS актуальной версии;
- 🧠 оперативная память: для одного сеанса хватает 4 ГБ на компьютере, больше нужно при нескольких открытых базах и тяжёлых отчётах;
- 🔑 доступ к лицензии: клиентская лицензия на сервере 1С или на компьютере пользователя;
- 🔌 сетевой доступ к серверу 1С или к веб-серверу с опубликованной базой.
Пошаговая установка на Windows
- Скачайте дистрибутив платформы той же версии, что и сервер 1С. Номер должен совпадать полностью, например
8.3.24.1548. - Запустите
setup.exeиз папки дистрибутива. - В списке компонентов оставьте тонкий клиент. Для работы с файловыми базами выберите вариант тонкого клиента с поддержкой файлового режима или поставьте полный клиент.
- Сервер 1С, модули веб-сервера и Конфигуратор на рабочее место бухгалтера ставить не нужно.
- Дождитесь окончания установки. Файлы окажутся в
C:\Program Files\1cv8\<версия>\bin\, рядом с1cv8c.exe. - Запустите ярлык «1С:Предприятие» — откроется окно запуска
1cestart.exeсо списком баз.
Порты для клиент-серверной базы
Если база на сервере 1С, клиент сначала обращается к агенту сервера по порту 1540, затем к менеджеру кластера (1541) и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560-1591. Все эти порты должны быть открыты от рабочего места до сервера.
При подключении через интернет не открывайте эти порты наружу. Используйте VPN или публикацию базы на веб-сервере по HTTPS.
Настройка запуска в режиме тонкого клиента
Окно запуска само выбирает клиент по свойствам конфигурации. Если нужно закрепить именно тонкий клиент, сделайте это в настройках базы.
Режим запуска в списке баз
- В окне запуска выделите базу и нажмите Изменить.
- Пройдите мастер до последней страницы.
- В поле «Основной режим запуска» выберите Тонкий клиент вместо «Выбирать автоматически».
- В поле «Версия 1С:Предприятия» при необходимости укажите конкретный номер платформы.
- Нажмите Готово.
Строки подключения
Тонкий клиент работает с тремя видами баз. Строку подключения видно внизу окна запуска при выделенной базе.
File="D:\Base\Buh"; // файловая база
Srvr="srv1c";Ref="buh_main"; // база на сервере 1С
ws="https://1c.company.ru/buh"; // база, опубликованная на веб-сервере
Третий вариант особенно полезен для филиалов и удалённых сотрудников. Клиент ходит по HTTPS через обычный веб-сервер, а порты кластера наружу не открываются.
Параметры командной строки
Режим запуска можно задать и в ярлыке. Пара параметров, которые реально пригодятся:
/RunModeManagedApplication— запуск в режиме управляемого приложения;/ClearCache— запуск с очисткой клиентского кеша.
Пример ярлыка для конкретной базы на сервере:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8c.exe" ENTERPRISE /S"srv1c\buh_main"
Автообновление тонкого клиента
Самая частая головная боль администратора — обновить клиент на всех рабочих местах после обновления сервера. Для базы, опубликованной на веб-сервере, это решается публикацией дистрибутива тонкого клиента вместе с базой. При подключении клиент сам скачает нужную версию.
В локальной сети используют общую папку с дистрибутивами и настройку окна запуска на неё: при несовпадении версий платформа ставится автоматически. Для этого у пользователя должны быть права на установку программ, иначе обновление придётся делать администратором.
Управляемые формы в тонком клиенте: что важно знать
Тонкий клиент и управляемые формы появились вместе и рассчитаны друг на друга. Форма описывается декларативно, а платформа сама строит её внешний вид под конкретного клиента — тонкого, веб или мобильного.
Директивы компиляции
Каждая процедура в модуле формы помечена, где она выполняется:
| Директива | Где выполняется | Доступ к данным формы |
|---|---|---|
&НаКлиенте | на клиенте | да |
&НаСервере | на сервере | да, форма передаётся на сервер |
&НаСервереБезКонтекста | на сервере | нет, только параметры |
&НаКлиентеНаСервереБезКонтекста | там, откуда вызвали | нет |
Каждый вызов с клиента на сервер — это отдельное обращение по сети. В локальной сети это незаметно, а через VPN с задержкой 50-100 мс десять лишних вызовов при открытии формы дают секунду ожидания.
Как это влияет на скорость
Для разработчика правило одно: собирать данные за один серверный вызов. Пример плохого и хорошего подхода:
// Плохо: два обращения к серверу
&НаКлиенте
Процедура КонтрагентПриИзменении(Элемент)
ИНН = ПолучитьИНН(Объект.Контрагент);
Договор = ПолучитьОсновнойДоговор(Объект.Контрагент);
КонецПроцедуры
// Хорошо: одно обращение, контекст формы не передаётся
&НаКлиенте
Процедура КонтрагентПриИзменении(Элемент)
Данные = ДанныеКонтрагента(Объект.Контрагент);
ИНН = Данные.ИНН;
Договор = Данные.Договор;
КонецПроцедуры
&НаСервереБезКонтекста
Функция ДанныеКонтрагента(Контрагент)
Результат = Новый Структура("ИНН, Договор");
Результат.ИНН = Контрагент.ИНН;
Результат.Договор = Контрагент.ОсновнойДоговорКонтрагента;
Возврат Результат;
КонецФункции
Имена реквизитов в примере условные — в вашей конфигурации они могут называться иначе.
Что видит пользователь
Для бухгалтера управляемые формы означают несколько удобных вещей:
- 📐 настройку формы без программиста: через меню «Ещё» → «Изменить форму» можно скрыть поля и поменять порядок;
- 📋 сохранение настроек списков, отборов и отчётов на сервере — они «переезжают» с пользователем на другой компьютер;
- ⏳ фоновое формирование тяжёлых отчётов: форма не зависает, пока сервер считает.
Оборудование и внешние системы через тонкий клиент
Всё, что физически подключено к компьютеру пользователя, работает на стороне клиента. Тонкий клиент здесь не уступает толстому.
Торговое оборудование
Сканеры штрихкодов, фискальные регистраторы, весы, эквайринговые терминалы подключаются через драйверы — внешние компоненты. В типовых конфигурациях за это отвечает подсистема подключаемого оборудования.
Порядок обычно такой:
- Установить драйвер производителя на компьютер с оборудованием.
- В конфигурации открыть настройки подключаемого оборудования (в БП и УТ — в разделе
Администрирование). - Добавить экземпляр устройства, выбрать драйвер, указать рабочее место.
- Выполнить тест устройства из карточки.
Оборудование привязывается к рабочему месту, а не к пользователю. Если кассир пересел за другой компьютер, на новом месте устройство нужно настроить заново.
В веб-клиенте с оборудованием сложнее: нужно расширение браузера для работы с внешними компонентами, и поддерживаются только компоненты, собранные под эту технологию.
Внешние системы и обмены
Интеграции с банками, сайтами, ЭДО и другими базами 1С обычно работают на сервере: веб-сервисы, HTTP-сервисы, регламентные задания, обмены данными. Для тонкого клиента это прозрачно: он лишь запускает обмен кнопкой или видит результат.
На клиенте выполняется только то, что требует локальных ресурсов:
- 📁 выбор и чтение файлов с диска пользователя (выписка банка, загрузка из Excel );
- 🧩 вызов COM-объектов Windows на компьютере пользователя;
- 🖨️ печать на локальный принтер.
Внешнее COM-соединение с базой (V83.COMConnector) — это отдельный механизм для программ, а не режим работы тонкого клиента.
Ошибки тонкого клиента и как их устранить
Большинство проблем при работе через тонкий клиент связаны с версиями, сетью и кешем. Ниже — что встречается на практике.
Ручная очистка кеша
Если параметр /ClearCache не помог, кеш удаляют вручную. Он лежит в профиле пользователя:
%APPDATA%\1C\1cv8\
%LOCALAPPDATA%\1C\1cv8\
Внутри — папки с длинными именами-идентификаторами, по одной на базу. Удалите их целиком.
Перед удалением полностью закройте 1С у этого пользователя. Другие пользователи и сервер не пострадают, но файл списка баз ibases.v8i в %APPDATA%\1C\1CEStart\ не трогайте — иначе пропадёт список баз.
Зависшие сеансы
Если пользователь закрыл тонкий клиент аварийно, его сеанс может некоторое время оставаться на сервере и занимать лицензию. Администратор видит такие сеансы в консоли кластера или командой rac session list.
Завершайте только сеанс конкретного пользователя и только убедившись, что он не работает. Принудительное завершение обрывает его несохранённые изменения.
Частые вопросы о тонком клиенте
Нужна ли отдельная лицензия для тонкого клиента?
Можно ли открыть Конфигуратор из тонкого клиента?
1cv8.exe. Для разработки и обновления конфигурации на компьютере должна стоять полная платформа.