Как устроен тонкий клиент 1С:Предприятия 8.3 и когда переводить на него пользователей
Содержание
Тонкий клиент 1С:Предприятия — это программа 1cv8c.exe, которая только показывает формы и выполняет клиентский код, а все запросы к данным и проведение документов отдаёт серверу. Он работает лишь с управляемыми формами (интерфейс «Такси»), поэтому подходит для БП 3.0, ЗУП 3.1, УТ 11 и других современных конфигураций, а для старых решений на обычных формах нужен толстый клиент 1cv8.exe.
Типичная ситуация: бухгалтер из филиала подключается к базе в головном офисе, и в толстом клиенте каждый отчёт открывается минуту. Переключение на тонкий клиент снимает основную нагрузку с канала: по сети идут уже готовые данные формы, а не сырые записи таблиц.
Тонкий клиент в 1С: как он работает изнутри
В 1С:Предприятии 8.3 код конфигурации разделён директивами компиляции. Процедуры с &НаКлиенте выполняются на компьютере пользователя, с &НаСервере — на сервере. Тонкий клиент умеет исполнять только первую часть.
Что происходит, когда пользователь нажимает «Провести»:
- 🖱 Тонкий клиент фиксирует действие и данные формы.
- 📡 Отправляет вызов серверу (в клиент-серверном варианте — рабочему процессу кластера, при веб-доступе — через веб-сервер по HTTP или HTTPS).
- 🗄 Сервер читает и пишет базу, формирует движения, проверяет права.
- 📦 Обратно приходит результат: обновлённые данные формы или сообщение об ошибке.
На клиенте нет объектной модели базы данных. Там нельзя напрямую прочитать справочник или выполнить запрос — это делает только сервер. Поэтому тонкий клиент «весит» меньше, а его поведение предсказуемее на слабых машинах.
Три варианта подключения
| Вариант | Строка подключения | Что нужно |
|---|---|---|
| Клиент-серверная база | Srvr="srv1c";Ref="buh"; | Кластер серверов 1С, порты 1540, 1541 и диапазон рабочих процессов |
| Файловая база | File="D:\Bases\Buh"; | Тонкий клиент с файловым вариантом (полный дистрибутив платформы) |
| Через веб-сервер | ws="https://1c.firma.ru/buh"; | Публикация базы на IIS или Apache |
При работе с файловой базой серверную часть фактически выполняет тот же компьютер. Выигрыша по трафику здесь почти нет — главный смысл тонкого клиента раскрывается в клиент-серверном варианте и при подключении через интернет.
Чем тонкий клиент отличается от толстого клиента и веб-клиента
Все три клиента открывают одну и ту же базу, но с разными возможностями.
| Параметр | Тонкий клиент | Толстый клиент | Веб-клиент |
|---|---|---|---|
| Файл запуска | 1cv8c.exe | 1cv8.exe | Браузер |
| Нужна установка | Да, небольшой дистрибутив | Да, полная платформа | Нет |
| Обычные формы | Нет | Да | Нет |
| Управляемые формы | Да | Да | Да |
| Конфигуратор | Нет | Да | Нет |
| Работа через интернет | Да, через веб-сервер | Только с VPN и хорошим каналом | Да |
| Внешние компоненты, оборудование | Да | Да | Ограниченно, через расширения браузера |
| Нагрузка на канал | Низкая | Высокая | Низкая |
Короче говоря:
- 🧱 Толстый клиент нужен администратору и программисту: только из него запускается Конфигуратор, и только он открывает конфигурации на обычных формах (УПП, БП 2.0, УТ 10.3).
- 🪶 Тонкий клиент — рабочий инструмент для пользователей современных конфигураций.
- 🌐 Веб-клиент выручает, когда на компьютер ничего нельзя поставить: ноутбук сотрудника на удалёнке, macOS без установленной платформы, временный доступ для аудитора.
В части лицензирования разницы нет: каждый сеанс пользователя в любом клиенте занимает клиентскую лицензию.
Когда стоит использовать тонкий клиент 1С
Тонкий клиент — разумный выбор по умолчанию, если конфигурация работает в режиме управляемого приложения. Особенно он оправдан в таких случаях:
- 🏢 база на сервере 1С, пользователей больше 5–10, нужна стабильная скорость;
- 🌍 филиалы и удалённые сотрудники подключаются через интернет ;
- 💻 офисные компьютеры слабые, памяти немного;
- 🔒 нужно, чтобы на рабочих местах не было инструментов разработки;
- 🖥 терминальный сервер : на нём тонкий клиент расходует меньше памяти на сеанс.
Когда тонкий клиент не подойдёт:
- конфигурация на обычных формах — она в нём просто не откроется;
- нужно запустить Конфигуратор или выгрузить базу
в
.dt; - старые внешние обработки на обычных формах, которые никто не будет переделывать.
Установка и настройка тонкого клиента 1С: пошагово
Шаг 1. Выберите дистрибутив
На сайте обновлений фирмы 1С для каждой версии платформы есть отдельные дистрибутивы тонкого клиента — для Windows (32 и 64 бита), Linux и macOS. Кроме того, тонкий клиент входит в полный дистрибутив платформы как отдельный компонент.
Версия тонкого клиента должна совпадать с версией платформы на сервере 1С до последней цифры — иначе подключение к кластеру не пройдёт.
Шаг 2. Установите программу
- Запустите
setup.exeиз папки дистрибутива. - В списке компонентов оставьте нужный вариант тонкого клиента. Если пользователь будет открывать и файловые базы, отметьте вариант с поддержкой файловых баз.
- Остальные компоненты (сервер, модули расширения веб-сервера, Конфигуратор) на рабочее место пользователя не ставьте.
- Дождитесь окончания установки. Программа появится в
C:\Program Files\1cv8\<версия>\bin\1cv8c.exe.
Шаг 3. Добавьте базу в список
- Запустите 1С, в окне выбора баз нажмите «Добавить».
- Выберите «Добавление в список существующей информационной базы».
- Укажите тип расположения: на сервере 1С:Предприятия, на веб-сервере или на этом компьютере.
- Введите имя кластера и имя базы, адрес публикации или путь к каталогу.
- На следующем шаге в поле основного режима запуска выберите «Тонкий клиент». Там же можно указать версию платформы, которой открывать именно эту базу.
Шаг 4. Запуск из командной строки
Ярлык для пользователя удобно настроить сразу на нужную базу:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8c.exe" /S"srv1c\buh" /N"Иванова"
Для веб-публикации вместо /S используется /WS"https://1c.firma.ru/buh". Пароль в ярлыке не храните — его увидит любой, кто откроет свойства файла.
Шаг 5. Раздайте список баз централизованно
Когда пользователей десятки, список баз вручную не настраивают. Подготовьте общий файл со списком баз .v8i на сетевом ресурсе и укажите его в файле 1CEStart.cfg на рабочих местах параметром CommonInfoBases. Каждый пользователь увидит одинаковый список, а изменения достаточно внести в одном файле.
Как ускорить работу тонкого клиента
Медленная работа тонкого клиента почти всегда упирается не в сам клиент, а в канал, сервер или код конфигурации.
Что проверить в первую очередь:
- ⏱ Задержку сети. Тонкий клиент делает много коротких серверных вызовов. При пинге 60–80 мс до сервера каждая форма открывается заметно медленнее, чем при 1–5 мс в локальной сети.
- 🐢 Режим низкой скорости соединения. В настройках подключения и в диалоге входа можно указать низкую скорость соединения. Клиент тогда реже обращается к серверу и группирует данные — для филиалов на слабом интернете это ощутимо помогает.
- 🛡 Антивирус. Добавьте в исключения каталоги кеша 1С в профиле пользователя:
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8. Проверка каждого файла кеша при открытии форм даёт заметные задержки. - 🧹 Кеш. Если после обновления конфигурации формы открываются криво или медленно, запустите базу с ключом
/ClearCache. Это безопасно: кеш пересоздаётся при следующем входе. - 🗂 Собственный код. Самая частая причина «тормозов» — серверный вызов в цикле на клиенте. Каждая итерация — отдельная поездка по сети. Такие места переписывают так, чтобы данные собирались одним вызовом
&НаСервере.
Пример: как не надо и как надо
// Медленно: 100 строк — 100 вызовов сервера
&НаКлиенте
Процедура ЗаполнитьЦены(Команда)
Для Каждого Строка Из Объект.Товары Цикл
Строка.Цена = ПолучитьЦенуНаСервере(Строка.Номенклатура);
КонецЦикла;
КонецПроцедуры
// Быстро: один вызов сервера на всю таблицу
&НаКлиенте
Процедура ЗаполнитьЦеныБыстро(Команда)
ЗаполнитьЦеныНаСервере();
КонецПроцедуры
&НаСервере
Процедура ЗаполнитьЦеныНаСервере()
Для Каждого Строка Из Объект.Товары Цикл
Строка.Цена = ПолучитьЦену(Строка.Номенклатура);
КонецЦикла;
КонецПроцедуры
Здесь ПолучитьЦену — серверная функция модуля, а данные формы Объект доступны в серверной процедуре формы и после вызова сами вернутся на клиент.
Если для ускорения решили перезапустить рабочие процессы или службу сервера 1С, помните: все сеансы пользователей оборвутся, несохранённые документы пропадут. Делайте это вне рабочего времени и предупредите пользователей заранее.
Почему тонкий клиент не подключается: частые ошибки
Если ошибка повторяется только у одного пользователя, сначала сравните его настройки с соседом: версия в свойствах базы, строка подключения, наличие лишнего ключа в ярлыке. Так быстрее, чем копаться в сервере.
Безопасность тонкого клиента: где риски и как их закрыть
Сам по себе тонкий клиент безопаснее толстого: на рабочем месте нет Конфигуратора и прямого доступа к таблицам базы. Но есть места, о которых забывают.
| Риск | Что делать |
|---|---|
Пароль в ярлыке или в .v8i | Убрать, использовать аутентификацию операционной системы |
| Веб-публикация открыта по HTTP | Перевести на HTTPS с действующим сертификатом |
| Публикация доступна всему интернету | Ограничить по IP, вынести за VPN или обратный прокси |
| Пользователь запускает чужие внешние обработки | Не давать права на открытие внешних обработок, оставить включённой защиту от опасных действий |
| Порты кластера открыты наружу | Закрыть 1540, 1541 и диапазон рабочих процессов от интернета, удалённым — только веб-доступ |
| Право запуска толстого клиента у всех | Снять это право в ролях, оставить только администраторам |
Защиту от опасных действий включают в карточке пользователя информационной базы. Тогда при попытке открыть внешнюю обработку или выполнить потенциально опасную операцию программа спросит подтверждение.
Аутентификация операционной системы удобна в домене: пользователь входит в 1С без отдельного пароля, а при увольнении достаточно заблокировать доменную учётную запись.