К статье
Практический материал

Администрирование · 9 мин

Как определить толстый или тонкий клиент 1С

Как определить, толстый или тонкий клиент 1С запущен: проверка через командную строку, настройки базы, код и внешние признаки. Практическая инструкция.

Платформа 1С:Предприятие поддерживает несколько видов клиентских приложений: толстый клиент, тонкий клиент и веб-клиент. От того, какой клиент запущен, зависит доступный функционал: конфигураторские режимы, работа с COM-объектами, OLE, внешние компоненты и часть прикладных механизмов ведут себя по-разному. Поэтому вопрос «что у меня запущено» возникает и у пользователей, и у администраторов, и у разработчиков.

Определить тип клиента можно несколькими способами: по ярлыку запуска, через настройки информационной базы в стартере, программно из встроенного языка и по косвенным признакам интерфейса. Ниже разобраны все рабочие методы — от самого быстрого визуального до программного, пригодного для автоматизации.

Чем толстый клиент отличается от тонкого

Толстый клиент — это полноценное клиентское приложение, которое выполняет значительную часть прикладной логики на компьютере пользователя. Он поддерживает обычные формы, COM-соединения, OLE-автоматизацию, работу с файловой системой без ограничений и режим отладки толстого клиента. Для работы ему нужен широкий канал связи или файловый режим, потому что трафик между клиентом и сервером большой.

Тонкий клиент — облегчённое приложение, которое отрисовывает интерфейс и передаёт вызовы на сервер, где и исполняется основная логика. Он работает только с управляемыми формами, требует минимального канала связи и подходит для медленных сетей и удалённого доступа. Большинство современных конфигураций проектируются именно под тонкий клиент.

Веб-клиент — третий вариант: он работает в браузере и вообще не требует установки платформы. Его определить проще всего — если 1С открыта в браузере по адресу вида http://сервер/база, это веб-клиент.

Определение через меню «О программе»

Самый простой способ, не требующий никаких настроек, — открыть сведения о программе. В запущенной базе перейдите в меню «Сервис» (или нажмите кнопку с иконкой 1С в левом верхнем углу в такси-интерфейсе) и выберите пункт «О программе».

В открывшемся окне указаны версия платформы и вид клиентского приложения. Для толстого клиента будет явно указано «толстый клиент», для тонкого — «тонкий клиент». Дополнительно видно режим запуска: управляемое приложение или обычное приложение. Обычное приложение возможно только в толстом клиенте — это уже само по себе однозначный признак.

Порядок действий
  1. 1
    Откройте информационную базу в 1С
  2. 2
    Нажмите кнопку главного меню (иконка 1С слева вверху) или меню «Сервис»
  3. 3
    Выберите пункт «О программе»
  4. 4
    Найдите строку с видом клиентского приложения и режимом запуска
  5. 5
    Сверьте: «обычное приложение» — это всегда толстый клиент

Проверка через настройки информационной базы в стартере

Тип клиента задаётся в свойствах информационной базы ещё до её запуска. Откройте стартер 1С (окно со списком баз), выделите нужную базу и нажмите кнопку «Изменить». Пройдите мастер настройки до страницы с параметрами запуска.

На одном из шагов есть блок «Вид клиента» с вариантами: «Выбирать автоматически», «Тонкий клиент», «Веб-клиент», «Толстый клиент (управляемое приложение)» и «Толстый клиент (обычное приложение)». Здесь видно, какой клиент будет запущен. Если выбран автоматический режим, платформа сама решает по настройкам конфигурации — и тогда фактический клиент надёжнее смотреть уже в запущенной базе через «О программе».

Программное определение из встроенного языка

Для разработчиков и администраторов, автоматизирующих проверки, платформа предоставляет функцию ТекущийРежимЗапуска(). Она возвращает значение системного перечисления РежимЗапускаКлиентскогоПриложения. Тонкий клиент определяется косвенно: функция вернёт Неопределено, потому что тонкий клиент работает только в управляемом режиме и не имеет отдельного значения.

Пример кода для выполнения во внешней обработке или консоли кода:

Режим = ТекущийРежимЗапуска();

Если Режим = РежимЗапускаКлиентскогоПриложения.УправляемоеПриложение Тогда

Сообщить("Толстый клиент, управляемое приложение");

ИначеЕсли Режим = РежимЗапускаКлиентскогоПриложения.ОбычноеПриложение Тогда

Сообщить("Толстый клиент, обычное приложение");

Иначе

Сообщить("Тонкий клиент или веб-клиент");

КонецЕсли;

Чтобы отличить тонкий клиент от веб-клиента, используют конструкцию с попыткой обращения к файловой системе или проверку через Вычислить("ТипЗнч(...)") — но надёжнее анализировать ИнформациюОСреде или просто учитывать контекст запуска. В веб-клиенте недоступны многие операции с локальными файлами без расширения работы с файлами.

1c
Режим = ТекущийРежимЗапуска();
Если Режим = Неопределено Тогда
    Сообщить("Тонкий или веб-клиент");
