AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.07.2005, 17:17   #1  
SergeySS is offline
SergeySS
Участник
 
17 / 12 (1) ++
Регистрация: 14.03.2005
Уважаемые профессионалы помогите
Подскажите как можно определить источник вызова метода.
Например я хочу писать такую историю записей в таблицу:
переопределяю метод insert - в нем пишу добавление записи в свою таблицу истории, туда я хочу записать объект АОТ, который возвал этот метод insert или форму с которой он был вызван. (Извиняюсь за корявость формулировки)
Заранее спасибо.
Старый 25.07.2005, 17:26   #2  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
1) Иногда, допустим, для того, чтобы избежать рекурсии или не вызывать длительную цепочку обновлений, используется doInsert/doUpdate. Их не отловишь. Надавно тема проходила, ищите.
2) Есть стандартный механизм логирования. Читайте администрирование, смотрите SysDatabaseLog. Мы на его основе делали.
3) Перекройте insert и поставьте на super брекпоинт. Смотрите стек вызовов.

С Уважением,
Георгий
Старый 14.08.2009, 14:07   #3  
IKA is offline
IKA
Участник
 
359 / 65 (3) ++++
Регистрация: 15.03.2006
скажите( я понимаю, что дело давно уже было), но все же. На сколько медленней работает логгирование, если использовать журнал БД по сравнению с переопределением кода на insert/update/delete? Будет ли опепация insert_recordset/update_recordset выполняться курсорно запись за записью или останутся bulk-операциями, если использовать журнал БД
Старый 14.08.2009, 14:21   #4  
egorych is offline
egorych
Участник
Самостоятельные клиенты AX
Oracle
 
761 / 154 (7) ++++++
Регистрация: 09.11.2006
Адрес: Краснодарский край
Цитата:
Сообщение от SergeySS Посмотреть сообщение
Подскажите как можно определить источник вызова метода.
Не касаясь остального, я пользую метод (тут кстати подсказали)
Положил его в Global и отлично. Можно переопределить, чтобы в БД писал.
X++:
static server boolean stackTrace2File(anytype _string, str _mode = 'A',Filename _file = "")
{
    Filename         fileName = xInfo::directory(DirectoryType::Config) + '..\\..\\log\\' + curuserid() + '-info2File.txt';
    str              toFile   = strFmt("%1 [%2] '%3'", systemdateget(), time2str(timenow(), 1, 1), _string) + '\n';
//    FileIOPermission perm     = new FileIOPermission(fileName, _mode);
    container        stack    = xSession::xppCallStack();
    AsciiIo          file;
    str stackTraceStr(container stackTrace)
    {
        int i;
        str s = "";
        ;
        for(i = 1; i <= conLen(stackTrace); i += 2)
            s+=strFmt("%1:%2\r\n", conPeek(stackTrace, i), conPeek(stackTrace, i+1));
        return s;
    }
    ;
//    perm.assert();
    file = new AsciiIO(fileName, 'A');
    if (file.status() == IO_Status::Ok)
    {
        file.write(toFile+'\r\n' + stackTraceStr(stack));
        return true;
    }
    return false;
}
Старый 14.08.2009, 14:39   #5  
ZVV is offline
ZVV
MCITP
MCP
Oracle
MCBMSS
 
1,006 / 246 (11) ++++++
Регистрация: 13.02.2004
Адрес: Минск
->
Цитата:
Сообщение от IKA Посмотреть сообщение
На сколько медленней работает логгирование, если использовать журнал БД по сравнению с переопределением кода на insert/update/delete?
Думаю примерно сопоставимо...
Вообщем-то проверить вы это можете и сами - дело 2-х минут...

Цитата:
Сообщение от IKA Посмотреть сообщение
Будет ли опепация insert_recordset/update_recordset выполняться курсорно запись за записью или останутся bulk-операциями, если использовать журнал БД
Будет выполнятся курсорно, если не использовать .skipDataBaseLog()
__________________
Zhirenkov Vitaly
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помогите с отчетом Silphidae DAX: Программирование 6 18.11.2008 13:50
Помогите с алгоритмом Sada DAX: Программирование 1 28.06.2006 10:03
Курсовые разницы! Помогите! SSM DAX: Функционал 7 26.09.2005 11:10
Помогите. Никак не могу законектиться по ODBC!!! SocratPSV DAX: Администрирование 10 17.03.2003 09:16
Ребята плиз помогите! Данные! niksa DAX: Программирование 6 17.12.2002 19:16

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 04:49.