Как работать со списком подключеных к базе пользователей?
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Ой, честно говоря, я к этой теме давненько не возвращался. там в чем проблема-то, нужно научить фукнцию ExecSQLSelect нормально работать на форме. и, может быть, это же касается свойства Видимость... вообще, не совсем понимаю, для чего нужно пересчитывать выражение в этом свойстве при каждом изменении положения курсора или при передвижении окна... по-моему, это лишнее..
ну и вот, когда функция будет работать без этих неожиданностей вроде мигания курсора - можно просто взять и прикрутить тот запрос к выражению... все уже проверено и работает, но сейчас использование этого запроса на форме приводит к некоторым отрицательным последствиям.. так что я это вычисляемое поле просто убрал..
надо видимо связаться с Лоцией, напомнить об этой проблемке..
ну и вот, когда функция будет работать без этих неожиданностей вроде мигания курсора - можно просто взять и прикрутить тот запрос к выражению... все уже проверено и работает, но сейчас использование этого запроса на форме приводит к некоторым отрицательным последствиям.. так что я это вычисляемое поле просто убрал..
надо видимо связаться с Лоцией, напомнить об этой проблемке..
лучше день потерять, потом за пять минут долететь!
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
продолжаем.
после добавления функции exec_SQLSelect_3 все стало намного проще и красивее
вот выражение для вычисляемого поля в отчете, которое рисует определенную картинку в зависимости от того, подключен ли сейчас юзер к БД или нет:
в параметре wf_mail_to_v_user_to_id хранится ИД пользователя Лоции.
и все ОК
после добавления функции exec_SQLSelect_3 все стало намного проще и красивее

