Показать сообщение отдельно
Старый 11.04.2008, 15:37   #1  
CasperSKY is offline
CasperSKY
Axapta Retail User
Аватар для CasperSKY
Axapta Retail User
 
53 / 10 (1) +
Регистрация: 22.02.2008
Не могу сформировать строку strFmt
Уважаемые аксаптеры столкнулся с проблемой отображения данных по распред центру.
Есть Descendants, тут происходить наследование ассортимента от родителя(я так понял от root)
X++:
descendants += strFmt("DESCENDANTS (%1, [Товар] , SELF )",
                         inventItemRange.getItemRangeCondition()
                         );
Далее построение запроса с наследыванием -

X++:
queryText +=
          strFmt("select ")
          + strFmt("{ %1 } on rows, ", descendants)
          + strFmt("{[Measures].[Номенклатура], [Measures].[Наименование],[Measures].[Конфигурация], ")
          + strFmt("[Measures].[Размер], [Measures].[Цвет], [Measures].[Остаток на начало], [Measures].[Остаток на конец], ")
          + strFmt("[Measures].[Закупки], [Measures].[Продажи], [Measures].[Прочее], ")
          + strFmt("[Measures].[Продажи за период1], [Measures].[Продажи за период2], [Measures].[Продажи за период3], [Measures].[Продажи за период4], [Measures].[Продажи за период5], [Measures].[Продажи за период6],")
          + strFmt("[Measures].[Производство за период2]} on columns ")
          + strFmt("from InventTrans ")
          + strFmt("where [Склады].[(%2) %1],", inventLocation.Name, inventLocation.InventLocationId);
Соответственно запрос выбирает весь асортимент (а это 21000 записей что занимает 50 минут ) , а нужно только если у записи склад РЦ, как сделать так чтобы условие where отрабатывалось верно,

inventLocation.InventLocationId - РЦ
inventLocation.Name - Распред Центр