Имя: Пароль:
1C
1С v8
ИмяКомпьютера(), как получить имя терминала а не сервера 1С?
0 pvase
 
06.02.19
11:16
ИмяКомпьютера() - возвращает сетевое имя сервера 1с, на котором работает база. Надо бы получить имя компьютера, с которого произошел запуск клиента 1С.
1 Вафель
 
06.02.19
11:17
в гугл
2 ptiz
 
06.02.19
11:21
См. в СП - ИмяКомпьютера.
3 ДенисЧ
 
06.02.19
11:22
А на клиенте такое спросить - не вариант?
4 spiller26
 
06.02.19
11:24
(0) Имя терминала никак. А имя компа клиента можно.
Как узнать имя пользователя системы (компьютера) средствами 1С?
5 pvase
 
06.02.19
15:44
Достаточно посмотреть переменные: %CLIENTNAME% -имя компьютера подключенного по терминалу.
%COMPUTERNAME% - Имя терминала.
%USERNAME% - Имя входа на терминал.

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