AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 25.10.2011, 11:21   #1  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Как вывести инфолог свернутым во всех узлах дерева
Сабж?

У меня результатом получается огромное дерево. Причем все узлы - развернутые. И очень неудобно такое читать...
Старый 25.10.2011, 11:43   #2  
Daiver is offline
Daiver
Участник
Самостоятельные клиенты AX
 
177 / 44 (2) +++
Регистрация: 19.07.2005
Адрес: Москва
Цитата:
Сообщение от Eldar9x Посмотреть сообщение
Сабж?

У меня результатом получается огромное дерево. Причем все узлы - развернутые. И очень неудобно такое читать...
Посмотрите класс Info, метод viewBuild. В районе 228 строки есть treeItem.stateExpanded(true). Измените на false и все будет в свернутом виде.
За это сообщение автора поблагодарили: Eldar9x (1).
Старый 25.10.2011, 12:07   #3  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Можно я немного побурчу? Инфолог не предназначен для вывода "огромного дерева". Ни один пользователь не будет/не сможет читать всю эту огромную простыню (не говоря уже о том, что и строится такой инфолог долго). Если предполагается вывод "огромного" кол-ва сообщений, то в инфолог лучше выводить какую-либо сводную (или частичную) информацию, а сами сообщения сохранять в каком-либо виде в лог-файле или таблице, в которой можно бы было и сортировать и фильтровать. И не будет никакого "неудобно такое читать".

Цитата:
Infolog Best Practices

Infolog messages interrupt a user's work. Make the interruption as brief as possible and help the user quickly resume their work.

Limit the Number of Messages

To limit the number of messages under each heading, use:

int errorsPerBatch(int number = errorsPerBatch)

For example, if a table already contains a record, several thousand errors could be generated for the table during data import, saying: 'Record already exists'. You could choose to just show the first ten errors for each table. The user would have to take a look at these tables anyway, because data is incomplete.

Limiting the number of Infolog messages will also avoid an unnecessary drain on memory.

It is bad practice to report any errors that come from errors that have already been reported.
http://msdn.microsoft.com/en-us/libr...(v=AX.10).aspx
За это сообщение автора поблагодарили: gl00mie (2).
Старый 25.10.2011, 12:16   #4  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Ну оно не то чтобы уж совсем огромное... Но по удобству просмотра для меня самым удобным, вот в этом конкретном случае, является дерево инфолога. Почему я должен использовать что-то другое?
Вообще, хотелось бы сразу какую то функцию вызвать, чтобы до или после дерево оказалось сжатым... Но вот в коде править - не пойдет.
Старый 25.10.2011, 14:56   #5  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,711 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Добавь на форму для отображения infolog (это форма SysInfologBrowser) кнопку/галку с названием врде "Свернуть все узлы" и пропиши там код свертки всех узлов, отображенных в дереве на форме. После отображения infolog одним щелчком можешь свернуть/развернуть узлы
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...
Старый 25.10.2011, 15:11   #6  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Цитата:
Сообщение от Владимир Максимов Посмотреть сообщение
Добавь на форму для отображения infolog (это форма SysInfologBrowser) кнопку/галку с названием врде "Свернуть все узлы" и пропиши там код свертки всех узлов, отображенных в дереве на форме. После отображения infolog одним щелчком можешь свернуть/развернуть узлы
Готового кода не найдется?
Старый 25.10.2011, 15:47   #7  
Eldar9x is offline
Eldar9x
MCTS
Аватар для Eldar9x
Oracle
MCBMSS
 
1,064 / 166 (8) ++++++
Регистрация: 29.09.2006
Адрес: Казань
Нашел, вроде )
X++:
void clicked()
{
    void expandTree(int idx)
    {
        int childidx;
        ;
        formTreeControl.expand(idx,FormTreeExpand::Collapse);
        childidx = formTreeControl.getChild(idx);
        while ( childidx )
        {
            expandTree(childidx);
            childidx = formTreeControl.getNextSibling(childidx);
        }
    }
    ;

    super();

    expandTree(0);
}
Спасибо!
Старый 25.10.2011, 16:49   #8  
miklenew is offline
miklenew
Участник
Аватар для miklenew
MCBMSS
1C
Лучший по профессии 2009
 
1,688 / 433 (18) +++++++
Регистрация: 10.07.2006
Адрес: г. Ликино-Дулёво
Подсмотрел как то в одной системе интересный механизм.
Выводится на экран ветки корневого узла. Далее пользователь нажимает на узел который ему нужен. Идёт обращение к базе и налету строится всё что должно быть в этой ветке. Дальше он идёт в другой узел и снова обращение к базе и снова появляется то что должно быть в узле. Никаго моргания нет. Делается всё моментально.
Как будто эти узлы там всегда были, а не только что построились.
Чем понравилось? В плане производительности капец как круто. Потому что пока построится всё дерево, пройдёт куча времени. (не меньше 10 минут точно).
А тут куда нужно туда иди, чё нужно то и смотри.
Так вдруг пригодится. Потому что технически это и в Аксе можно реализовать.
__________________
Энергия молодых и неравнодушных способна изменить мир к лучшему.
Старый 26.10.2011, 15:10   #9  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 646 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Цитата:
Сообщение от miklenew Посмотреть сообщение
Потому что технически это и в Аксе можно реализовать.
Более того, именно это в Аксапте и реализовано. Посмотрите, например, как работают стандартные формы Cost explorer или BOM designer
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Теги
infolog

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Переписались значения поле Поставщик во всех заказах на закупку wojzeh DAX: Администрирование 15 13.05.2010 02:58
Путь от узла дерева к корню Dronas DAX: Программирование 2 29.09.2008 08:44
Как получить метки всех элементов всех форм (DAX 4) Qaz Qwerty DAX: Программирование 1 09.08.2008 05:39
вывод дерева из АОТа Focusnik DAX: Программирование 7 11.09.2005 18:46
Настройки пользователя для всех пользователей DreamCreator DAX: Программирование 1 27.01.2005 10:51

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 00:34.