Имя: Пароль:
1C
1С v8
Просмотр сеансов на сервере
,
0 satoru
 
29.11.18
11:28
Необходимо предоставить только просмотр списка сеансов по всем информационным базам на 1С Сервере для главного бухгалтера.

Платформа 8.3.10.2168
1 ytex
 
29.11.18
11:34
Вроде объявление о работе, тут платные.
2 ДенисЧ
 
29.11.18
11:40
А зачем главбуху заниматься работой сисадмина?
3 satoru
 
29.11.18
11:44
Она хочет контролировать количество используемых лицензий. Поэтому нужен только просмотр, без возможности добавлять, удалять базы с сервера, завершать сеансы. Нужен только просмотр!
4 PR
 
29.11.18
11:46
Пусть активные сеансы смотрит через 1С
5 Cyberhawk
 
29.11.18
11:46
Сколько платят за решение вопроса?
6 Numerus Mikhail
 
29.11.18
11:47
(3) Ей это не надо
7 satoru
 
29.11.18
11:48
(4) нужно все базы сразу (7 баз).
8 Полбатона
 
29.11.18
11:49
(3) только после того, как программист будет контролировать сдачу отчетности, корректность учета можно разрешить бухгалтеру смотреть лицензии
9 satoru
 
29.11.18
11:51
все понятно, решения нет.
10 satoru
 
29.11.18
11:51
Я так понял в консоли сервера настройки прав доступа нет.
11 Полбатона
 
29.11.18
11:51
(9) есть. 5 тыс. руб
12 satoru
 
29.11.18
11:53
(11) Демо-версия решения есть?
13 Мыш
 
29.11.18
12:07
(11) Подвинься. Расскажу за 4999 руб )
14 satoru
 
29.11.18
12:14
(13) я слышу 4999, кто меньше)
В общем если найду информацию опубликую решение. Бесплатно!
15 ptiz
 
29.11.18
12:18
(0)
Коннектор = Новый COMОбъект("V83.COMConnector");
СоединениеСАгентом = Коннектор.ConnectAgent(ИмяСервера1С);

И вперед.
16 satoru
 
29.11.18
17:21
(15) Спасибо за инфу.
17 satoru
 
29.11.18
17:21
И вот процедура как и обещал:


    СтрокаСоединенияСБД = СтрокаСоединенияИнформационнойБазы();    
    ПозицияПоиска = Найти(Врег(СтрокаСоединенияСБД), "SRVR=");
    Если ПозицияПоиска = 0 Тогда
        Предупреждение("База должна быть серверной!");
        Возврат;
    КонецЕсли;
    ПозицияОкончания = СтрНайти(СтрокаСоединенияСБД,""";Ref=""");
    ИмяСервера = Сред(СтрокаСоединенияСБД,7,ПозицияОкончания-7);
    
    Коннектор = Новый COMОбъект("V83.COMConnector");
    СоединениеСАгентом = Коннектор.ConnectAgent(ИмяСервера);
    //получаем кластер
    мКластер = Неопределено;
    Кластеры = СоединениеСАгентом.GetClusters();
    Для Каждого Кластер Из Кластеры Цикл
        мКластер = Кластер;
    КонецЦикла;
    Если мКластер = Неопределено Тогда
        Предупреждение("Не найдено ни одного кластера!");
        Возврат;
    КонецЕсли;
    //
    СоединениеСАгентом.Authenticate(Кластер, , );
    мСеансы = СоединениеСАгентом.GetSessions(Кластер);
    Сеансы.Очистить();
    Лицензии.Очистить();
    Для каждого Сеанс из мСеансы Цикл
        //новый сеанс
        НовыйСеанс = Сеансы.Добавить();
        //заполняем
        НовыйСеанс.Компьютер = Сеанс.Host;
        НовыйСеанс.База = Сеанс.infoBase.Name;
        НовыйСеанс.Пользователь = Сеанс.userName;
        НовыйСеанс.ДатаПодключения = Сеанс.StartedAt;
        НовыйСеанс.ДатаПоследнейАктивности = Сеанс.LastActiveAt;
        НовыйСеанс.Лицензия = Сеанс.License.Series;
    КонецЦикла;
18 satoru
 
29.11.18
17:22
Частично вдохновился с этой статьи: http://catalog.mista.ru/public/77671/
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс