Количество пользователей использующих модули iScala

Автор Сообщение
vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 12.05.2005 16:20 Заголовок сообщения: Количество пользователей использующих модули iScala
День добрый все,

Кто-нибудь знает откуда в iScala2.2 можно SQL запросом с определенной периодичностью (5, 10 минут) получать информацию о количестве пользователей использующих одновременно финансовые и логистические модули? Нужно определить максимальное количество одновременно работающих пользователей в одном модуле.

Заранее благодарен

Удалён
Гость

Добавлено: 13.05.2005 17:41 Заголовок сообщения:
Определять число залогиненных пользователей в 5.1 легко по запросу к SY13
А в каком подуле он работает и работает ли вообще или некорректно вышел — эо вопрос
vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 13.05.2005 18:12 Заголовок сообщения:

Leshic писал(а):
Определять число залогиненных пользователей в 5.1 легко по запросу к SY13
А в каком подуле он работает и работает ли вообще или некорректно вышел — эо вопрос

Спасибо, для 5.1 я подобную задачу решил, меня интересует аналог/аналоги в iScala2.2, таблицы SY13

aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 14.05.2005 07:54 Заголовок сообщения: ТщательнЕе надо, тщательнЕе!

vome писал(а):

Leshic писал(а):
Определять число залогиненных пользователей в 5.1 легко по запросу к SY13
А в каком подуле он работает и работает ли вообще или некорректно вышел — эо вопрос

Спасибо, для 5.1 я подобную задачу решил, меня интересует аналог/аналоги в iScala2.2, таблицы SY13

Мы ведь уже затрагивали тему, где взять информацию об измененных карточках покупателей, поставщиков, запасов и так далее. Я даже текст запроса публиковал… Так вот там же и всё остальное. А если точнее, то смотри ScaLogMessage и ScaLogArchive в системной базе данных (ScaSystemDB)
Тщательнее надо, тщательнее Laughing

vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 14.05.2005 09:21 Заголовок сообщения: Re: ТщательнЕе надо, тщательнЕе!

aav писал(а):
Мы ведь уже затрагивали тему, где взять информацию об измененных карточках покупателей, поставщиков, запасов и так далее. Так вот там же и всё остальное. А если точнее, то смотри ScaLogMessage и ScaLogArchive в системной базе данных (ScaSystemDB) Тщательнее надо, тщательнее Laughing

Спасибо конечно, но где историю смотреть я знаю. Cool В 5.1 в SY13 можно было без всяких сортировок, группировок и т.п. увидеть сколько и каких пользователей какие модули в каких компаниях пользуют. Вот я и спрашиваю об аналоге/аналогах этой таблицы. Ща как дам больно!..

aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 14.05.2005 10:52 Заголовок сообщения: Re: ТщательнЕе надо, тщательнЕе!

vome писал(а):
Спасибо конечно, но где историю смотреть я знаю. Cool В 5.1 в SY13 можно было без всяких сортировок, группировок и т.п. увидеть сколько и каких пользователей какие модули в каких компаниях пользуют. Вот я и спрашиваю об аналоге/аналогах этой таблицы. Ща как дам больно!..

Насколько я помню (может быть, конечно у меня проблемы с памятью, уже больше года не видел 5.1), но в SY13 значится, какие модули пользователю доступны, а не какие он в настоящий момент использует. Оттуда можно было только понять залогинился пользователь или нет. Или я не прав?

Jugulator
Главный форумщик

Зарегистрирован: 08.10.2004
Сообщения: 428

Добавлено: 14.05.2005 11:22 Заголовок сообщения:
В Scala 5.1 в поле SY13027 находится числовой код модуля, в котором пользователь сидит, или -1, если он просто зашел в систему, но ничего не использует.
Jugulator
Главный форумщик

Зарегистрирован: 08.10.2004
Сообщения: 428

