Конфигуратор в режиме отладки позволяет выбрать предмет отладки (Тонкий/Толстый клиенты/HTTP-Сервис/Фоновое задание и т.д.), консоль кластера также отображает тип подключения сеанса (колонка "приложение"), ну и наконец стандартная обработка "Активные пользователи" также умеет это делать.
Контекст сеанса 1С хранит в параметре ИмяПриложения соединениий с информационной базой, для того чтобы получить список сеансов текущей информационной базы можно воспользоваться фунцией ПолучитьСеансыИнформационнойБазы(), а номер текущего соединения - НомерСоединенияИнформационнойБазы().
Для простоты и удобства пример функции, которая получает контекст сеанса:
//Функция ПолучитьИмяПриложенияСеанса(НомерСоединения, Представление = Ложь)
//НомерСоединения (Число) номер соединения по которому необходимо получить контекст сеанса
//Представление (Булево) - если Истина то функция вернет представления контекста сеанса (удобочитаемое)
//Пример ИмяПриложения: "WebServerExtension" Представление:"Модуль расширения веб-сервера"
//Возвращает (Строка) - имя приложения (Контекст сеанса) или представление имени приложения
//
Функция ПолучитьИмяПриложенияСеанса(НомерСоединения, Представление = Ложь) Экспорт
ИмяПриложения = "";
СеансыИБ = ПолучитьСеансыИнформационнойБазы();
Для Каждого Сеанс Из СеансыИБ Цикл
Если Сеанс.НомерСоединения = НомерСоединения Тогда
Если Представление Тогда
ИмяПриложения = ПредставлениеПриложения(Сеанс.ИмяПриложения);
Иначе
ИмяПриложения = Сеанс.ИмяПриложения;
КонецЕсли;
КонецЕсли;
КонецЦикла;
Возврат ИмяПриложения;
КонецФункции
Вызвать функцию можно так:
НомерСоединения = НомерСоединенияИнформационнойБазы();
ИмяПриложения = ПолучитьИмяПриложенияТекущегоСоединения(НомерСоединения);
Реализация, найденная в интернете и не решающая задачу:
Функция ОпределитьКонтекст() Экспорт
#Если ВнешнееСоединение Тогда
Возврат "Внешнее соединение";
#КонецЕсли
// Клиентов много.
#Если Клиент Тогда
#Если МобильноеПриложениеКлиент Тогда
Возврат "Мобильное приложение (клиент)";
#КонецЕсли
#Если ВебКлиент Тогда
Возврат "Веб-клиент";
#КонецЕсли
#Если ТонкийКлиент Тогда
Возврат "Тонкий клиент";
#КонецЕсли
#Если ТолстыйКлиентУправляемоеПриложение Тогда
Возврат "Толстый клиент (управляемоеПриложение)";
#КонецЕсли
#Если ТолстыйКлиентОбычноеПриложение Тогда
Возврат "Толстый клиент (обычноеПриложение)";
#КонецЕсли
#КонецЕсли
#Если Сервер Тогда
#Если МобильноеПриложениеСервер Тогда
Возврат "Мобильное приложение (сервер)";
#КонецЕсли
// Так как 1С:Предприятие поддерживает два варианта работы (файловый и клиент-серверный),
// то отработаем каждый из вариантов.
Если Лев(СтрокаСоединенияИнформационнойБазы(), 4) = "File" Тогда
// Виртуальный сервер используется в файловом варианте.
Возврат "Виртуальный сервер"
Иначе
// Реальный сервер используется в клиент-серверном варианте.
Возврат "Реальный сервер";
КонецЕсли;
#КонецЕсли
КонецФункции