|  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 | |||
| 
 |