Добавлено: 14.05.2005 11:44 Заголовок сообщения: Scala Discussion Forums > Topic: Currently logged in user
Топик из scala. net/customers/forum
Posted: 03-March-2004 at 16:58 | IP Logged
———————————————————————————
In the Administration Console under activities it lists all the logged in users and what they are doing. Does anyone know where it pulls this information from?
I need to write a program that monitors this information real-time and logs a user out of iScala after a certain period of inactivity (for example when the MRP run is finished).
Any hints would be appreciated.
Thanks,
Keith Willsie
Acu-Rite MIS

Edited by kwillsie on 03-March-2004 at 17:59

franks151
Senior Member
Joined: 02-February-2004
Location: United States
Online Status: Offline
Posts: 63 Posted: 04-March-2004 at 17:12 | IP Logged
———————————————————————————
I ran a SQL Profiler trace to see what tables the Admin Console was reading from when populating the Activities node. It appears they are doing something sneaky, because the Profiler trace did not show any database activity when I refreshed the Activity node. I will do some more research to see if I can figure out where iScala is reading this information from (or perhaps Sergey Mikhno would be kind enough to share that information with us).
__________________
Dustin Franks
Leggett & Platt, Inc.
Back to Top

smikhno
Scala Customer Support
Joined: 03-February-2004
Location: Sweden
Online Status: Offline
Posts: 17 Posted: 08-May-2004 at 20:04 | IP Logged
———————————————————————————
Public Sub ViewCurrentUsers()

Dim objLogonServer As ScaLogonSrv.SysLogon
Dim objAppLogon As ScaAppLogon.ScaLogon
Dim objUserContext As ScaAppLogon.ScaUserContext
Dim objLogonAdmin As ScaLogonSrv.Admin
Dim bX As Boolean
Dim vLogonId As Variant
Dim objUserList As Recordset
Dim S As String, I As Integer

On Error GoTo Err

Set objLogonAdmin = CreateObject("ScaLogonSrv.Admin", _
ThisProcess.UserContext.SystemServiceServer("Logon"))
Set objLogonServer = ThisProcess.UserContext.SystemService("Logon")
Set objAppLogon = objLogonServer.GetAppLogon("SCAL6INTREL", _
ThisProcess.UserContext.LogonID)
Set objUserList = objLogonAdmin.GetUserList("SCAL6INTREL", _
ThisProcess.UserContext.LogonID)

S = ""
I = 0

objUserList.MoveFirst
Do While Not objUserList.EOF
vLogonId = objUserList.Fields.Item("LogonID").Value
Set objUserContext = objAppLogon.GetExtension(vLogonId, setUserContext)
S = S & objUserContext.UserFullName
If objUserContext.IsExclusiveLogon Then
S = S & " — logged on exclusively"
End If
S = S & vbCrLf
I = I + 1
objUserList.MoveNext
Loop

ThisProcess.ScaMessageBox I & " users currently logged on", S, vbOKOnly + vbInformation
GoTo ReleaseAll

Err:
ThisProcess.ScaMessageBox Err.Description

ReleaseAll:
Set objLogonAdmin = Nothing
Set objLogonServer = Nothing
Set objAppLogon = Nothing
Set objUserList = Nothing
Set objUserContext = Nothing

End Sub

smikhno
Scala Customer Support
Joined: 03-February-2004
Location: Sweden
Online Status: Offline
Posts: 17 Posted: 08-May-2004 at 20:09 | IP Logged
———————————————————————————
This is the example in VBA
Public Sub ViewCurrentUsers()

Dim objLogonServer As ScaLogonSrv.SysLogon
Dim objAppLogon As ScaAppLogon.ScaLogon
Dim objUserContext As ScaAppLogon.ScaUserContext
Dim objLogonAdmin As ScaLogonSrv.Admin
Dim bX As Boolean
Dim vLogonId As Variant
Dim objUserList As Recordset
Dim S As String, I As Integer

On Error GoTo Err

