07.09.2007, 10:26 | #1 |
MCTS
|
Использование Table Browser в момент отладки
Привет всем!
Часто в процессе отладки требуется знать что попало в таблицу а что нет, особенно если эта таблица временная. Пошарившись по форуму готового решения я не нашел, поэтому написал простейший класс-наследник SysTableBrowser. Вызывается просто - в том месте кода где нужно вывести таблицу необходимо вызвать метод класса: X++: XTableBrowser::browse(< >); Возможно кому-нибудь пригодится. DAX 4.0 SP1 |
|
|
За это сообщение автора поблагодарили: mazzy (2), Prof (2), Lucky13 (2), lev (3), player (2), kornix (1). |
07.09.2007, 11:47 | #2 |
Участник
|
А можно в RAR-е выложить? У меня при сохранении видимо файл корячится..
|
|
07.09.2007, 11:52 | #3 |
MCTS
|
для 3.0
__________________
В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню |
|
|
За это сообщение автора поблагодарили: lev (1), nix0root (1). |
07.09.2007, 11:54 | #4 |
MCTS
|
Можно и в RAR'е
|
|
|
За это сообщение автора поблагодарили: MironovI (3). |
07.09.2007, 14:34 | #5 |
Administrator
|
Для DAX 3.0 описание как аналогичный обозреватель написать - было здесь.
Правда там предлагалось делать не наследник - а "пилить" класс SysTableBrowser и не прилагалось готового XPO. Но зато теперь есть решение для 4-рки и 3-шки.
__________________
Возможно сделать все. Вопрос времени |
|
|
За это сообщение автора поблагодарили: player (2). |
16.08.2010, 14:02 | #6 |
Участник
|
Еще бы "запилить" отображение временных таблиц не только из АОТ, но и ставших таковыми после setTmp...
(Чуть погодя) Запилил - отображает. Спасибо предыдущему оратору за идею Class_XTableBrowser_player_DAX2009.rar Последний раз редактировалось player; 16.08.2010 в 14:23. |
|
18.08.2010, 10:33 | #7 |
Участник
|
To player
Спасибо. Только кусок X++: tableBrowserDS = formRun.dataSource();
if (_table.isTmp())
{
tableBrowserDS.cursor().setTmp();
} |
|
|
За это сообщение автора поблагодарили: Lemming (7). |
18.08.2010, 14:35 | #8 |
Участник
|
Я добавил только условие, первая строка уже была
Хотелось бы узнать почему только эти строки, а не весь кусок 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); |
|
19.08.2010, 09:53 | #9 |
Участник
|
Попробуй 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. Иначе изменение источника данных запроса на него никак не повлияет и он будет обращаться к основной, а не временной таблице. |
|
|
За это сообщение автора поблагодарили: player (1). |
19.08.2010, 14:35 | #10 |
Участник
|
Тестировал на другой таблице, выводилось нормально...
Но, твой job феерически расставил точки Актуальный вариант для Dax2009 Class_XTableBrowser_player_2009_v2.rar |
|
Теги |
debugger, download, временная таблица, законченный пример, обозреватель таблиц, отладка, полезное |
|
|