Администрирование · 9 мин
Как определить толстый или тонкий клиент 1С
Как определить, толстый или тонкий клиент 1С запущен: проверка через командную строку, настройки базы, код и внешние признаки. Практическая инструкция.
Платформа 1С:Предприятие поддерживает несколько видов клиентских приложений: толстый клиент, тонкий клиент и веб-клиент. От того, какой клиент запущен, зависит доступный функционал: конфигураторские режимы, работа с COM-объектами, OLE, внешние компоненты и часть прикладных механизмов ведут себя по-разному. Поэтому вопрос «что у меня запущено» возникает и у пользователей, и у администраторов, и у разработчиков.
Определить тип клиента можно несколькими способами: по ярлыку запуска, через настройки информационной базы в стартере, программно из встроенного языка и по косвенным признакам интерфейса. Ниже разобраны все рабочие методы — от самого быстрого визуального до программного, пригодного для автоматизации.
Чем толстый клиент отличается от тонкого
Толстый клиент — это полноценное клиентское приложение, которое выполняет значительную часть прикладной логики на компьютере пользователя. Он поддерживает обычные формы, COM-соединения, OLE-автоматизацию, работу с файловой системой без ограничений и режим отладки толстого клиента. Для работы ему нужен широкий канал связи или файловый режим, потому что трафик между клиентом и сервером большой.
Тонкий клиент — облегчённое приложение, которое отрисовывает интерфейс и передаёт вызовы на сервер, где и исполняется основная логика. Он работает только с управляемыми формами, требует минимального канала связи и подходит для медленных сетей и удалённого доступа. Большинство современных конфигураций проектируются именно под тонкий клиент.
Веб-клиент — третий вариант: он работает в браузере и вообще не требует установки платформы. Его определить проще всего — если 1С открыта в браузере по адресу вида http://сервер/база, это веб-клиент.
Определение через меню «О программе»
Самый простой способ, не требующий никаких настроек, — открыть сведения о программе. В запущенной базе перейдите в меню «Сервис» (или нажмите кнопку с иконкой 1С в левом верхнем углу в такси-интерфейсе) и выберите пункт «О программе».
В открывшемся окне указаны версия платформы и вид клиентского приложения. Для толстого клиента будет явно указано «толстый клиент», для тонкого — «тонкий клиент». Дополнительно видно режим запуска: управляемое приложение или обычное приложение. Обычное приложение возможно только в толстом клиенте — это уже само по себе однозначный признак.
- 1Откройте информационную базу в 1С
- 2Нажмите кнопку главного меню (иконка 1С слева вверху) или меню «Сервис»
- 3Выберите пункт «О программе»
- 4Найдите строку с видом клиентского приложения и режимом запуска
- 5Сверьте: «обычное приложение» — это всегда толстый клиент
Проверка через настройки информационной базы в стартере
Тип клиента задаётся в свойствах информационной базы ещё до её запуска. Откройте стартер 1С (окно со списком баз), выделите нужную базу и нажмите кнопку «Изменить». Пройдите мастер настройки до страницы с параметрами запуска.
На одном из шагов есть блок «Вид клиента» с вариантами: «Выбирать автоматически», «Тонкий клиент», «Веб-клиент», «Толстый клиент (управляемое приложение)» и «Толстый клиент (обычное приложение)». Здесь видно, какой клиент будет запущен. Если выбран автоматический режим, платформа сама решает по настройкам конфигурации — и тогда фактический клиент надёжнее смотреть уже в запущенной базе через «О программе».
Программное определение из встроенного языка
Для разработчиков и администраторов, автоматизирующих проверки, платформа предоставляет функцию ТекущийРежимЗапуска(). Она возвращает значение системного перечисления РежимЗапускаКлиентскогоПриложения. Тонкий клиент определяется косвенно: функция вернёт Неопределено, потому что тонкий клиент работает только в управляемом режиме и не имеет отдельного значения.
Пример кода для выполнения во внешней обработке или консоли кода:
Режим = ТекущийРежимЗапуска();
Если Режим = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Тогда
Сообщить("Толстый клиент, управляемое приложение");
ИначеЕсли Режим = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение Тогда
Сообщить("Толстый клиент, обычное приложение");
Иначе
Сообщить("Тонкий клиент или веб-клиент");
КонецЕсли;
Чтобы отличить тонкий клиент от веб-клиента, используют конструкцию с попыткой обращения к файловой системе или проверку через Вычислить("ТипЗнч(...)") — но надёжнее анализировать ИнформациюОСреде или просто учитывать контекст запуска. В веб-клиенте недоступны многие операции с локальными файлами без расширения работы с файлами.
Режим = ТекущийРежимЗапуска();
Если Режим = Неопределено Тогда
Сообщить("Тонкий или веб-клиент");
Иначе
Сообщить("Толстый клиент: " + Режим);
КонецЕсли;Косвенные признаки по интерфейсу и поведению
Если нет доступа к настройкам и коду, тип клиента можно определить по внешним признакам. Обычные формы (жёстко заданное расположение элементов, панели инструментов старого стиля, невозможность свободно менять размер окон) — это всегда толстый клиент в режиме обычного приложения. Такой режим встречается в старых конфигурациях: УПП, некоторых отраслевых решениях, самописных базах.
Интерфейс «Такси» или управляемый интерфейс с разделами и панелью функций одинаково выглядит в толстом и тонком клиенте, поэтому по скриншоту их не отличить. Здесь помогает проверка заголовка окна запущенного процесса в диспетчере задач: тонкий клиент запускается через 1cv8c.exe, а толстый — через 1cv8.exe. Откройте диспетчер задач (Ctrl+Shift+Esc), найдите процесс 1С и посмотрите имя исполняемого файла.
Буква «c» в имени файла — признак тонкого клиента
Полное клиентское приложение, оба режима запуска
Обычное приложение работает только в толстом клиенте
Платформа на компьютере может быть вообще не установлена
Когда важно знать тип клиента и как его сменить
Практическая необходимость определить клиент возникает в нескольких ситуациях: внешняя обработка не запускается или работает с ошибками, обмен через COM не устанавливается, пользователь жалуется на медленную работу по удалённому каналу, разработчик отлаживает код, который ведёт себя по-разному в разных клиентах.
Сменить тип клиента можно через ту же настройку информационной базы в стартере: «Изменить» → выбор вида клиента. Альтернатива — параметр командной строки при запуске. Для тонкого клиента указывается ключ запуска соответствующего исполняемого файла, для толстого — свой. Учтите: если конфигурация не поддерживает обычное приложение, толстый клиент в этом режиме просто не откроет базу.
Частые вопросы
Можно ли запустить тонкий клиент, если конфигурация старая, на обычных формах?
Нет. Тонкий клиент работает только с управляемыми формами. Если конфигурация построена на обычных формах, запустить её можно только в толстом клиенте в режиме обычного приложения. Варианты — обновить конфигурацию или продолжать использовать толстый клиент.
Почему в списке баз выбран тонкий клиент, а запускается толстый?
Проверьте, не задан ли принудительный вид клиента в дополнительных параметрах запуска или в файле списка баз (ibases.v8i, параметр App). Также администратор мог опубликовать базу с фиксированными настройками. Смотрите фактический вид в «О программе» — он показывает реальность, а не настройку.
Какой клиент быстрее работает по медленному интернет-каналу?
Тонкий клиент: он передаёт значительно меньше данных, так как вся логика исполняется на сервере. Толстый клиент по узкому каналу будет заметно тормозить, особенно в клиент-серверном режиме с интенсивным обменом данными.
Как определить тип клиента у другого пользователя терминального сервера?
Откройте диспетчер задач или диспетчер сервера терминалов и посмотрите имя процесса пользователя: 1cv8c.exe — тонкий клиент, 1cv8.exe — толстый. Дополнительно в колонке командной строки (её можно включить в диспетчере задач) видны параметры запуска конкретного сеанса.
Влияет ли тип клиента на лицензии 1С?
Тип клиента сам по себе не меняет лицензионную модель: клиентские лицензии расходуются на сеансы независимо от того, тонкий это клиент или толстый. Различия касаются только функциональности и требований к каналу связи.
Отладка в тонком клиенте возможна?
Да, конфигуратор поддерживает отладку тонкого и веб-клиента. В настройках отладки нужно включить соответствующий вид клиента как предмет отладки. Ограничение: код, исполняемый на сервере, отлаживается на сервере, и для этого должны быть соответствующие права и включён режим отладки на сервере 1С.
Что важно запомнить
Точно определить тип клиента можно тремя способами: в окне «О программе» внутри базы, по имени процесса (1cv8c.exe — тонкий, 1cv8.exe — толстый) и программно через ТекущийРежимЗапуска(). Обычные формы — признак толстого клиента. Менять вид клиента следует через настройки базы в стартере с учётом совместимости конфигурации.