Иначе
    Сообщить("Толстый клиент: " + Режим);
КонецЕсли;

Косвенные признаки по интерфейсу и поведению

Если нет доступа к настройкам и коду, тип клиента можно определить по внешним признакам. Обычные формы (жёстко заданное расположение элементов, панели инструментов старого стиля, невозможность свободно менять размер окон) — это всегда толстый клиент в режиме обычного приложения. Такой режим встречается в старых конфигурациях: УПП, некоторых отраслевых решениях, самописных базах.

Интерфейс «Такси» или управляемый интерфейс с разделами и панелью функций одинаково выглядит в толстом и тонком клиенте, поэтому по скриншоту их не отличить. Здесь помогает проверка заголовка окна запущенного процесса в диспетчере задач: тонкий клиент запускается через 1cv8c.exe, а толстый — через 1cv8.exe. Откройте диспетчер задач (Ctrl+Shift+Esc), найдите процесс 1С и посмотрите имя исполняемого файла.

Процесс 1cv8c.exeТонкий клиент

Буква «c» в имени файла — признак тонкого клиента

Процесс 1cv8.exeТолстый клиент

Полное клиентское приложение, оба режима запуска

Обычные формы в интерфейсеТолстый клиент

Обычное приложение работает только в толстом клиенте

1С открыта в браузереВеб-клиент

Платформа на компьютере может быть вообще не установлена

Когда важно знать тип клиента и как его сменить

Практическая необходимость определить клиент возникает в нескольких ситуациях: внешняя обработка не запускается или работает с ошибками, обмен через COM не устанавливается, пользователь жалуется на медленную работу по удалённому каналу, разработчик отлаживает код, который ведёт себя по-разному в разных клиентах.

Сменить тип клиента можно через ту же настройку информационной базы в стартере: «Изменить» → выбор вида клиента. Альтернатива — параметр командной строки при запуске. Для тонкого клиента указывается ключ запуска соответствующего исполняемого файла, для толстого — свой. Учтите: если конфигурация не поддерживает обычное приложение, толстый клиент в этом режиме просто не откроет базу.

Типичные ошибки
01
Судить о типе клиента только по внешнему виду интерфейса «Такси» — он одинаков в толстом и тонком клиенте, вывод будет неверным
02
Пытаться запустить обычное приложение в тонком клиенте — это технически невозможно, нужно переключить базу на толстый клиент
03
Менять вид клиента без проверки совместимости конфигурации — база может перестать запускаться или часть функций станет недоступна
04
Путать веб-клиент с тонким: обработки с прямым доступом к файлам в веб-клиенте ведут себя иначе, и диагностика по ним даёт ложные выводы

Частые вопросы

Можно ли запустить тонкий клиент, если конфигурация старая, на обычных формах?

Нет. Тонкий клиент работает только с управляемыми формами. Если конфигурация построена на обычных формах, запустить её можно только в толстом клиенте в режиме обычного приложения. Варианты — обновить конфигурацию или продолжать использовать толстый клиент.

Почему в списке баз выбран тонкий клиент, а запускается толстый?

Проверьте, не задан ли принудительный вид клиента в дополнительных параметрах запуска или в файле списка баз (ibases.v8i, параметр App). Также администратор мог опубликовать базу с фиксированными настройками. Смотрите фактический вид в «О программе» — он показывает реальность, а не настройку.

Какой клиент быстрее работает по медленному интернет-каналу?

Тонкий клиент: он передаёт значительно меньше данных, так как вся логика исполняется на сервере. Толстый клиент по узкому каналу будет заметно тормозить, особенно в клиент-серверном режиме с интенсивным обменом данными.

Как определить тип клиента у другого пользователя терминального сервера?

Откройте диспетчер задач или диспетчер сервера терминалов и посмотрите имя процесса пользователя: 1cv8c.exe — тонкий клиент, 1cv8.exe — толстый. Дополнительно в колонке командной строки (её можно включить в диспетчере задач) видны параметры запуска конкретного сеанса.

Влияет ли тип клиента на лицензии 1С?

Тип клиента сам по себе не меняет лицензионную модель: клиентские лицензии расходуются на сеансы независимо от того, тонкий это клиент или толстый. Различия касаются только функциональности и требований к каналу связи.

Отладка в тонком клиенте возможна?

Да, конфигуратор поддерживает отладку тонкого и веб-клиента. В настройках отладки нужно включить соответствующий вид клиента как предмет отладки. Ограничение: код, исполняемый на сервере, отлаживается на сервере, и для этого должны быть соответствующие права и включён режим отладки на сервере 1С.

Итог

Что важно запомнить

Точно определить тип клиента можно тремя способами: в окне «О программе» внутри базы, по имени процесса (1cv8c.exe — тонкий, 1cv8.exe — толстый) и программно через ТекущийРежимЗапуска(). Обычные формы — признак толстого клиента. Менять вид клиента следует через настройки базы в стартере с учётом совместимости конфигурации.