Подскажите мне пожалуйста как получить список пользователей (программно есстественно, подключенных в данный момент. Без введения дополнительных реквизитов и контроля входа/выхода.
Подскажите мне пожалуйста как получить список пользователей (программно есстественно, подключенных в данный момент. Без введения дополнительных реквизитов и контроля входа/выхода.
Можно разобрать 1cv7.mlg - там есть все по подключениям. А так без доп. элементов вроде бы нет !
Тогда уж лучше разбирать links.tmp, он весит 20КБ, а 1cv7.mlg - 50МБ. И хранятся там исключительно активные пользователи. Я имел в виду встроенную процедуру.
А монитор пользователей - это не то?
Dark Person
Полностью согласен, насчет links.tmp...
А вот лог надо периодически "бить" !!! ИМХО.
Блин, все пароли позабывал
Olga_New, говорю же программно, мне надо иметь тот же монитор, но в виде Списка- или ТаблицыЗначений.
Aquad, все не совсем так. Там храняться не только активные пользователи. Я ошибся. Там храняться оные в пределах или суток, или ещё какого-то периода. А это не есть гуд. Всё таки придётся лопатить mlg...
Я поступил так:
В 1С открыл файл links.tmp через Scripting.FileSystemObject
fso = СоздатьОбъект("Scripting.FileSystemObject");
ForRead = 1;
Т = fso.opentextfile(ИмяФайла, ForRead, 1);
Разбираю файл на записи
Текст = "";
Пока 1=1 Цикл
Попытка
Темп = Т.ReadLine();
Исключение
Прервать;
КонецПопытки;
Темп = СтрЗаменить(Темп," ","");
Темп = СтрЗаменить(Темп,"}{","}"+Симв(13)+Симв(10)+"{");
Текст = Текст+Темп;
КонецЦикла;
Текст = СтрЗаменить(Текст,"{","");
Текст = СтрЗаменить(Текст,"}","");
Текст = СтрЗаменить(Текст,Симв(34),"");
Текст = СтрЗаменить(Текст,",",Симв(13)+Симв(10));
ы=1;
и проверяю активность пользователя собственной DLL
AX = СоздатьОбъект("GOODY.TestRecordAlive.1");
Для я=1 по СтрКоличествоСтрок(Текст)/11 Цикл
Рез = AX.DoIt(ИмяФайла,Строка(я));
Если Рез = 2 Тогда
Продолжить;
КонецЕсли;
Список.НоваяСтрока();
Режим = СтрПолучитьСтроку(Текст,ы+3);
Моно = СтрПолучитьСтроку(Текст,ы+5);
Если (Режим = "E") и (Моно="N") Тогда
Список.Иконка = 2;
ИначеЕсли (Режим = "E") и (Моно="Y") Тогда
Список.Иконка = 3;
ИначеЕсли (Режим = "C") Тогда
Список.Иконка = 4;
ИначеЕсли (Режим = "D") Тогда
Список.Иконка = 5;
ИначеЕсли (Режим = "M") Тогда
Список.Иконка = 6;
КонецЕсли;
Список.Пользователь = СтрПолучитьСтроку(Текст,ы+1);
Список.Компьютер = СтрПолучитьСтроку(Текст,ы+10);
ы=ы+11;
КонецЦикла;
Список.Сортировать("Пользователь+");
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)