01.08.2006, 11:22 | #1 |
Гость
|
Проблема с TreeNode
treeNode _treeNode;
xInfo _xInfo = new xInfo(); ; _treeNode = _xInfo.rootNode(); _treeNode = _treeNode.AOTfindChild("Tables"); _treeNode = _treeNode.AOTfirstChild(); while (_treeNode) { print _treeNode.TreeNodeName(); _treeNode = _treeNode.next(); } Пытаюсь вот таким способом получить список таблиц в системе, но не понятно почему вот тут вылетает _treeNode = _treeNode.AOTfirstChild(); Что самое интересное если вместо "Tables" поставить "Forms" ну или, что угодно не находящееся в Data Dictionary, то все ок. И еще вопрос... в Help написано, что _treeNode = _treeNode.next(); это правильно, однако Axapta ругается, мол нет такого метода |
|
01.08.2006, 11:36 | #2 |
Модератор
|
Сначала найди DataDictionary. Tables - это уже вложенный нод.
С Уважением, Георгий |
|
01.08.2006, 12:06 | #3 |
Роман Долгополов (RDOL)
|
X++: #AOT TreeNode treeNode = infolog.findNode(#TablesPath + "\\Address"); print treeNode.treeNodePath(); pause; |
|
|
За это сообщение автора поблагодарили: Logger (1). |
01.08.2006, 12:15 | #4 |
Участник
|
Цитата:
Сообщение от sergeyoskol
Пытаюсь вот таким способом получить список таблиц в системе
Код: static void Job5(Args _args) { Dictionary dictionary = new Dictionary(); TableId tableId; SysDictTable sysDictTable; ; try { tableId = dictionary.tableNext(0); while (tableId) { sysDictTable = new SysDictTable(tableId); if (!sysDictTable.isTmp() && !sysDictTable.isMap() && !sysDictTable.isView()) { info(tableId2pName(tableId)); } tableId = dictionary.tableNext(tableId); } } catch(Exception::Deadlock) { retry; } } |
|
01.08.2006, 12:35 | #5 |
Гость
|
Всем большое спасибо. Разобрался.
|
|