14.02.2005, 14:30 | #1 |
Участник
|
Авт. завершение работы Navision
Есть следующая проблема. Кол-во потенциальных пользователей превышает кол-во достпных сессий. Есть пользователи открывающие Navision для просмотра и составления отчетов. После завершения работы они его не закрывают потому как влом снова открывать и заводить пароль. В результате есть необходимость после например 5 минут бездействия в системе её закрывать.
Если кто сталкивался с такой проблемой расскажите как решали. Средствами Navision или как-нибудь по другому. |
|
15.02.2005, 02:17 | #2 |
Аксакал в отставке
|
Могу предложить поставить таймер-триггер, который будет отключать пользователя спустя определенное время.
Суть в том, чтобы сперва определиться, что является критерием неактивности пользователя.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
15.02.2005, 09:11 | #3 |
Участник
|
Неактивность пользователя - полное отсутвие деятельности в Navision.
Таймер-тригер предлагается поставить на SQL или Navision? |
|
15.02.2005, 20:27 | #4 |
Аксакал в отставке
|
В код формы меню пользователя.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
16.02.2005, 10:02 | #5 |
Участник
|
1. Меню может быть и закрыто.
2. Пусть даже в меню, но как проверить работает пользователь или нет? На данный момент реализовал именно через главное меню и отслеживание изменений времени использования проссора в таблице 2000000009. Но может есть вариант получше? |
|
16.02.2005, 14:03 | #6 |
Аксакал в отставке
|
Поставьте на закрытие основного меню дисконнект.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
16.02.2005, 16:06 | #7 |
Участник
|
Осталась только одна проблемка.
Ввиду своей огранниченности и скудных познаний для завершения работы Navision не придумал ничего лучше чем SHELL('Taskkill /IM finsql.exe'); Работает правда это только в XP и выше. А тут W2000 у большинства пользователей. Писать собственную утилиту неохота , тем более неохота ставить везде XP. Да и пользователи могут догадаться поменять имя exe-шника. К тому же меня терзают смутные сомнения что можно вырубать navision как то иначе. Если знаете - скажите! Буду очень благодарен. |
|
16.02.2005, 16:21 | #8 |
Аксакал в отставке
|
Хм. Тут помочь не помогу, может что лучше в C/SIDE Guide найдете?
Чтобы пользователь ничего не поменял, организуйте ему доступ через терминал-сервер под лозунгом "будет работать быстрее".
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
18.02.2005, 09:27 | #9 |
Участник
|
Вообщем проблему решил. Пришлось тряхнуть стариной и поработать в Visual C++.
В результате написал утилитку находящюю HWND окна navision у клиента и посылающую ему сообщение о закрытии после 10 секундного предупреждения. Программку выложил на сервер и прописал в главной форме меню её вызов. Теперь все здорово, если конечно пользователи не поменяют название класса окна, но думаю это им уже точно не грозит. Если кому интересно как реализовано - могу рассказать подробнее (абсолютно бесплатно) |
|
18.02.2005, 15:51 | #10 |
Аксакал в отставке
|
Почему отказался от реализация на C/AL?
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
21.02.2005, 08:07 | #11 |
Участник
|
Не нашел функций программного завершения работы Navision.
|
|
21.02.2005, 10:15 | #12 |
NavAx
|
Цитата:
Изначально опубликовано DA_NEAL
Вообщем проблему решил. Пришлось тряхнуть стариной и поработать в Visual C++. В результате написал утилитку находящюю HWND окна navision у клиента и посылающую ему сообщение о закрытии после 10 секундного предупреждения. Программку выложил на сервер и прописал в главной форме меню её вызов. Теперь все здорово, если конечно пользователи не поменяют название класса окна, но думаю это им уже точно не грозит. Если кому интересно как реализовано - могу рассказать подробнее (абсолютно бесплатно) |
|
21.02.2005, 13:06 | #13 |
Участник
|
На сервере каждые 10 минут запускается задание (по таймеру) которое отслеживает по табличке 2000000009 активность пользователя.Соответсвенно нужна подобная табличка для сохранения предыдущих данных. Если установлено что пользователь активности не проявлял в табличке 2000000002(Users) ставится флажочек (NeedToExit)-поле которое добавил в таблицу самостоятельно. У пользователя на главном меню висит обработчик таймера который проверяет этот флажочек раз в минуту. Если он TRUE запускается утилита NavKiller командой Shell.
|
|
21.02.2005, 13:42 | #14 |
NavAx
|
Респект.
тупой вопрос: как именно активность пользователя по "сессии" отслеживается? По какому полю? |
|
21.02.2005, 14:13 | #15 |
Участник
|
По полю Время CPU (ms) + желательно (но я не делал) по полю Исп. Памяти (КВ).
Если эти данные изменились значит юзер че-то делал. Конечно че-то делал - значит действие приведшее к обновлению или получению данных с сервера или использованию времени самого сервера. Если юзер прокручивает скроллером сформированный отчет это действием не является . |
|
21.02.2005, 14:24 | #16 |
NavAx
|
Все понял. Спасибо за разъяснения.
|
|
22.02.2005, 14:02 | #17 |
Аксакал в отставке
|
Так а запускать прогу из самого Navision нельзя?
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
24.02.2005, 07:52 | #18 |
Участник
|
Дак она и запускается из главного меню Navision.
SHELL('\\Server\NavKiller.exe'); |
|
24.02.2005, 15:42 | #19 |
Аксакал в отставке
|
Я имел ввиду поставить таймеры в главном меню пользователя в коде таймер на события и запускать прогу, которая будет дисконнектить сеанс.
__________________
Девочка, никогда не произноси слова только за то, что они такие длинные и красивые; говори только то, что знаешь. (Л.Кэрролл "Алиса в стране чудес"). |
|
24.02.2005, 16:09 | #20 |
NavAx
|
Цитата:
Изначально опубликовано Тимур
Я имел ввиду поставить таймеры в главном меню пользователя в коде таймер на события и запускать прогу, которая будет дисконнектить сеанс. Цитата:
На сервере каждые 10 минут запускается задание (по таймеру) которое отслеживает по табличке 2000000009 активность пользователя.
Цитата:
Дак она и запускается из главного меню Navision.
SHELL('\\Server\NavKiller.exe'); |
|
|
Похожие темы | ||||
Тема | Ответов | |||
Navision и Сканеры штрихкодов | 1 | |||
Navision Database Server | 0 | |||
Наши в городе (Navision в MSDN) | 48 | |||
Navision Attain через Citrix | 2 |
|