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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 10.09.2008, 15:43   #1  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
вот это ?
SysOperationProgress sop;
int cntItems;

;
delete_from tmpTable;

select count(RecId) from tmpTable;
cntItems = tmpTable.RecId;



sop = SysOperationProgress::newGeneral('','',cntItems);
далее идеt while select - условие
цикл
и sop.incCount();
Старый 10.09.2008, 15:47   #2  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
после
X++:
sop = SysOperationProgress::newGeneral('','',cntItems);
нужно сразу sop.update(true); - это ускорит работу, не будет вызываться апдейт прогрессбара для каждой строки.
sop.incCount() - нужно писать сразу после sop.setText() внутри цикла
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 10.09.2008, 15:49   #3  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
Ща попробую
Старый 10.09.2008, 15:54   #4  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Ещё раз посмотрел код. Увидел что временная таблица у вас заполняется в цикле. а Вы ищите в ней записи до цикла, конечно же там будет ноль записей. а так как при инициализации sop у Вас подставляется нулевое значение, то и бегунок не заполняется.
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
За это сообщение автора поблагодарили: CRASH_505 (1).
Старый 10.09.2008, 16:06   #5  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
так значит мне надо сделать вот так select count(recid)from Prodjournaltable;
cntItems = ProdJournalTable.RecId;



sop = SysOperationProgress::newGeneral('','',cntItems); или как то по другому
Старый 10.09.2008, 16:20   #6  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от CRASH_505 Посмотреть сообщение
так значит мне надо сделать вот так select count(recid)from Prodjournaltable;
cntItems = ProdJournalTable.RecId;



sop = SysOperationProgress::newGeneral('','',cntItems); или как то по другому
это зависит от того, по какой таблице\таблицам у Вас основной цикл...
думаю в вашем случае что то типа:
X++:
select  count(RecId)
    from ProdJournalTable
    where
        ProdJournalTable.Posted==NOYES::No
    exists join TableId from ProdJournalRoute
    where ProdJournalRoute.JournalId==ProdJournalTable.JournalId&&
          (ProdJournalRoute.WrkCtrId == '113' ||
           ProdJournalRoute.WrkCtrId == '135');

cntItems = ProdJournalTable.RecId;
....
только учтите что это может увеличить время работы функции.. если время выполнения критично, можно обойтись и без заполнения строки состояния, а просто писать что типа "Просмотрено столько то строк"... Я обычно жертвую красотой ради производительности
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 10.09.2008, 16:29   #7  
Alex_KD is offline
Alex_KD
Участник
AxAssist
MCBMSS
Соотечественники
 
522 / 362 (14) ++++++
Регистрация: 06.07.2006
Адрес: Melbourne, Down Under
Вот это смотрите и изучайте....
\Forms\tutorial_Progress
__________________
AxAssist 2012 - Productivity Tool for Dynamics AX 2012/2009/4.0/3.0
За это сообщение автора поблагодарили: CRASH_505 (1).
Старый 10.09.2008, 16:31   #8  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от Alex_KD Посмотреть сообщение
Вот это смотрите и изучайте....
\Forms\tutorial_Progress
я уже в начале темы советовал эту форму но судя по вопросам человека, он пока не сможет посмотреть и разобраться (не хочу ни кого обидеть).
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 10.09.2008, 16:27   #9  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
Большое спасибо все работает отлично. ВСЕМ СПАСИБО
Старый 10.09.2008, 16:33   #10  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
ВСЕМ СПАСИБО ДО ЗАВТРА
Старый 11.09.2008, 10:40   #11  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
Спасибо ща попробую
Старый 11.09.2008, 11:11   #12  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
Все норм заработало но Поле Itemid повторяеться так как количество Qty разные суммы и занимает много места, как мне их соеденить через destinct.
Старый 11.09.2008, 11:29   #13  
lev is offline
lev
Ищущий знания...
Аватар для lev
Oracle
MCBMSS
Axapta Retail User
 
1,723 / 491 (20) +++++++
Регистрация: 18.01.2005
Адрес: Москва
Цитата:
Сообщение от CRASH_505 Посмотреть сообщение
Все норм заработало но Поле Itemid повторяеться так как количество Qty разные суммы и занимает много места, как мне их соеденить через destinct.
Вообще не понял суть проблемы
__________________
"Страх перед возможностью ошибки не должен отвращать нас от поисков истины." (с)
С Уважением,
Елизаров Артем
Старый 11.09.2008, 13:07   #14  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
Цитата:
Сообщение от lev Посмотреть сообщение
Вообще не понял суть проблемы
Не все норм просто я ступил немного.Во смотрите что у меня получилось

