AXForum  
Zurück   AXForum > Microsoft Dynamics AX > DAX: База знаний и проекты
All
Kennwort vergessen?
Registrieren Forum Rules Hilfe Benutzerliste Heutige Beiträge Suchen

 
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 07.09.2007, 10:26   #1  
PavelX ist offline
PavelX
MCTS
MCBMSS
 
46 / 97 (4) ++++
Registriert seit: 08.09.2006
Ort: Красноярск
Использование Table Browser в момент отладки
Привет всем!

Часто в процессе отладки требуется знать что попало в таблицу а что нет, особенно если эта таблица временная. Пошарившись по форуму готового решения я не нашел, поэтому написал простейший класс-наследник SysTableBrowser.

Вызывается просто - в том месте кода где нужно вывести таблицу необходимо вызвать метод класса:

X++:
XTableBrowser::browse(< >);
Умеет работать как с обычными так и с временными таблицами.
Возможно кому-нибудь пригодится.

DAX 4.0 SP1
Angehängte Dateien
Dateityp: xpo Class_XTableBrowser.xpo (4,8 KB, 687x aufgerufen)
This post has been rated by: mazzy (2), Prof (2), Lucky13 (2), lev (3), player (2), kornix (1).
Alt 07.09.2007, 11:47   #2  
MironovI ist offline
MironovI
Участник
 
724 / 77 (4) ++++
Registriert seit: 30.05.2005
А можно в RAR-е выложить? У меня при сохранении видимо файл корячится..
Alt 07.09.2007, 11:52   #3  
Russland ist offline
Russland
MCTS
Benutzerbild von Russland
MCBMSS
 
267 / 116 (4) +++++
Registriert seit: 17.10.2005
Ort: Донеччина, Україна
для 3.0
Angehängte Dateien
Dateityp: xpo XTableBrowser_3_0.xpo (4,9 KB, 641x aufgerufen)
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
This post has been rated by: lev (1), nix0root (1).
Alt 07.09.2007, 11:54   #4  
PavelX ist offline
PavelX
MCTS
MCBMSS
 
46 / 97 (4) ++++
Registriert seit: 08.09.2006
Ort: Красноярск
Можно и в RAR'е
Angehängte Dateien
Dateityp: rar Class_XTableBrowser.rar (1,2 KB, 186x aufgerufen)
This post has been rated by: MironovI (3).
Alt 07.09.2007, 14:34   #5  
sukhanchik ist offline
sukhanchik
Administrator
Benutzerbild von sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3.342 / 3563 (125) ++++++++++
Registriert seit: 13.06.2004
Ort: Москва
Для DAX 3.0 описание как аналогичный обозреватель написать - было здесь.
Правда там предлагалось делать не наследник - а "пилить" класс SysTableBrowser и не прилагалось готового XPO. Но зато теперь есть решение для 4-рки и 3-шки.
__________________
Возможно сделать все. Вопрос времени
This post has been rated by: player (2).
Alt 16.08.2010, 14:02   #6  
player ist offline
player
Участник
 
107 / 69 (3) ++++
Registriert seit: 25.08.2007
Еще бы "запилить" отображение временных таблиц не только из АОТ, но и ставших таковыми после setTmp...

(Чуть погодя)
Запилил - отображает. Спасибо предыдущему оратору за идею

Class_XTableBrowser_player_DAX2009.rar

Geändert von player (16.08.2010 um 14:23 Uhr)
Alt 18.08.2010, 10:33   #7  
AlexArh ist offline
AlexArh
Участник
 
26 / 25 (1) +++
Registriert seit: 29.01.2006
To player
Спасибо.
Только кусок
X++:
    tableBrowserDS = formRun.dataSource();
    if (_table.isTmp())
    {
        tableBrowserDS.cursor().setTmp();
    }
нужно вызывать до formRun.Run()
This post has been rated by: Lemming (7).
Alt 18.08.2010, 14:35   #8  
player ist offline
player
Участник
 
107 / 69 (3) ++++
Registriert seit: 25.08.2007
Я добавил только условие, первая строка уже была
Хотелось бы узнать почему только эти строки, а не весь кусок
X++:
formRun.run();

    tableBrowserDS = formRun.dataSource();
    if (_table.isTmp())
    {
        tableBrowserDS.cursor().setTmp();
    }
    tableBrowserDS.cursor().setTmpData(_table);
    tableBrowserDS.refresh();
    tableBrowserDS.research();

    formRadioControl = formRun.getRadioControl();
    formRadioControl.visible(dictTable.fieldGroupCnt() != 0);

    formGridControl = formRun.control(idx);
и в чём принципиальная разница?
Alt 19.08.2010, 09:53   #9  
AlexArh ist offline
AlexArh
Участник
 
26 / 25 (1) +++
Registriert seit: 29.01.2006
Попробуй job
X++:
static void Job5(Args _args)
{
    LedgerTable ledgerTable;
    int         i;
    ;

    ledgerTable.setTmp();

    for (i = 1; i <= 5; i++)
    {
        ledgerTable.clear();
        ledgerTable.initValue();
        ledgerTable.AccountNum = 'A'+ int2str(i);
        ledgerTable.insert();
    }
    xTableBrowser::browse(ledgerTable);
}
и посмотри результат в обоих вариантах.
Выставлять признак setTmp на датасорс надо до того как отработает executeQuery и будет создан QueryRun. Иначе изменение источника данных запроса на него никак не повлияет и он будет обращаться к основной, а не временной таблице.
This post has been rated by: player (1).
Alt 19.08.2010, 14:35   #10  
player ist offline
player
Участник
 
107 / 69 (3) ++++
Registriert seit: 25.08.2007
Тестировал на другой таблице, выводилось нормально...
Но, твой job феерически расставил точки
Актуальный вариант для Dax2009

Class_XTableBrowser_player_2009_v2.rar
Stichworte
debugger, download, временная таблица, законченный пример, обозреватель таблиц, отладка, полезное

 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
X++: Using the Cross company feature from the Business Connector and table browser. Blog bot DAX Blogs 1 21.12.2008 01:17
SysDictCoder: Table browser with field groups Blog bot DAX Blogs 6 09.08.2007 09:56
Axapta Lessons: Export a table to a file Blog bot DAX Blogs 0 28.10.2006 18:22
PatrickChua: Temporary table Blog bot DAX Blogs 0 28.10.2006 18:14
Browser table - програмно? Silence DAX: Программирование 3 25.10.2006 15:45

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Gehe zu

Рейтинг@Mail.ru
Alle Zeitangaben in WEZ +3. Es ist jetzt 13:59 Uhr.
Powered by vBulletin® Version 3.8.5 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.