ИмяКомпьютера() - возвращает сетевое имя сервера 1с, на котором работает база. Надо бы получить имя компьютера, с которого произошел запуск клиента 1С.
Достаточно посмотреть переменные: %CLIENTNAME% -имя компьютера подключенного по терминалу.
%COMPUTERNAME% - Имя терминала.
%USERNAME% - Имя входа на терминал.
Теперь осталось как то прочитать эти переменные без запуска командной строки.
(5) Всё-таки, чем не подходит свойство ИмяКомпьютера у Сеанса?
ТекНомерСеанса = НомерСеансаИнформационнойБазы();
Массив = ПолучитьСеансыИнформационнойБазы();
Для каждого Сеанс Из Массив Цикл
Если Сеанс.НомерСеанса = ТекНомерСеанса Тогда
Сообщить(Сеанс.ИмяКомпьютера);
Прервать;
КонецЕсли;
КонецЦикла;
(6) Спасибо, то что надо.
Единственное, можно узнать еще имя компьютера, который подключен к терминалу:
WshShell = Новый COMОбъект("Wscript.Shell");
Имя_Домена = WshShell.ExpandEnvironmentStrings("%USERDOMAIN%");
Имя_Клиента = WshShell.ExpandEnvironmentStrings("%CLIENTNAME%");
Основная теорема систематики: Новые системы плодят новые проблемы.