Страница 3 из 5
Добавлено: 12 фев 2007, 11:35
Александр
2 Anderyt
Чем там закончилось с идентификацией активных пользователей?
Теххелп молчит? или удалось решить своими силами?
Добавлено: 12 фев 2007, 11:58
Anderyt
Ой, честно говоря, я к этой теме давненько не возвращался. там в чем проблема-то, нужно научить фукнцию ExecSQLSelect нормально работать на форме. и, может быть, это же касается свойства Видимость... вообще, не совсем понимаю, для чего нужно пересчитывать выражение в этом свойстве при каждом изменении положения курсора или при передвижении окна... по-моему, это лишнее..
ну и вот, когда функция будет работать без этих неожиданностей вроде мигания курсора - можно просто взять и прикрутить тот запрос к выражению... все уже проверено и работает, но сейчас использование этого запроса на форме приводит к некоторым отрицательным последствиям.. так что я это вычисляемое поле просто убрал..
надо видимо связаться с Лоцией, напомнить об этой проблемке..
Добавлено: 20 мар 2008, 17:51
Anderyt
продолжаем.
после добавления функции 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' ))
в параметре wf_mail_to_v_user_to_id хранится ИД пользователя Лоции.
и все ОК

Добавлено: 21 мар 2008, 08:37
Александр
Слушай - вот теперь когда все работает - я сижу и думаю - нафига?
Скажи где реально вы лично применяете эту штуку?

единственное что приходит на ум это просто в какой то момент времени посмотреть сразу весь список - кто есть а кого нет...
Добавлено: 04 июн 2008, 15:54
Anderyt
в свете установки 4.30 с ее новым интерфейсом выбора объекта (в том числе объекта-сотрудника) вот что пришло на ум.
в 4.30 добавлена возможность настраивать список колонок в окне выбора объекта для отображения атрибутов найденных объектов. про вычисляемые поля (как и про группировки, заголовки и итоги) в этом списке лично я даже не заикался, так что предполагаю, что этого нет.
но что тогда делать с информацией об активности пользователя?
Александр, помните, у вас была идея повесить на автосервер работу по периодическому обновлению атрибута Статус объектов-сотрудников? я тогда еще говорил, что хранить это в атрибуте нет большой необходимости, тем более, с учетом появления функции ExecSQLSelect_3, помните? типа "работа будет долго выполняться да и вообще..."
но! можно попробовать такую работу повесить не на автосервер, а на сервер БД. настроить там расписание (каждые 5 или 10 минут) и пусть она срабатывает по этому расписанию, изменяя в attrib_value ссылки на определенные значения атрибута Статус у всех сотрудников в зависимости от результата обращения к таблице master..processes. будет атрибут - можно будет его вывешивать там, где нужно. хоть его значение и будет немного отставать от реального (на 5-10 минут макс.), но зато для отображения статуса не будет необходимости КАЖДЫЙ раз выполнять тот запрос..
хотя, блин... это еще вопрос, что быстрее - вытащить данные из master..processes и emplusers, или из attrib_value и value_string... хм... вопрос, блин..
Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 11 дек 2008, 12:46
Anderyt
мы тут умудрились переползти с sql2000 на sql2005..
есть конечно странности и неправильности, но вроде все ок..
но!
этот запрос
, который вытаскивает список подключенных сеансов (и который раньше работал отлично) сейчас от имени юзера возвращает только его сеанс

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

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

Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 11 дек 2008, 12:49
Александр
ПОЗДРАВЛЯЮ с переходом!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
нет я не сталкивался поскольку не использую
да и сейчас в так ожидаемой сборке 4.30 SUPER которую мы вряд ли увидим в этом году -это уже присутствует в очеловеченном виде
ps
просто високосный год... подожди чуть чуть и все будет ОК

Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 12 дек 2008, 11:00
Anderyt
спасибо за поздравления

оно конечно все работает, но блин.. как то уж очень многие вещи там переделаны.. но мы, так сказать, решили идти почти в ногу со временем..
начал разбираться с этой проблемой. оказывается, весь интернет уже в курсе. в 2005 сиквеле такой запрос реально возвращает только сеанс того юзера, который его выполняет. чтобы возвращало все сеансы - нужно или делать юзера чуть ли не сисадмином, или давать ему привелегию View server state..
дать эту привелегию какой то группе (public или party_users), чтобы не тыкать на каждом логине, пока не получается..
спросил у теххелпа, как встроенная фишка со статусом юзера будет работать в случае 2005 сиквела (на сколько я понял, там в итоге в одном из видов просто добавлена колонка, которая реально делает такой же запрос к sysprocesses.. но может я и ошибаюсь..).. жду ответа от них..
Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 06 окт 2009, 10:50
Александр
я тож наконец то попался на эту удочку mssql2005... под админом все настроил тысячу лет назад - пользователь определяется (активность) ну и типа все нормально - а тут из под юзера зашел сегодня
Код: Выделить всё
select * from lsdbo.empldb_v
или
select isconnected from lsdbo.empldb_v where user_id=43
а он показывает только себя а техподдержка говорит
Нужно в SQL-сервере дать право "view server state" пользователям
а это как я понял не очень...
ты то как обошел это дело? - можно конечно в скрипте под админом проверить - но чтото подсказывает что это уже слишком

Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 06 окт 2009, 20:06
Anderyt
так и обходил... давал права для юзеров

но блин.. это все очень неудобно.. и сейчас уже не скажу точно, для каких юзеров даны эти права, а для каких - нет... в идеале надо для каждого нового юзера заходить на сервер и давать эти волшебные права... а с другой стороны... минуточку, это ж можно совместить с процедурой регистрации юзера в самой лоции, все равно она создает юзеров сиквел-сервера с помощью сиквел-команд, дак тогда можно говорить о галочке в окне создания нового юзера, ставим галочку - и после создания юзера в сиквеле лоция запускает скрипт наделения его правами для просмотра статуса других юзеров..
может, как то так?
с другой стороны, можно попробовать сделать какой то сиквел-скрипт, который пробежится по всем юзерам и даст им такие права.. если его периодически выполнять - то в принципе тоже было бы неплохо.. но галочка в окне создания юзера была бы правильней..
Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 06 окт 2009, 21:06
Старик Крупский
А можно ли на сиквеле создать какую-то группу, туда напихать всех юзеров и группе дать нужное право?
Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 07 окт 2009, 18:01
Anderyt
уже если на то пошло - то можно дать права группе party_users... но вроде так не получится... я сейчас не могу попробовать.. а кто-нить может?

Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 08 окт 2009, 07:22
Александр
я наверно могу - но не буду... ну их права эти.... у нас и так система достаточно открыта - а так вообще будет нараспашку
в общем не смогла Лоция нас полноценно обеспечить данной штукой. жаль
Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 08 окт 2009, 10:46
Loco
Александр писал(а):в общем не смогла Лоция нас полноценно обеспечить данной штукой. жаль
Ага, как в анекдоте: "всю Одессу удовлетворяет, а его нет".
Судя по вашей настройке (сужу по презентациям), уж больно специфические задачи решаете, тут никакая система полностью не обеспечит ваших "хотелок". Самим дописывать в любом случае придется.
Re: Как работать со списком подключеных к базе пользователей?
Добавлено: 08 окт 2009, 11:42
Александр
да задачи вроде обычные, просто я так понял что идентификация пользователей так работает только на MSSQL 2005 - вот и получается - не полноценно немного