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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.04.2013, 17:56   #11  
plumbum is offline
plumbum
Участник
Соотечественники
 
182 / 86 (3) ++++
Регистрация: 07.12.2007
Адрес: Vienna, AT
Ну в общем Вы двигаетесь в правильном направлении.
Если я Вас правлиьно понял, Вам надо выбрать все дочерние записи отталкиваясь от определенного значения SalesUnitId,

тогда напишите рекурсивную функцию, которая, получая SalesUnitId как параметр, выбирает по очереди (while select) все дочерние записи, и, если какая нибудь из них тоже содержит дочерние, вызывается рекурсивно для этой конкретой дочерней записи.

Ну например:
X++:
static void Job45(Args _args)
{
    SMMSalesUnitId      salesUnitId;
    List                salesUnits = new List(Types::String);

    List getChildSalesUnit(SMMSalesUnitId _salesUnitIdParent)
    {
        SMMSalesUnit    salesUnit;
        List            childSalesUnit = new List(Types::String);
        
        //Add current sales unit to list
        childSalesUnit.addEnd(_salesUnitIdParent);
        
        //Check for child records
        select count(RecId)
            from salesUnit
            where salesUnit.ParentId == _salesUnitIdParent;

        if (!salesUnit)
        {
            return childSalesUnit;
        }
        //Go through child records and call recurent function
        while select SalesUnitId
            from salesUnit
            where salesUnit.ParentId == _salesUnitIdParent
        {
            //Merge list with the result list of all children
            childSalesUnit = List::merge(childSalesUnit, getChildSalesUnit(salesUnit.SalesUnitId));
        }
        return childSalesUnit;
    }
    ;
    
    salesUnitId = "any value";
    salesUnits  = getChildSalesUnit(salesUnitId);
}
__________________
http://www.axdevposts.blogspot.com
Пришел, уведел.... отойди, дай другому увидеть!

Последний раз редактировалось plumbum; 12.04.2013 в 18:07. Причина: Орфография... мда, 3 года всего учил русский в школе :)
За это сообщение автора поблагодарили: user_ax (1).
Теги
tree, дерево, построение дерева, раскрытие

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить метки всех элементов всех форм (DAX 4) Qaz Qwerty DAX: Программирование 1 09.08.2008 05:39
Как поменять порядок элементов в Tree Lucky13 DAX: Программирование 3 16.02.2007 14:29
Tree. Проблема с data() alexbn DAX: Программирование 2 03.11.2005 14:39
Как работать с tree? Oz DAX: Программирование 3 23.08.2002 12:36
Динамическое добавление элементов в отчет Maxim Gorbunov DAX: База знаний и проекты 1 17.01.2002 14:48

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

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

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