7.7 Имя удаленного компьютера

  • Автор темы olga13
  • Дата начала
O

olga13

Добрый день. Подскажите, как можно определить имя компьютера при работе с 1С через удаленный рабочий стол?
 
O

olga13

Похоже, никак нельзя. Тогда опишу конкретную задачу, может быть, у нее есть другое решение.
Есть сеть компьютеров, которые работают с 1С через терминальный сервер. Компьютеры находятся на трех торговых точках. На каждой точке установлен кассовый аппарат (учет выручки ведется в разрезе касс). Пользователи могут перемещаться по точкам.
Задача: при запуске системы определить, какая касса на данной точке (в настоящее время кассы привязаны к пользователям).
Я хотела создать справочник компьютеров, привязать кассы к компьютерам и при запуске системы определять, какая касса на данной точке. Но средствами 1С так не получается - имя компьютера у всех пользователей одинаковое - имя сервера. Как можно по-другому?
 
G

Gluk8888

как-то так пробуйте:

ИмяКлиентскогоКомпа = "";
Реестр = СоздатьОбъект("РеестрWin");
Если Реестр.ОткрытьКлюч("HKEY_CURRENT_USER", "Volatile Environment", "KEY_QUERY_VALUE") = 1 Тогда
Реестр.ЗапроситьЗначение("CLIENTNAME", ИмяКлиентскогоКомпа);
КонецЕсли;

Попытка
objNet = СоздатьОбъект("WScript.NetWork");
ИмяКлиентскогоСервера = objNet.ComputerName;
ИмяПользователяWindows = objNet.UserName;
Исключение
ИмяКлиентскогоСервера = "";
ИмяПользователяWindows = "";
КонецПопытки;

Сообщить("Сервер: " + ИмяКлиентскогоСервера + " комп: " + ИмяКлиентскогоКомпа + " польз.: " + ИмяПользователяWindows);

ЗЫ: должна быть загружена 1С++
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!