Имя: Пароль:
1C
1С v8
Сеанс.License
,
0 Одинесочка
 
06.11.12
14:21
Добрый день!
Надо собрать инфу по лицензиям и вообще по активным пользователям. Выдает ошибку
{ВнешняяОбработка.ОтчетПоСоединениямПользователейСБД.МодульОбъекта(78)}: Значение не является значением объектного типа (LicenseType)
                   Запись.Лицензия = Сеанс.License.LicenseType;

И вообще на любые свойства License? В чем дело?

Функция ОпределениеАктивностиПользователей() Экспорт
   
   
   КС = Новый КвалификаторыСтроки(100);
   
   Массив = Новый Массив;
   Массив.Добавить(Тип("Строка"));
   ТипСтроки = Новый ОписаниеТипов(Массив, ,КС);
   
   Массив = Новый Массив;
   Массив.Добавить(Тип("Дата"));
   ТипДаты = Новый ОписаниеТипов(Массив, ,);
   
   Если Найти(СтрокаСоединенияИнформационнойБазы(), "Srvr") > 0 Тогда
       // серверный вариант
       Поиск1 = Найти(СтрокаСоединенияИнформационнойБазы(), "Srvr=");
       ПодстрокаПоиска = Сред(СтрокаСоединенияИнформационнойБазы(), Поиск1 + 6);
       ИмяСервера = Лев(ПодстрокаПоиска, Найти(ПодстрокаПоиска, """") - 1);
       Сообщить(ИмяСервера);
       // теперь ищем имя базы
       Поиск1 = Найти(СтрокаСоединенияИнформационнойБазы(), "Ref=");
       ПодстрокаПоиска = Сред(СтрокаСоединенияИнформационнойБазы(), Поиск1 + 5);
       ИмяБазы = Лев(ПодстрокаПоиска, Найти(ПодстрокаПоиска, """") - 1);
       Сообщить(ИмяБазы);
   КонецЕсли;
   
   
   ТЗ = Новый ТаблицаЗначений; // в эту таблицу будем записывать все активные процессы
   Тз.Колонки.Добавить("ПользовательИБ",ТипСтроки);
   ТЗ.Колонки.Добавить("ИБ", ТипСтроки);
   ТЗ.Колонки.Добавить("Приложение", ТипСтроки);
   ТЗ.Колонки.Добавить("Компьютер",  ТипСтроки);
   ТЗ.Колонки.Добавить("Лицензия",   ТипСтроки);
   //Тз.Колонки.Добавить("ПоследняяАктивность",ТипДаты);
   
   Коннектор = Новый COMОбъект("V82.ComConnector");
   Агент = Коннектор.ConnectAgent(ИмяСервера);
   Кластеры = Агент.GetClusters();
   Для каждого Кластер из Кластеры Цикл
       Агент.Authenticate(Кластер,,); //АдминистраторКластера, ПарольКластера);
           
           ИнформационнаяБаза = "";
           
           Базы = Агент.GetInfoBases(Кластер);
           Для каждого База из Базы Цикл
               Сеансы = Агент.GetInfoBaseSessions(Кластер, База);
               Для каждого Сеанс из Сеансы Цикл
                   Запись = Тз.Добавить();
                   Запись.ПользовательИБ = Сеанс.UserName;
                   Запись.ИБ = Сеанс.InfoBase.Name;
                   
                   Запись.Компьютер = Сеанс.Host;
                   Запись.Лицензия = Сеанс.License.LicenseType;
                   Запись.Приложение = Сеанс.AppID;
                   //Запись.ПоследняяАктивность = Сеанс.LastActiveAt;
           КонецЦикла;
       КонецЦикла;
   КонецЦикла;
   
   ТЗ.Сортировать("ПользовательИБ Возр");
   Возврат ТЗ;
КонецФункции
1 zladenuw
 
06.11.12
14:22
License (License)
Использование:

Только чтение.
Описание:

Тип: Лицензия, Неопределено.
Содержит информацию о клиентской лицензии, используемой этим сеансом.
Неопределено, если сеанс не использует лицензию.
2 Одинесочка
 
06.11.12
14:23
это я читала ))
3 zladenuw
 
06.11.12
14:23
ну так у тебя там неопределено.
4 Одинесочка
 
06.11.12
14:23
так как тогда получить, какая это лицензия?
5 Одинесочка
 
06.11.12
14:24
не использует лицензию что ли?
6 zladenuw
 
06.11.12
14:26
так есть клиентская и серверная. и ты смотришь через рабочий процесс. а там только сервер и видит
7 Одинесочка
 
06.11.12
14:27
извиняюсь, протупила)) там были фоновые задания))
8 Одинесочка
 
06.11.12
16:58
можно тогда другой вопрос: я здесь получаю лицензии по сеансам. Получается, что на каждый сеанс своя лицензия? Даже если у пользователя на одном компе 2 базы открыто, он забирает 2 лицензии?
9 х86
 
06.11.12
17:00
(8)две программные
10 Одинесочка
 
07.11.12
09:11
(9) а у нас аппаратные, но все равно на каждом сеансе показывается лицензия. Это соответствует действительности? Как мне посчитать, сколько у меня вообще на текущий момент занято лицензий?
11 х86
 
07.11.12
09:43
(10)lm менеджером глянь
12 hhhh
 
07.11.12
09:52
(10) если лицензии раздаются сервером, то на каждый сеанс своя лицензия.
13 Одинесочка
 
07.11.12
10:19
у меня получается вот так:
Компьютер - SRV-TR2
Лицензия - Клиент, ORGL8 Лок 10
Полная лицензия - Клиент, 7160, ORGL8 Локальный 10
Приложение - 1CV8
Последняя активность - 07.11.2012 10:13:23
Тип лицензии - 1
Серия ключа - ORGL8    
Максимальное количество пользователей - 10

пишет, что лицензия клиентская, а подставляется к каждому сеансу. Мне вот и не понять, это действительно так?