11.09.2005, 11:47 | #1 |
Участник
|
вывод дерева из АОТа
Уважаемые коллеги! Помогите, пожалуста, советом. Необходимо обойти АОТ и вывести в виде дерева обеъкты которые были созданы или изменены за время, когда пользователя не было в сети. Вопрос первый подскажите пожалуйста класс, который используется при загрузке аксапты (мне там нужно сделать диалог). Вопрос второй в job'е представленной ниже у меня не получается вывести аот в виде дерева и поставить условия (типа select UtilElements
where UtilElements.name == tet.treeNodeName(); if((UtilElements.createdBy == 'admin') && (UtilElements.createdDate > 01\09\2005))) текст job'а: static void ob(Args _args) { UserId uId; treeNode t = treeNode::RootNode(); void detourAot(treenode _treenode) { treeNode tet; ; tet = _treenode.AOTfirstChild(); while(tet) { info(tet.treeNodeName()); detourAot(tet); tet =tet.AOTnextSibling(); } } detourAot(t); } p.s. И еще как сделать чтоб он проходил например 20 или 30 итераций, чтоб не дебагер не использовать(АОТ очень долго обходит). |
|
11.09.2005, 12:01 | #2 |
Administrator
|
Создайте новый проект, откройте его, и нажмите на кнопочку "Фильтр" (Ctrl+F3). Там укажите критерии, по которым Вы хотите отобрать элементы.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
|
За это сообщение автора поблагодарили: Gustav (5). |
11.09.2005, 12:25 | #3 |
Участник
|
Да это я знаю, но мне нужно сделать это программно и чтоб выводило в инфо в виде дерева измененных объектов, при нажатии мышкой которого выплавал бы объект.
|
|
11.09.2005, 12:33 | #4 |
Участник
|
Цитата:
Изначально опубликовано
Focusnik подскажите пожалуйста класс, который используется при загрузке аксапты Цитата:
Изначально опубликовано
Focusnik у меня не получается вывести аот в виде дерева и поставить условия Насчет условия тоже не очень понятно (if else для нужных свойств объекта). Насчет итераций - поставьте счетчик, значение которого увиличивайте на каждой итерации. Как только его значение превысит некоторый предел вываливайтесь из процедуры
__________________
Axapta v.3.0 sp5 kr2 |
|
11.09.2005, 12:46 | #5 |
Участник
|
И еще. При обходе дерева лучше используйте класс TreeNodeIterator.
PHP код:
__________________
Axapta v.3.0 sp5 kr2 |
|
11.09.2005, 13:37 | #6 |
Участник
|
|
|
11.09.2005, 15:25 | #7 |
Участник
|
Большое спасибо за подробный ответ. И позвольте спросить как сделать запрос чтоб он быстро работал(а то он аксапту вешает). Запрос выглядит так :
UtilElements UtilElements; ; .......................... select firstonly UtilElements where UtilElements.name == tet.treeNodeName(); if((UtilElements.createdBy == 'admin') && (UtilElements.createdDate > 01\09\2005)) { ......................... //какие- то действия } заранее Благодарен. |
|
11.09.2005, 18:46 | #8 |
Участник
|
Мне кажется что вы не с той стороны ищите решение.
По-моему все-таки было бы быстрее сначала по UtilElements выбрать все измененные объекты, а затем по этому списку строить уже необходимое вам дерево. Обратите внимание на совет Максима Горбунова. Для пробега по AOT при построении дерева проектов используется класс SysProjectFilterRunBase.
__________________
Axapta v.3.0 sp5 kr2 |
|