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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.04.2013, 09:34   #1  
LeonDerCom is offline
LeonDerCom
Участник
 
45 / 20 (1) +++
Регистрация: 08.10.2012
S.Kuskov
Угу, об этом и говорю.
Проще использовать временную таблицу - удобней заносить данные и пользоваться уже привычными запросами. Можно создать двумерный массив из контейнеров и уже группировать и фильтровать данные проходя по нему. Можно двумерный массив из обычных. И все же вариантов куча.
X++:
    container       cList, cListLine, cListLineBuf;
    int             sBufi, sBufj;
    int             i,j, iLength;
    ;
    cListLine = ['Яблоки, кг','Груши, кг','Сливы, кг','Батон, 1 шт'];
    cList = conins(cList, 1, cListLine);
    cListLine = [20,40,90,30];
    cList = conins(cList, 2, cListLine);
    cListLine = [13,55,85,25];
    cList = conins(cList, 2, cListLine);
    cListLine = [05,100,100,100];
    cList = conins(cList, 2, cListLine);
    cListLine = [25,19,13,15];
    cList = conins(cList, 2, cListLine);
    cListLine = [12,10,55,1000];
    cList = conins(cList, 2, cListLine);
    i = 3;
    while (i<=conlen(cList))
    {
        j=1;
        while (j<=conlen(cList))
        {
            cListLine = conpeek(cList, i);
            cListLineBuf = conpeek(cList, j);

            sBufi = conpeek(cListLine, 1);
            sBufj = conpeek(cListLineBuf, 1);
            if (sBufi<sBufj)
            {
                cList = condel(cList, i, 1);
                cList = conins(cList, i, cListLineBuf);
                cList = condel(cList, j, 1);
                cList = conins(cList, j, cListLine);
            }
            j++;
        }
        i++;
    }
    i = 1;
    while (i<=conlen(cList))
    {
        cListLine = conpeek(cList, i);

        sBufi = conpeek(cListLine, 1);
        sBufj = conpeek(cListLine, 4);
        if (sBufi<21 && sBufj<101)
            {
                if (i==1)
                { info('<'+conpeek(cListLine, 1)+'> <'+conpeek(cListLine, 2)+'> <'+conpeek(cListLine, 3)+'> <'+conpeek(cListLine, 4)+'>'); }
                else
                { info('<'+int2Str(conpeek(cListLine, 1))+'> <'+int2Str(conpeek(cListLine, 2))+'> <'+int2Str(conpeek(cListLine, 3))+'> <'+int2Str(conpeek(cListLine, 4))+'>'); }
            }
        i++;
    }
Старый 16.04.2013, 10:00   #2  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
650 / 352 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Цитата:
Сообщение от LeonDerCom Посмотреть сообщение
Можно создать двумерный массив из контейнеров и уже группировать и фильтровать данные проходя по нему. Можно двумерный массив из обычных.
Простите, но это уже извращение. Контейнер подходит только чтобы хранить в одном месте данные разных типов. Для сортировки, фильтрации и группировки есть другие способы. Например, RecordSortedList - оптимальное решение для сортировки. Сюда же подойдет и Map в принципе.
__________________
// no comments
Теги
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, время: 21:29.