Тонкий клиент или толстый: какой режим запуска 1С подойдёт вашей базе
Содержание
Для современных конфигураций на управляемых формах (Бухгалтерия 3.0, ЗУП 3.1, Управление торговлей 11) берите тонкий клиент: он быстрее запускается, меньше нагружает компьютер и одинаково работает с файловой и клиент-серверной базой. Толстый клиент нужен там, где в конфигурации остались обычные формы, и для работы в Конфигураторе.
Разница между ними не в «красоте» окон, а в том, что умеет программа на компьютере пользователя. Тонкий клиент — это только интерфейс: он показывает формы и передаёт команды. Толстый умеет больше: исполняет обычные формы, может сам работать с файловой базой и тянет за собой весь платформенный движок.
Где выполняется код: архитектура двух клиентов
В 8.3 клиент — это программа, которую пользователь запускает у себя. Платформа ставит на компьютер несколько исполняемых файлов, и два из них нас интересуют:
1cv8c.exe— тонкий клиент;1cv8.exe— толстый клиент (он же окно запуска и Конфигуратор).
Тонкий клиент
Тонкий клиент работает только с управляемым приложением. Он отображает формы, обрабатывает ввод и вызывает серверные процедуры. Весь «тяжёлый» код — запросы, проведение документов, формирование отчётов — исполняется на стороне сервера, а на клиент приходит готовый результат.
В коде это те процедуры, что помечены &НаКлиенте: именно они работают на компьютере пользователя. Всё с пометкой &НаСервере уходит на сервер.
Толстый клиент
Толстый клиент содержит полный набор возможностей платформы. Он умеет:
- открывать обычные формы (в том числе в старых конфигурациях);
- работать с файловой базой напрямую, без сервера;
- выполнять в «Предприятии» тот же код управляемых форм, что и тонкий клиент.
В управляемом приложении он ведёт себя почти как тонкий: клиентский код — у него, серверный — на сервере. Но программа при этом тяжелее и стартует дольше.
Третий вариант — веб-клиент
Для полноты картины: есть ещё веб-клиент, он работает в браузере и требует публикации базы на веб-сервере. Тонкий клиент к такой публикации тоже можно подключить, но об этом ниже.
| Признак | Тонкий клиент | Толстый клиент |
|---|---|---|
| Исполняемый файл | 1cv8c.exe | 1cv8.exe |
| Обычные формы | не открывает | открывает |
| Управляемые формы | да | да |
| Конфигуратор | нет | да (через 1cv8.exe) |
| Размер и нагрузка на ПК | меньше | больше |
| Основное назначение | ежедневная работа | старые конфигурации, администрирование |
Нагрузка на компьютер и сервер: что быстрее на практике
Главная выгода тонкого клиента — лёгкость. Он грузит меньше компонентов, поэтому быстрее запускается и занимает меньше оперативной памяти. На слабых офисных компьютерах и в терминальных сессиях это заметно: на одном терминальном сервере помещается больше пользователей.
Где скорость почти не отличается:
- проведение документов и тяжёлые отчёты — их считает сервер, а не клиент;
- запросы к базе — они выполняются на стороне СУБД и сервера 1С.
Поэтому «ускорить 1С заменой толстого клиента на тонкий» получится только в части запуска и отзывчивости интерфейса. Если медленно проводится документ, виноват не клиент, а запрос, блокировки или сервер.
Отдельный случай — файловая база. Здесь сервера 1С нет, и серверный код исполняется на компьютере пользователя в обоих режимах. Нагрузка на сеть и диск от выбора клиента почти не меняется: оба клиента читают файл базы по сетевой папке.
Если пользователи жалуются на «тормоза», не начинайте со смены клиента. Сначала посмотрите, на что уходит время: на запуск программы, на открытие форм или на выполнение конкретной операции. Для первых двух поможет тонкий клиент, для третьей — нет.
Сценарии: когда подходит тонкий клиент, а когда нужен толстый
Решение зависит от того, на чём написана ваша конфигурация и как организована работа.
/WS) либо веб-клиент в браузере.Что делать, если конфигурация на обычных формах
Бывает, что вы открыли старую базу тонким клиентом, а он сообщает, что приложение нужно запускать в другом режиме. Это признак обычных форм. Выход — запускать такую базу толстым клиентом либо переходить на управляемую конфигурацию. Пока переезда нет, держите на компьютерах пользователей именно толстый запуск.
В окне запуска 1С выберите базу, нажмите «Изменить» и найдите настройку варианта запуска. Там обычно можно выбрать «Выбирать автоматически», «Тонкий клиент» или «Толстый клиент». Автоматический выбор подхватывает режим, заданный в конфигурации.
Запуск из командной строки и параметры клиента
Знание параметров нужно администратору: ярлыки, скрипты входа, автозапуск на терминальном сервере. Базовые примеры:
:: тонкий клиент, клиент-серверная база
"C:\Program Files\1cv8\<версия>\bin\1cv8c.exe" /S "srv-1c\buh"
:: тонкий клиент, файловая база
"C:\Program Files\1cv8\<версия>\bin\1cv8c.exe" /F "D:\Bases\Buh"
:: тонкий клиент, публикация на веб-сервере
"C:\Program Files\1cv8\<версия>\bin\1cv8c.exe" /WS "http://srv-web/buh"
:: толстый клиент, режим «Предприятие»
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" ENTERPRISE /S "srv-1c\buh"
Вместо <версия> подставьте номер установленной платформы. Адрес srv-1c\buh — это имя сервера и имя базы в кластере.
Полезные ключи, которые встречаются чаще всего:
/S— подключение к серверу 1С,/F— к файловой базе,/WS— к веб-публикации;/Nи/P— имя пользователя и пароль (пароль в открытом виде в ярлыке — риск, см. раздел о безопасности);/RunModeOrdinaryApplicationи/RunModeManagedApplication— принудительный режим обычного или управляемого приложения;/ClearCache— сброс локального кэша клиента;/DisableStartupMessagesи/DisableStartupDialogs— убрать сообщения и диалоги при старте.
Полный перечень смотрите в справке платформы к запуску из командной строки: он зависит от релиза, и угадывать ключи не стоит.
Ключ /ClearCache чистит кэш на компьютере того, кто его запускает, и не трогает чужие сеансы. Но перед сбросом закройте 1С на этом компьютере: открытые окна и несохранённые данные пропадут.
Совместимость и ограничения: что не умеет тонкий клиент
Главное ограничение — обычные формы. Если в конфигурации есть обычная форма, тонкий клиент её не покажет. В современных типовых конфигурациях таких форм почти нет, но в доработках и внешних обработках они встречаются.
Из-за этого после перехода на тонкий клиент иногда «ломаются»:
- старые внешние обработки и отчёты, написанные под обычные формы;
- самописные доработки с обычными формами;
- обработки, которые рассчитывают на возможности только толстого клиента.
Ещё одно различие — Конфигуратор. Он всегда запускается через 1cv8.exe, то есть толстым клиентом. Тонкий клиент Конфигуратором не является и открыть его не может.
Платформа также различается по набору поддерживаемых систем. Отдельный дистрибутив тонкого клиента занимает меньше места и подходит для рабочих мест, где разработка не нужна. Если установили только его, Конфигуратора на компьютере не будет — это нормально.
Расхождения в поведении кода учитывают через режим совместимости и директивы компиляции (&НаКлиенте, &НаСервере). Это работа разработчика, а не пользователя. Пользователю достаточно знать: если форма не открывается в тонком клиенте, проблему надо искать в типе формы.
Безопасность и администрирование
С точки зрения защиты данных тонкий клиент удобнее, и вот почему.
Прямой доступ к базе
Клиент-серверная база : тонкий клиент общается с сервером 1С и не ходит к СУБД напрямую. Пользователь не видит ни адреса сервера баз данных, ни файлов базы. Это снижает риск, что кто-то подключится к SQL-серверу в обход 1С.
Файловая база: каждый клиент, тонкий или толстый, получает доступ к папке с файлом базы. Поэтому любой, у кого есть права на каталог, может скопировать файл 1Cv8.1CD. Для чувствительных данных переходите на клиент-серверный вариант.
Сеть и порты
Тонкий клиент в клиент-серверном режиме подключается к серверу по сети, поэтому на брандмауэре должны быть открыты порты кластера. По умолчанию это 1540 и 1541, а также диапазон рабочих процессов 1560–1591. Если администратор менял настройки, порты будут другими.
Для подключения по интернету разумнее опубликовать базу на веб-сервере и пускать тонкий клиент через HTTPS. Тогда наружу открыт один порт, а не диапазон.
Пароли и ярлыки
Не вшивайте пароль в ярлык через /P: он виден в свойствах ярлыка и в списке процессов. Для автоматического входа лучше использовать вход по доменной учётной записи (аутентификация операционной системы), если она включена в настройках пользователя базы.
Менять способ запуска у всех пользователей сразу не стоит. Протестируйте на одном рабочем месте: выясните, открываются ли все формы и внешние обработки. Только после этого раздавайте новые ярлыки.
Обновление клиентов
Версия клиента должна соответствовать версии платформы на сервере. Если на сервере обновили платформу, а на компьютере остался старый клиент, при запуске появится предложение или требование обновиться. Для тонкого клиента нужен только небольшой дистрибутив без средств разработки. Для парка компьютеров заведите единый установочный пакет и раздавайте его через групповые политики.
Мини-кейс: переезд бухгалтерии на тонкий клиент
Допустим, в офисе 12 бухгалтеров, база БП 3.0 клиент-серверная, на компьютерах стоит толстый клиент. Запуск занимает заметное время, а на терминальном сервере для удалённых сотрудников не хватает памяти.
Порядок действий такой:
- Установить на один тестовый компьютер платформу с тонким клиентом и создать ярлык с
1cv8c.exe /S. - Пройтись по рабочим сценариям: ввод документов, отчёты, печать, обмен, внешние печатные формы.
- Отдельно проверить все внешние обработки, которыми пользуются сотрудники.
- Если что-то не открылось, найти разработчика этой обработки или оставить её запуск за одним толстым клиентом.
- Переключить остальных пользователей, начав с самых нетребовательных.
После такого перехода у большинства организаций остаются один-два рабочих места с толстым клиентом: для администратора и для старых обработок.
Когда менять клиент не нужно
Не трогайте настройку, если выполняются все условия: база маленькая, пользователей двое-трое, жалоб нет, а в базе есть старые обработки с обычными формами. Выигрыш будет небольшим, а риск что-то сломать — вполне реальный.
Меняйте клиент, когда есть понятная причина: нехватка памяти на терминальном сервере, медленный старт на слабых компьютерах или переход на управляемую конфигурацию.
Типичные проблемы при смене клиента
Если уже переключили пользователей и что-то пошло не так, смотрите по симптомам.
/RunModeOrdinaryApplication.Если кэш клиента «забился» и форма ведёт себя странно, один запуск с /ClearCache часто решает вопрос без переустановки.
Частые вопросы
Можно ли работать в тонком клиенте с файловой базой?
/F. Серверный код при этом исполняется на вашем компьютере.Тонкий клиент быстрее толстого?
Нужен ли Конфигуратор тонкому клиенту?
Чем тонкий клиент отличается от веб-клиента?
Как узнать, какой клиент запущен сейчас?
1cv8c.exe — тонкий клиент, 1cv8.exe — толстый.