12.04.2010, 17:36 | #1 |
Участник
|
Проблемы с curuserid() и curext()
Есть ф-ционал, который выполняется в бэкграунде и заключается в логгировании действий пользователя(на самом деле это Task Recorder, привычный для ползователей 2009ой аксапты, только портированный на 4ку). Фунцкионал состоит из нескольких форм и классов выполняемых на клиенте(что естественно) ну и внешней .NET сборки, которая используется в качестве хука. Любые логгируемые действия(открытия форм, запуск меню) происходят в контексте текущего пользователя и текущей дейта эрии( то бишь каким пользователем и в какой компании произведено данное действие). Просмотр исходного кода показал, что для определения данной информации используются стандартные curext() и curuserid() (что опять же вполне естественно). Но вот незадача: время от времени(изредка) в логи попадают неверные userId и dataAreaId. И если с dataAreaId можно было бы сослаться на возможные переходы между компаниями, то вот с userId объяснить такие значения невозможно.
Итак вопрос: очевидно, что сбои происходят в curext() и curuserid(), бывало ли у кого-либо, что эти методы сбоили, что вы при этом делали?
__________________
Axapta has seduced me deadly! |
|
12.04.2010, 18:37 | #2 |
Участник
|
Внутри аксапты я никаких возможных сценариев, приводящих к сбою в этих функциях, не припомню. Возможно проблемы проявляются при обращаетесь к функциям curext() и curuserid() из внешней .NET сборки? Проверьте всегда ли вы корректно устанавливаете соединение NetConnector'а с аксаптой
|
|
12.04.2010, 19:03 | #3 |
Участник
|
И curext(), и curuserid() вызываются изнутри аксаптовского объекта. Так что этот вариант, увы, не работает.
__________________
Axapta has seduced me deadly! |
|
12.04.2010, 20:45 | #4 |
Участник
|
"Неверные" - это значит "пустые"? Или значение есть, но не то, которое ожидалось?
Если есть значение, но не то, что ожидалось, то это случайно не значения первого пользователя, вошедшего в систему в этот день? Не происходит ли чтение значений из кеша таблиц? |
|
13.04.2010, 09:29 | #5 |
Участник
|
Предположу, что глюк проявляется при работе на сервере. Попробуйте перенести место вызова сбоящих функций на клиент. По идее должно выправиться.
|
|
|
За это сообщение автора поблагодарили: Proba (1). |
13.04.2010, 15:51 | #6 |
Участник
|
Не те, которые ожидались.
>>Если есть значение, но не то, что ожидалось, то это случайно не значения первого пользователя, вошедшего в систему в этот день? Не происходит ли чтение значений из кеша таблиц? Интересная версия! Нужно проверить.
__________________
Axapta has seduced me deadly! |
|
30.09.2010, 05:27 | #7 |
Участник
|
|
|