Set objLogonAdmin = CreateObject("ScaLogonSrv.Admin", _
ThisProcess.UserContext.SystemServiceServer("Logon"))
Set objLogonServer = ThisProcess.UserContext.SystemService("Logon")
Set objAppLogon = objLogonServer.GetAppLogon("SCAL6INTREL", _
ThisProcess.UserContext.LogonID)
Set objUserList = objLogonAdmin.GetUserList("SCAL6INTREL", _
ThisProcess.UserContext.LogonID)

S = ""
I = 0

objUserList.MoveFirst
Do While Not objUserList.EOF
vLogonId = objUserList.Fields.Item("LogonID").Value
Set objUserContext = objAppLogon.GetExtension(vLogonId, setUserContext)
S = S & objUserContext.UserFullName
If objUserContext.IsExclusiveLogon Then
S = S & " — logged on exclusively"
End If
S = S & vbCrLf
I = I + 1
objUserList.MoveNext
Loop

ThisProcess.ScaMessageBox I & " users currently logged on", S, vbOKOnly + vbInformation
GoTo ReleaseAll

Err:
ThisProcess.ScaMessageBox Err.Description

ReleaseAll:
Set objLogonAdmin = Nothing
Set objLogonServer = Nothing
Set objAppLogon = Nothing
Set objUserList = Nothing
Set objUserContext = Nothing

End Sub

franks151
Senior Member
Joined: 02-February-2004
Location: United States
Online Status: Offline
Posts: 63 Posted: 11-May-2004 at 14:55 | IP Logged
———————————————————————————
Thank you Sergey. This will prove to be useful.
_________________
Dustin Franks
Leggett & Platt, Inc.

vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 14.05.2005 12:24 Заголовок сообщения: Re: Scala Discussion Forums > Topic: Currently logged in

Jugulator писал(а):
Топик из scala .net/customers/forum

Большое человеческое спасибо.

aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 14.05.2005 13:56 Заголовок сообщения: Re: Scala Discussion Forums > Topic: Currently logged in

vome писал(а):

Jugulator писал(а):
Топик из scala .net/customers/forum

Большое человеческое спасибо.

Володя, не переживай, это про то, как сделать проект на VBA, у тебя ведь его пока все равно нет, а когда появится, задача уже будет неактуальной, если я правильно понял, зачем тебе нужно вычислять количество пользователей Wink

Последний раз редактировалось: aav (28.10.2017 18:21), всего редактировалось 1 раз

vome
Народный форумщик

Зарегистрирован: 17.09.2004
Сообщения: 210
Откуда: Санкт-Петербург -> Москва

Добавлено: 14.05.2005 15:10 Заголовок сообщения: Re: Scala Discussion Forums > Topic: Currently logged in

aav писал(а):
это про то, как сделать проект на VBA Wink

А этот самый VBA должен быть только Скальским? Shocked

aav
Администратор
Администратор

Зарегистрирован: 14.09.2004
Сообщения: 1081
Откуда: Санкт-Петербург

Добавлено: 16.05.2005 10:24 Заголовок сообщения: Re: Scala Discussion Forums > Topic: Currently logged in

vome писал(а):

aav писал(а):
это про то, как сделать проект на VBA Wink

А этот самый VBA должен быть только Скальским? Shocked

Не обязательно, но сделать это сможет только достаточно опытный программист

Удалён
Гость

Добавлено: 17.05.2005 15:15 Заголовок сообщения:
Можно еще поанализировать таблицу master.dbo.sysprocesses в SQL Server, правда определить какие пользователи какой модуль используют по ней не удастся, а вот общее число залогиненных в Скалу пользователей можно (по program_name, например).

А я в свое время решила проблему совершенно «не спортивно», зато очень быстро: выгружаю из Скальского администратора>Активность список пользователей и что они делают в текстовый файл, а потом этот текстовый файл анализирую в простеньком отчетике. Не совсем удобно, прямо скажем, но мне запускать отчет требуется редко.

Кстати, скрипт с приведенным выше VBA описан в мануале к 2.2.