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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.02.2007, 15:14   #7  
moid is offline
moid
Участник
 
84 / 10 (1) +
Регистрация: 05.02.2007
Короче получилось так... но так нельзя програмить... Если списки очень большие, то будет долго выполняться...Но для относительно небольших сойдет пока...
Возможно еще где-то переменные лишние висят...Да и работу с массивом можно оптимизировать...
Вообщем вот этот громоздкий код:
X++:
void clicked()
{  str arrSub[];
   int a=1;//размерность массива
   int c=1,d=1;
   int b;
   int OutLoadArr,OutLoadArrF;
   EmplTable EmplTableFind;
   list ListSub, ListSub2 = new list(types::String);
   listIterator it, it2;
   ;
    super();
    StaticTextPodch.text("");
    EmplTableFind = EmplTable::findUserId("ZLD");
//*************************************************************************************************************************
//************************************************** Получаем родительские списки *****************************************
    ListSub = (ZG_HRMOrganization::getOrganizationChildren(ZG_HRMOrganizationType::Line, emplTableFind.hrmOrganizationId) );

    //Выводим список
    it = new listIterator (ListSub);
    while (it.more())
    {
        arrSub[a] = it.value();
        a++;
        it.next();
    }
    //info("первый обход выгрузили = "+ int2str(a));
//*************************************************************************************************************************
//************************************************* Продвигаемся вниз по ветвям *******************************************
       while (c > 0)
       {
         d = a;
         for (b=c; b<=d; b++)
         {
           //info("смотрим по списку " + ArrSub[b]);
           if (ArrSub[b] == "")
           {
           // info("ПУСТОЙ СИМВОЛ");
            break;
           }
           ListSub2 = (ZG_HRMOrganization::getOrganizationChildren(ZG_HRMOrganizationType::Line, arrSub[b]));
           //Выводим список
            it2 = new listIterator (ListSub2);
            while (it2.more())
            {
              arrSub[a] = it2.value();
             // info("Находим " + ArrSub[a]);
              a++;
              it2.next();
            }
            c=a-d;//на сколько увеличелся список
            c=a-c;//не обработанные элементы начинаются с этого значения
         }
           //info("Второй тоже = "+ int2str(a));

           // убираем повторяющиеся записи
           for(OutLoadArr=1; OutLoadArr <= a-1; OutLoadArr++)
           {
             for(OutLoadArrF=OutLoadArr+1; OutLoadArrF <= a; OutLoadArrF++)
             {
               if(ArrSub[OutLoadArr] == ArrSub[OutLoadArrF])
               {
                 ArrSub[OutLoadArr] = "";
               }
             }
           }

           //Выводим список
            for (OutLoadArr=1; OutLoadArr <= a; OutLoadArr++)
            {
              StaticTextPodch.text(StaticTextPodch.text() +", "+ arrSub[OutLoadArr]);
            }
            break;
       }
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
HRM,склонение ФИО и все все все OmenSore DAX: Функционал 22 09.02.2009 17:08
Как скрыть лишние DataSource у кнопки "Выбрать" Poleax DAX: Программирование 14 24.07.2008 11:43
как посмотреть все weblet'ы в системе (3.0)? yooshi DAX: Функционал 3 08.11.2005 17:10
Крякозябры в Аксапте! Все уже перепробовал((( StoneRoller DAX: Администрирование 28 22.09.2003 16:30
Основные элементы КИС Rafael DAX: Прочие вопросы 1 27.12.2001 15:03

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

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

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