Показать сообщение отдельно
Старый 30.10.2015, 19:14   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,719 / 1204 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от demianimp Посмотреть сообщение
Друзья, если есть идеи по улучшению алгоритмы, то говорите. Буду рад узнать что-то новое.
Угу. Таблица называется. С индексом.

На всякий случай напомню, что индексировать можно и временные таблицы (в любых версиях Axapta)

Ну, и идея, которую подкинул (но не развернул) belugin.

Если у Вас есть повторяющиеся значения, то для уникальности надо "подмешать" дополнительное значение. Вариантов "вагон и маленькая тележка" Ну, например так

X++:
    Set             set;
    SetEnumerator   se;
    ;

    set = new Set(types::Container);
    set.add([5, set.elements() + 1]);
    set.add([1, set.elements() + 1]);
    set.add([2, set.elements() + 1]);
    set.add([1, set.elements() + 1]);
    set.add([1, set.elements() + 1]);
    set.add([3, set.elements() + 1]);
    info(strFmt('Элементов %1', set.elements()));
    se = set.getEnumerator();
    while (se.moveNext())
    {
        info(strFmt('Значение = %1, Номер вставки = %2', conPeek(se.current(),1), conPeek(se.current(),2)));
    }
    return;

Но если вместо Set использовать индексированную таблицу будет еще проще
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...

Последний раз редактировалось Владимир Максимов; 30.10.2015 в 19:20.
За это сообщение автора поблагодарили: demianimp (1).