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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.06.2007, 05:00   #1  
Михаил Петрович is offline
Михаил Петрович
Участник
 
20 / 10 (1) +
Регистрация: 21.03.2007
? Фактуры. Помогите с запросом.
Здравия всем...

Вот такой вот запросик при обработке фактур занимает сейчас секунд 30 минимум при выполнении...
Местонахождение - classes\FactureCalcSettlement_RU\calcFactureAmounts line 50

X++:
// Process line markups
    while select sum(LineAmount), sum(VAT), sum(TaxAmount),sum(Qty), maxOf(ItemName) from factureTrans
        group by TaxCode, Dimension, ExchRate,InventTransId, InternalInvoiceId,InvoiceId,NumberSequenceGroup,markupRefRecId
        exists join custVendInvoiceTrans
        exists join markupTrans
        where factureTrans.FactureId            == _factureJour.FactureId           &&
              factureTrans.Module               == module                           &&
              factureTrans.FactureLineType      == FactureLineType_RU::Markup       &&
              markupTrans.RecId                 == factureTrans.MarkupRefRecId      &&
              markupTrans.TransTableId          == custVendInvoiceTrans.TableId     &&
              custVendInvoiceTrans.RecId        == markupTrans.TransRecId           &&
              custVendInvoiceTrans.SalesPurchId == _custVendInvoiceJour.Num         &&
              custVendInvoiceTrans.InvoiceNum   == _custVendInvoiceJour.InvoiceId   &&
              custVendInvoiceTrans.InvoiceDate  == _custVendInvoiceJour.InvoiceDate &&
              (module == FactureModule_RU::Cust ||
               (module == FactureModule_RU::Vend &&
                custVendInvoiceTrans.PurchInternalInvoiceId == _custVendInvoiceJour.PurchInternalInvoiceId)) &&
              custVendInvoiceTrans.NumberSequenceGroupId
                                                == _custVendInvoiceJour.NumberSequenceGroupId
    {
        this.addFactureTransAmounts(factureAmounts, factureTrans, _factureJour);
    }
При преобразовании его в нечто вот такое, выполнение запроса сводится к сотням миллисекунд, но есть некоторая неуверенность однозначности запросов

X++:
// Process line markups
    while select sum(LineAmount), sum(VAT), sum(TaxAmount),sum(Qty), maxOf(ItemName) from factureTrans

        group by TaxCode, Dimension, ExchRate,InventTransId, InternalInvoiceId,InvoiceId,NumberSequenceGroup,markupRefRecId

        where factureTrans.FactureId            == _factureJour.FactureId           &&
              factureTrans.Module               == module                           &&
              factureTrans.FactureLineType      == FactureLineType_RU::Markup      
        
        exists join markupTrans
        where markupTrans.RecId                 == factureTrans.MarkupRefRecId      &&
              markupTrans.TransTableId          == custVendInvoiceTrans.TableId   

        exists join custVendInvoiceTrans
        where custVendInvoiceTrans.RecId        == markupTrans.TransRecId           &&
              custVendInvoiceTrans.SalesPurchId == _custVendInvoiceJour.Num         &&
              custVendInvoiceTrans.InvoiceNum   == _custVendInvoiceJour.InvoiceId   &&
              custVendInvoiceTrans.InvoiceDate  == _custVendInvoiceJour.InvoiceDate &&
              (module == FactureModule_RU::Cust ||
               (module == FactureModule_RU::Vend &&
                custVendInvoiceTrans.PurchInternalInvoiceId == _custVendInvoiceJour.PurchInternalInvoiceId)) &&
              custVendInvoiceTrans.NumberSequenceGroupId
                                                == _custVendInvoiceJour.NumberSequenceGroupId
    {
        this.addFactureTransAmounts(factureAmounts, factureTrans, _factureJour);
    }
С нетерпением жду совета :-)
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Помогите с запросом Antonuch DAX: Программирование 4 21.06.2007 15:46
Помогите с запросом leshy DAX: Программирование 40 31.05.2007 14:51
Помогите с запросом.. DarkBear DAX: Программирование 2 15.08.2005 13:38
Помогите с SQL запросом malex DAX: Программирование 8 26.07.2005 13:43
Пожалуйста, помогите с запросом chel DAX: Программирование 19 12.07.2004 11:53

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

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

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