03.05.2010, 18:03 | #1 |
Участник
|
Странная проблема с userid2Name на старте клиента
Сначала опишу в 2х словах архитектуру, в которой происходит вылет стек трейса:
в Application.StartupPost() вызывается наш класс, который выполняет определенную работу при старте клиента. В методе run нашего класса первой инструкцией является следующая: UserName userName = userId2name(curUserId()); Теперь кейс: есть некий тестовый пользователь, у которого при логине вылетает следующий стек трейс: -Global.userId2name() -НашКлас.run() -Application.startupPost() Что загадочно и непонятно. Потому что: a.) userId2name выполнится без ошибки ДАЖЕ если нет UserInfo с Id = curUserID(); б.) у UserInfo таблицы нет ни SecurityKey, ни ConfigurationKey(что логично), НО, после того, как пользователь был переведен в группу админов, ошибка испарилась, при удалении из неё - снова за старое. UPD: Тот же стек трейс валится у вас пользователей этой юзер-группы, у других юзверь-групп, даже без админских прав все нормально...
__________________
Axapta has seduced me deadly! Последний раз редактировалось HorrR; 03.05.2010 в 18:15. Причина: update |
|
04.05.2010, 01:02 | #2 |
Участник
|
А ошибка то какая?
Возможно просто userId2Name() использует какой-то класс, который еще не инициализирован в Infolog.startupPost().. Может попробуйте, ради интереса, такой подход, как используется здесь (addTimeOut): http://kashperuk.blogspot.com/2010/0...-menu-for.html |
|
04.05.2010, 08:57 | #3 |
Участник
|
а.) У меня нет функции Global.userId2name() но осмелюсь предположить что возможно она должна возращать не ошибку а false.
б.) Цитата:
у UserInfo таблицы нет ни SecurityKey, ни ConfigurationKey(что логично)
А вообще BREAKPOINT вам в помощь...
__________________
Что сломалось не знаем, но уже немного подчинили... |
|
|
|