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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.04.2013, 09:21   #1  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
650 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от user_ax Посмотреть сообщение
Ваш способ конечно очень привлекателен, но , допустим у меня будет сортировка по необходимым мне полям, а есди делать через listiterator, он возьмёт первое значение из листа, выберет все строки согласно нему, возьмёт второе , выберет все строки согласно второму, при этом заданная мною группировка не будет учитываться уже...
Но попробую в любом случае
Если вам нужна сортировка, попробуйте через класс RecordSortedList. В своем запросе, построенном на основе классов QueryBuild*, используйте метод QueryBuildRange.value(). В него нужно передать строку, в которой через запятую должны стоять все ваши значения из списка RecordSortedList.
X++:
static void Job45(Args _args)
{
    SMMSalesUnitId      salesUnitId;
    RecordSortedList    salesUnitList = new RecordSortedList(tablenum(SMMSalesUnit));
    SMMSalesUnit        su;
    boolean             x;

    void getChildSalesUnit(SMMSalesUnitId _salesUnitIdParent)
    {
        SMMSalesUnit    salesUnit;
        ;

        //Add current sales unit to list
        salesUnit = SMMSalesUnit::find(_salesUnitIdParent);
        salesUnitList.ins(salesUnit);

        //Check for child records
        select count(RecId) from salesUnit
            where salesUnit.ParentId == _salesUnitIdParent;

        if (salesUnit.RecId != 0)
        {
            //Go through child records and call recurent function
            while select SalesUnitId from salesUnit
                where salesUnit.ParentId == _salesUnitIdParent
            {
                getChildSalesUnit(salesUnit.SalesUnitId);
            }
        }
    }
    ;
    
    salesUnitId = "Отдел продаж трансф.";
    salesUnitList.sortOrder(fieldnum(SMMSalesUnit, SalesUnitId));
    getChildSalesUnit(salesUnitId);
    for (x = salesUnitList.first(su); x; x = salesUnitList.next(su))
    {
        print su.SalesUnitId;
    }
    pause;
}
__________________
// no comments

Последний раз редактировалось dech; 16.04.2013 в 09:35.
Теги
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, время: 16:20.