PHP код:
{
    
ProdJournalTable ProdJournalTable;
    
ProdJournalRoute ProdJournalRoute;
    
ProdJournalRoute ProdJournalRoute_1;
    
ProdJournalRoute ProdJOurnalRoute_2;
    
TmpProdJournalRouteOutTime tmpTable;
    
ProdTable  ProdTable;
    
int nDay;
    
SysOperationProgress    sop;
    
int                     cntItems;
    
date fromDate 01\09\2008;
    
date toDate 31\09\2008;
    ;
    
delete_from tmpTable;
    
 
        
        
select count (Recid)from Prodjournaltable
    exists join ProdJournalRoute
    where ProdJournalRoute
.JournalId==ProdJournalTable.JournalId&&
          
ProdJournalTable.Createddate >= fromdate &&
         (
ProdJournalRoute.WrkCtrId == '113' ||
          
ProdJournalRoute.WrkCtrId == '135');

        
cntItems ProdJournalTable.RecId;

    
sop SysOperationProgress::newGeneral('','',cntItems); // преоброзование шкалы


    
while select  createddate,journalid,posted
    from ProdJournalTable
    exists join ProdJournalRoute
    where ProdJournalRoute
.JournalId==ProdJournalTable.JournalId&&
          
ProdJournalTable.Createddate >= fromdate &&
         (
ProdJournalRoute.WrkCtrId == '113' ||
          
ProdJournalRoute.WrkCtrId == '135')
    {
        
select ProdJournalRoute_1
        order by oprnum desc
        where
            ProdJournalRoute_1
.JournalId == ProdJournalTable.JournalId;

        
select ProdTable
        where
            ProdTable
.ProdId == ProdJournalRoute_1.ProdId;

        
select  ProdJournalRoute_2
        where
                ProdJournalRoute_2
.OprId like '045*' &&
                
ProdJournalRoute_2.JournalId == ProdJournalTable.JournalId;




       
sop.incCount();

                
info
        
(
            
strfmt("%1,%2,%3",
            
ProdJournalTable.createdDate,
            
ProdJournalTable.JournalId,
            
toDay() - ProdJournalTable.createdDate)
        );



        
tmpTable.clear();

        
tmpTable.ITEMID =ProdTable.ItemId;
        
tmpTable.WRKCTRID=ProdjournalRoute_1.WrkCtrId;
        
tmpTable.Qty=ProdJournalRoute_1.QtyGood+ProdJournalRoute_1.QtyError;
        
tmpTable.DaystoDay() - ProdJournalTable.createdDate;
        
tmpTable.Normal=noYes::No;


       if ( 
tmpTable.WRKCTRID == '135')
        {
            
nDay 1;
        }
        if ( 
tmpTable.WRKCTRID == '113')
        {
            if (
ProdJournalRoute_2 != NULL)
            {
                 
nDay=5;
            }
            else
            {
                
nDay 3;
            }
        }

        if (
tmpTable.Days nDay)
            
tmpTable.Normal=NoYes::No;
        else
            
tmpTable.Normal=NoYes::Yes ;

        
tmpTable.insert();
    }


Старый 11.09.2008, 11:57   #15  
coolibin is offline
coolibin
Участник
 
264 / 68 (3) ++++
Регистрация: 07.04.2005
Цитата:
Сообщение от CRASH_505 Посмотреть сообщение
Все норм заработало но Поле Itemid повторяеться так как количество Qty разные суммы и занимает много места, как мне их соеденить через destinct.
тактамэтоеслизаработалотонадобыкакнибудьподругомуапотомобрезатьивсе
За это сообщение автора поблагодарили: CRASH_505 (-1).
Старый 11.09.2008, 13:00   #16  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
coolibin, не будьте злюкой, может у человек облегченная форма аграфии - апунктия, какая-нибудь.
CRASH_505, вы ведь явно не ItemId имели в виду, так ведь? В любом случае используйте group by. И вот ещё, если начали обучение, постарайтесь, если есть возможность делать это постепенно, по системе, если надо, напишите в личку почту - вышлю пару книг в электронке для начинающих.

З.Ы Тема плавно переростает в CRASH_505_спаммер_блог)
__________________
Axapta has seduced me deadly!
Старый 11.09.2008, 13:17   #17  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
CRASH_505, вы ведь явно не ItemId имели в виду, так ведь? В любом случае используйте group by. И вот ещё, если начали обучение, постарайтесь, если есть возможность делать это постепенно, по системе, если надо, напишите в личку почту - вышлю пару книг в электронке для начинающих.

Я тока начинающий не судите строго ОК. А за книги если пришлете спасибо CRASH_505@mail.ru
Старый 11.09.2008, 13:11   #18  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Ого, прогресс на лицо, заюзан тег xpp!
__________________
Axapta has seduced me deadly!
Старый 11.09.2008, 13:24   #19  
HorrR is offline
HorrR
Участник
 
340 / 30 (2) +++
Регистрация: 18.02.2008
Адрес: Киев
Так я же не сужу ваши профессиональные какчества, я сам ламер, мне как-то и судить не полагается, обьектом шуток является ваш стиль изложения, вот и все) Книги пришлю.
__________________
Axapta has seduced me deadly!
Старый 11.09.2008, 13:27   #20  
CRASH_505 is offline
CRASH_505
Участник
Аватар для CRASH_505
 
74 / 10 (1) +
Регистрация: 09.09.2008
Цитата:
Сообщение от HorrR Посмотреть сообщение
Так я же не сужу ваши профессиональные какчества, я сам ламер, мне как-то и судить не полагается, обьектом шуток является ваш стиль изложения, вот и все) Книги пришлю.
Буду ждать спасибо
Теги
progress bar, tutorial

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Еще вопрос про покрытие по аналитикам в Сводном планировании rt2 DAX: Функционал 3 24.03.2006 18:56
Функция поиска подстроки, чувствительная к регистру . Есть ли такая в аксапте? ATimTim DAX: Программирование 4 13.02.2006 15:37
Вопрос по фильтрации axaLearner DAX: Программирование 9 20.09.2005 18:59
Есть ли планирование движения денежных средств? dd DAX: Функционал 5 10.06.2004 15:57
Вопрос к пользователю при сохранении данных в таблице Anais DAX: Программирование 1 19.03.2004 10:28

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

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

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