Вход | Регистрация

1С:Предприятие :: 1С:Предприятие 8 общая

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

как завершить сеанс определенного пользователя в системе? Стоит скуль
Я
   na1kk
 
19.05.18 - 14:58
пробовал через ПолучитьСоединенияИнформационнойБазы(), мне ничего не дает, т.к. у нее нет метода отключения из базы пользака.

Через
Коннектор = Новый COMОбъект("V8.COMConnector"); 
Сервер = Коннектор.ConnectServer("server"); 
Сервер.AddAuthentication("Login","password"); 
ИнформационнаяБаза = Сервер.CreateInfoBaseInfo(); 
ИнформационнаяБаза.Name = "1c"; 
СоединенияБазы = Сервер.GetIBConnections(ИнформационнаяБаза); 

ругается на ком.объект сразу
 
 
   МимохожийОднако
 
1 - 19.05.18 - 15:00
Открой консоль администратора и удали сеанс пользователя.
   na1kk
 
2 - 19.05.18 - 15:02
(1) не) нужно программно это сделать
   МимохожийОднако
 
3 - 19.05.18 - 15:06
(2) Регламентным заданием или по событию? По кнопке интерактивно, то достаточно (1).
   na1kk
 
4 - 19.05.18 - 15:07
(3) рег.заданием, но нужно выбивать определенного пользователя, если он есть в системе
   shuhard
 
5 - 19.05.18 - 15:07
(2)

    
    
    НомерСоединения=0;
    Пользователь=ПараметрыЗапуска[2];
    Пароль=ПараметрыЗапуска[3];
    Попытка
        СтрокаСоединения=СтрокаСоединенияИнформационнойБазы();
        ЭтоСоединение=НомерСоединенияИнформационнойБазы();
        База=ПараметрыЗапуска[1]//"upp_13";

        КОМ=Новый COMОбъект("V82.COMConnector");
        Сервер=ПараметрыЗапуска[0];
        Агент=КОМ.ConnectAgent(Сервер);
        Кластеры=Агент.GetClusters();
        Кластер=Кластеры.GetValue(0);
        Агент.Authenticate(Кластер,"","");        
        РабочиеПроцессы=Агент.GetWorkingProcesses(Кластер);
        // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

        Для Каждого Процесс Из РабочиеПроцессы Цикл
            СтрокаСоединенияРП=Процесс.HostName+":"+Формат(Процесс.MainPort,"ЧГ=");
            СоединениеРП=КОМ.ConnectWorkingProcess(СтрокаСоединенияРП);
            СоединениеРП.AddAuthentication(Пользователь,Пароль);
            ОписаниеИБ=СоединениеРП.CreateInfoBaseInfo();
            ОписаниеИБ.Name=База;
            Соединения=СоединениеРП.GetInfoBaseConnections(ОписаниеИБ);
            Для Каждого Соединение Из Соединения Цикл
                Если Соединение.AppID="COMConsole" Тогда
                    Продолжить;
                КонецЕсли;
                Если Соединение.ConnID<>ЭтоСоединение Тогда
                    СоединениеРП.Disconnect(Соединение);  // всех кроме себя

                КонецЕсли;
            КонецЦикла;
        КонецЦикла;
        КОМ=Неопределено;
        ЗавершитьРаботуСистемы(Ложь);
    Исключение
        //Сообщить(ОписаниеОшибки());

    КонецПопытки;
   na1kk
 
6 - 19.05.18 - 15:08
* если он активный в системе
   na1kk
 
7 - 19.05.18 - 15:08
(5) вот на это и ругается
   na1kk
 
8 - 19.05.18 - 15:08
КОМ=Новый COMОбъект("V82.COMConnector");
   na1kk
 
9 - 19.05.18 - 15:08
пишет, что класс не зарегистрирован
   МимохожийОднако
 
10 - 19.05.18 - 15:08
Запрет входа в систему недостаточен?
 
 Рекламное место пустует
   МимохожийОднако
 
11 - 19.05.18 - 15:10
(9) Зарегистрируй comcntrl.dll
   na1kk
 
12 - 19.05.18 - 15:10
(10) нет, т.к. мне нужно чтобы пользак работал,и потом в опред.момент выбивало его
   na1kk
 
13 - 19.05.18 - 15:10
(11) спасибо. попробую
   Cyberhawk
 
14 - 19.05.18 - 15:13
(12) "нужно чтобы пользак работал,и потом в опред.момент выбивало его" // В каком момент? Когда заполнил большой документ и нажал "Записать"? :)
   shuhard
 
15 - 19.05.18 - 15:14
(9) [пишет, что класс не зарегистрирован]
ну и ?
   na1kk
 
16 - 19.05.18 - 15:14
(15) ага, я понял) копаю в этом направлении)

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует