|
|
#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 ругается, мол нет такого метода ![]() |
|
|
|
|
#2 |
|
Модератор
|
Сначала найди DataDictionary. Tables - это уже вложенный нод.
С Уважением, Георгий |
|
|
|
|
#3 |
|
Роман Долгополов (RDOL)
|
X++: #AOT
TreeNode treeNode = infolog.findNode(#TablesPath + "\\Address");
print treeNode.treeNodePath();
pause; |
|
|
|
| За это сообщение автора поблагодарили: Logger (1). | |
|
|
#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;
}
} |
|
|
|
|
#5 |
|
Гость
|
Всем большое спасибо. Разобрался.
|
|
|