11.12.2007, 10:03 | #1 |
Участник
|
Кто работает с формой
Доброго всем времени суток, подскажите новичку, как правильнее будет отследить, кто на данный момент использует форму. Я предполагаю, что это метод activate но вот как правильно организовать сей мониторинг?
|
|
11.12.2007, 10:22 | #2 |
Участник
|
Поставьте точки останова в методе new класса SysSetupFormRun и методе close (его санчала нужно перекрыть) того же класса и откройте, а потом закройте любую форму. Вам это нужно?
|
|
11.12.2007, 10:25 | #3 |
Участник
|
Не совсем понял, у меня было предположение, что нужно просто создать таблицу, при методе activate вставлять в нее запись с именем пользователя и врееменем входа, потом методом close delete ить эту запись
|
|
11.12.2007, 10:34 | #4 |
Участник
|
|
|
11.12.2007, 10:44 | #5 |
Участник
|
Смотря что Вам нужно, если отследить кто работает с конкретной формой, то пишите в свою таблицу в методе init этой формы, а удаляйте в методе close. Если нужно чтобы это работало для всех форм, то в SysSetupFormRun.new - пишем, а SysSetupFormRun.close - удаляем.
|
|
11.12.2007, 10:48 | #6 |
Участник
|
Да, именно с конкретной формой, можно еще вопрос, каким классом я могу получить полное имя пользователя (чтобы его потом вставить в таблицу) и время входа на форму?
|
|
11.12.2007, 10:58 | #7 |
Участник
|
Класса не знаю. Можно получить Id текущего пользователя ф-цией curuserid(), а потом запросом выбрать имя из UserInfo либо EmplTable. Хотя я бы не стал хранить в таблице имя, лучше хранить Id, а при выводе на форму если нужно, по Id находить имя.
|
|
11.12.2007, 10:59 | #8 |
Axapta
|
- Пользователь может открыть одну и ту же форму два раза.
- Пользователь может просто перезагрузить компьютер и тогда никакой ваш метод close не отработает. Так что таким образом вы не получите список пользователей, у которых в данный момент открыта ваша форма. |
|
11.12.2007, 11:04 | #9 |
Участник
|
Согласен полностью, но тогда как правильнее будет сделать?
|
|
11.12.2007, 13:16 | #10 |
Участник
|
Как вариант сохранять в этой таблице SessionID и в определенный момент проверять его актуальность. Т.е. также как в журналах происходит блокировка.
|
|
11.12.2007, 17:54 | #11 |
Участник
|
|
|
12.12.2007, 09:18 | #12 |
Участник
|
Суть проблемы в том, что в проекте есть форма, которая используется для подачи отчетов. Нужно выяснить, как часто она используется, соответственно, кем. Ну и кто на данный момент ее просматривает, а главное (там есть кнопка выгрузки данных) кто выгружает на данный момент данные.
|
|
12.12.2007, 12:32 | #13 |
Участник
|
Цитата:
Цитата:
Код: дата, время, код сессии, код пользователя, выгрузка начата ... дата, время, код сессии, код пользователя, выгрузка завершена |
|
12.12.2007, 15:42 | #14 |
Участник
|
Всем спасибо, написал класс, который инсертит записи в таблицу логирования, прикрутил его к определенным событиям формы, с обработчиком ошибок. Тема закрыта.
|
|
12.12.2007, 16:00 | #15 |
Banned
|
Просто задам вопрос, для истории. Вы, Antonuch, являетесь IT-администратором в компании, использующей Аксапту? Предположил просто исходя из постановки задачи: решать организационные задачи техническими средствами.
|
|
12.12.2007, 16:11 | #16 |
Участник
|
Не совсем, нами написан проект, который выгружает данные для последующей подачи отчетов. При выгрузке этих данных, блокируется таблица InventTrans поэтому в качестве рекомендаций, были даны указания проводить загрузку либо утром, либо вечером (работающих в системе более 400 человек) Нужно было отмониторить, кто доброссовестно выполняет указания, кто нет))).Поэтому я решил посоветоваться, может кто и сталкивался с подобной проблемой.Простые административные функции не совсем подошли.
|
|
12.12.2007, 16:29 | #17 |
NavAx
|
Цитата:
Сообщение от Antonuch
Не совсем, нами написан проект, который выгружает данные для последующей подачи отчетов. При выгрузке этих данных, блокируется таблица InventTrans поэтому в качестве рекомендаций, были даны указания проводить загрузку либо утром, либо вечером (работающих в системе более 400 человек) Нужно было отмониторить, кто доброссовестно выполняет указания, кто нет))).Поэтому я решил посоветоваться, может кто и сталкивался с подобной проблемой.Простые административные функции не совсем подошли.
|
|
12.12.2007, 16:31 | #18 |
Участник
|
а что если с выгружаемыми данными сохранять дату/время выгрузки и даже печатать их на тех самых отчетах?
|
|