вот выражение для вычисляемого поля в отчете, которое рисует определенную картинку в зависимости от того, подключен ли сейчас юзер к БД или нет:
Код: Выделить всё
bitmap('C:\Program Files\LotsiaSoft\PartY\Icons\Logos\'+
if
(
f_execSQLSelect_3
('select loginname
from party.lsdbo.empldb_v empl
where empl.user_id = '+wf_mail_to_v_user_to_id+' and loginname in(select distinct loginame from master..sysprocesses)', '','','',30)<>'',
'state_online.gif',
'state_offline.gif' ))
и все ОК

лучше день потерять, потом за пять минут долететь!
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825

Слушай - вот теперь когда все работает - я сижу и думаю - нафига?
Скажи где реально вы лично применяете эту штуку?



единственное что приходит на ум это просто в какой то момент времени посмотреть сразу весь список - кто есть а кого нет...
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
в свете установки 4.30 с ее новым интерфейсом выбора объекта (в том числе объекта-сотрудника) вот что пришло на ум.
в 4.30 добавлена возможность настраивать список колонок в окне выбора объекта для отображения атрибутов найденных объектов. про вычисляемые поля (как и про группировки, заголовки и итоги) в этом списке лично я даже не заикался, так что предполагаю, что этого нет.
но что тогда делать с информацией об активности пользователя?
Александр, помните, у вас была идея повесить на автосервер работу по периодическому обновлению атрибута Статус объектов-сотрудников? я тогда еще говорил, что хранить это в атрибуте нет большой необходимости, тем более, с учетом появления функции ExecSQLSelect_3, помните? типа "работа будет долго выполняться да и вообще..."
но! можно попробовать такую работу повесить не на автосервер, а на сервер БД. настроить там расписание (каждые 5 или 10 минут) и пусть она срабатывает по этому расписанию, изменяя в attrib_value ссылки на определенные значения атрибута Статус у всех сотрудников в зависимости от результата обращения к таблице master..processes. будет атрибут - можно будет его вывешивать там, где нужно. хоть его значение и будет немного отставать от реального (на 5-10 минут макс.), но зато для отображения статуса не будет необходимости КАЖДЫЙ раз выполнять тот запрос..
хотя, блин... это еще вопрос, что быстрее - вытащить данные из master..processes и emplusers, или из attrib_value и value_string... хм... вопрос, блин..
в 4.30 добавлена возможность настраивать список колонок в окне выбора объекта для отображения атрибутов найденных объектов. про вычисляемые поля (как и про группировки, заголовки и итоги) в этом списке лично я даже не заикался, так что предполагаю, что этого нет.
но что тогда делать с информацией об активности пользователя?
Александр, помните, у вас была идея повесить на автосервер работу по периодическому обновлению атрибута Статус объектов-сотрудников? я тогда еще говорил, что хранить это в атрибуте нет большой необходимости, тем более, с учетом появления функции ExecSQLSelect_3, помните? типа "работа будет долго выполняться да и вообще..."
но! можно попробовать такую работу повесить не на автосервер, а на сервер БД. настроить там расписание (каждые 5 или 10 минут) и пусть она срабатывает по этому расписанию, изменяя в attrib_value ссылки на определенные значения атрибута Статус у всех сотрудников в зависимости от результата обращения к таблице master..processes. будет атрибут - можно будет его вывешивать там, где нужно. хоть его значение и будет немного отставать от реального (на 5-10 минут макс.), но зато для отображения статуса не будет необходимости КАЖДЫЙ раз выполнять тот запрос..
хотя, блин... это еще вопрос, что быстрее - вытащить данные из master..processes и emplusers, или из attrib_value и value_string... хм... вопрос, блин..
лучше день потерять, потом за пять минут долететь!
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Как работать со списком подключеных к базе пользователей?
мы тут умудрились переползти с sql2000 на sql2005..
есть конечно странности и неправильности, но вроде все ок..
но!
этот запрос
, который вытаскивает список подключенных сеансов (и который раньше работал отлично) сейчас от имени юзера возвращает только его сеанс 
понятно, что юзер не сможет посмотреть, активны ли его коллеги
кто нибудь сталкивался с этой бедой?
есть конечно странности и неправильности, но вроде все ок..
но!
этот запрос
Код: Выделить всё
select *
from
master..sysprocesses

понятно, что юзер не сможет посмотреть, активны ли его коллеги

кто нибудь сталкивался с этой бедой?

лучше день потерять, потом за пять минут долететь!
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как работать со списком подключеных к базе пользователей?
ПОЗДРАВЛЯЮ с переходом!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
нет я не сталкивался поскольку не использую
да и сейчас в так ожидаемой сборке 4.30 SUPER которую мы вряд ли увидим в этом году -это уже присутствует в очеловеченном виде

ps
просто високосный год... подожди чуть чуть и все будет ОК
нет я не сталкивался поскольку не использую
да и сейчас в так ожидаемой сборке 4.30 SUPER которую мы вряд ли увидим в этом году -это уже присутствует в очеловеченном виде



ps
просто високосный год... подожди чуть чуть и все будет ОК

Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Как работать со списком подключеных к базе пользователей?
спасибо за поздравления 
оно конечно все работает, но блин.. как то уж очень многие вещи там переделаны.. но мы, так сказать, решили идти почти в ногу со временем..
начал разбираться с этой проблемой. оказывается, весь интернет уже в курсе. в 2005 сиквеле такой запрос реально возвращает только сеанс того юзера, который его выполняет. чтобы возвращало все сеансы - нужно или делать юзера чуть ли не сисадмином, или давать ему привелегию View server state..
дать эту привелегию какой то группе (public или party_users), чтобы не тыкать на каждом логине, пока не получается..
спросил у теххелпа, как встроенная фишка со статусом юзера будет работать в случае 2005 сиквела (на сколько я понял, там в итоге в одном из видов просто добавлена колонка, которая реально делает такой же запрос к sysprocesses.. но может я и ошибаюсь..).. жду ответа от них..

оно конечно все работает, но блин.. как то уж очень многие вещи там переделаны.. но мы, так сказать, решили идти почти в ногу со временем..
начал разбираться с этой проблемой. оказывается, весь интернет уже в курсе. в 2005 сиквеле такой запрос реально возвращает только сеанс того юзера, который его выполняет. чтобы возвращало все сеансы - нужно или делать юзера чуть ли не сисадмином, или давать ему привелегию View server state..
дать эту привелегию какой то группе (public или party_users), чтобы не тыкать на каждом логине, пока не получается..
спросил у теххелпа, как встроенная фишка со статусом юзера будет работать в случае 2005 сиквела (на сколько я понял, там в итоге в одном из видов просто добавлена колонка, которая реально делает такой же запрос к sysprocesses.. но может я и ошибаюсь..).. жду ответа от них..
лучше день потерять, потом за пять минут долететь!
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как работать со списком подключеных к базе пользователей?
я тож наконец то попался на эту удочку mssql2005... под админом все настроил тысячу лет назад - пользователь определяется (активность) ну и типа все нормально - а тут из под юзера зашел сегодня а он показывает только себя а техподдержка говорит
ты то как обошел это дело? - можно конечно в скрипте под админом проверить - но чтото подсказывает что это уже слишком

Код: Выделить всё
select * from lsdbo.empldb_v
или
select isconnected from lsdbo.empldb_v where user_id=43
а это как я понял не очень...Нужно в SQL-сервере дать право "view server state" пользователям
ты то как обошел это дело? - можно конечно в скрипте под админом проверить - но чтото подсказывает что это уже слишком




Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Как работать со списком подключеных к базе пользователей?
так и обходил... давал права для юзеров 
но блин.. это все очень неудобно.. и сейчас уже не скажу точно, для каких юзеров даны эти права, а для каких - нет... в идеале надо для каждого нового юзера заходить на сервер и давать эти волшебные права... а с другой стороны... минуточку, это ж можно совместить с процедурой регистрации юзера в самой лоции, все равно она создает юзеров сиквел-сервера с помощью сиквел-команд, дак тогда можно говорить о галочке в окне создания нового юзера, ставим галочку - и после создания юзера в сиквеле лоция запускает скрипт наделения его правами для просмотра статуса других юзеров..
может, как то так?
с другой стороны, можно попробовать сделать какой то сиквел-скрипт, который пробежится по всем юзерам и даст им такие права.. если его периодически выполнять - то в принципе тоже было бы неплохо.. но галочка в окне создания юзера была бы правильней..

но блин.. это все очень неудобно.. и сейчас уже не скажу точно, для каких юзеров даны эти права, а для каких - нет... в идеале надо для каждого нового юзера заходить на сервер и давать эти волшебные права... а с другой стороны... минуточку, это ж можно совместить с процедурой регистрации юзера в самой лоции, все равно она создает юзеров сиквел-сервера с помощью сиквел-команд, дак тогда можно говорить о галочке в окне создания нового юзера, ставим галочку - и после создания юзера в сиквеле лоция запускает скрипт наделения его правами для просмотра статуса других юзеров..
может, как то так?
с другой стороны, можно попробовать сделать какой то сиквел-скрипт, который пробежится по всем юзерам и даст им такие права.. если его периодически выполнять - то в принципе тоже было бы неплохо.. но галочка в окне создания юзера была бы правильней..
лучше день потерять, потом за пять минут долететь!
- Старик Крупский
- Активный участник
- Сообщения: 803
- Зарегистрирован: 27 июл 2006, 22:17
- Откуда: Москва
Re: Как работать со списком подключеных к базе пользователей?
А можно ли на сиквеле создать какую-то группу, туда напихать всех юзеров и группе дать нужное право?
"Лучше меньше, да лучше" (C)
- Anderyt
- Активный участник
- Сообщения: 777
- Зарегистрирован: 15 июл 2004, 13:15
- Используемое ПО: Lotsia PDM PLUS
- Откуда: Тюмень
- Контактная информация:
Re: Как работать со списком подключеных к базе пользователей?
уже если на то пошло - то можно дать права группе party_users... но вроде так не получится... я сейчас не могу попробовать.. а кто-нить может? 

лучше день потерять, потом за пять минут долететь!
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как работать со списком подключеных к базе пользователей?
я наверно могу - но не буду... ну их права эти.... у нас и так система достаточно открыта - а так вообще будет нараспашку
в общем не смогла Лоция нас полноценно обеспечить данной штукой. жаль

в общем не смогла Лоция нас полноценно обеспечить данной штукой. жаль
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный
-
- Активный участник
- Сообщения: 75
- Зарегистрирован: 22 фев 2005, 12:33
- Используемое ПО: Lotsia PDM PLUS LT
Re: Как работать со списком подключеных к базе пользователей?
Ага, как в анекдоте: "всю Одессу удовлетворяет, а его нет".Александр писал(а):в общем не смогла Лоция нас полноценно обеспечить данной штукой. жаль

Судя по вашей настройке (сужу по презентациям), уж больно специфические задачи решаете, тут никакая система полностью не обеспечит ваших "хотелок". Самим дописывать в любом случае придется.
Loco
- Александр
- Активный участник
- Сообщения: 1658
- Зарегистрирован: 24 авг 2006, 08:06
- Используемое ПО: Lotsia PDM PLUS
- Откуда: 55.745578,37.665825
Re: Как работать со списком подключеных к базе пользователей?
да задачи вроде обычные, просто я так понял что идентификация пользователей так работает только на MSSQL 2005 - вот и получается - не полноценно немного
Софт - RicCRM<<LotsiaPDM(4.40)<<MsSQL(5/8)
Уровень администрирования - Альтернативный