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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.10.2006, 10:17   #21  
Roman777 is offline
Roman777
NavAx
Аватар для Roman777
NavAx Club
 
320 / 64 (3) ++++
Регистрация: 10.02.2005
Адрес: г. Москва
Что-то типа этого:
PHP код:
void initQuery()
{
    
query   query = new query();
    
QueryBuildDataSource  queryDataSource1,queryDataSource2,queryDataSource3;
    
QueryBuildRange  QRange1QRange2QRange3QRange4QRange5;

    
int postedQtyreceiveddeductedregisteredpicked;
;
    
queryDataSource1 query.addDataSourcetablenuminventTable ));
    
queryDataSource2 queryDataSource1.addDataSourcetablenuminventSum ));
    
queryDataSource3 queryDataSource2.addDataSourcetablenuminventDim ));
    
queryDataSource2.addLink(fieldNum(InventTableItemId), fieldNum(InventSumItemId));
    
queryDataSource3.addLink(fieldNum(InventSumInventDimId), fieldNum(inventDimInventDimId));

    
queryDataSource1.addSortFieldfieldnuminventTableItemId ));
    
queryDataSource1.addSortFieldfieldnuminventTableItemName ));
    
queryDataSource1.addSortFieldfieldnuminventTableItemGroupId ));
    
queryDataSource2.addSortFieldfieldnuminventSumInventDimId ));

    
queryDataSource1.orderMode(OrderMode::GroupBy);
    
QRange1 queryDataSource2.addRange(fieldnuminventSumItemId ));
    
QRange2 queryDataSource1.addRange(fieldnuminventTableItemGroupId ));
    
QRange3 queryDataSource1.addRange(fieldnuminventTableGroupTopId ));
    
QRange4 queryDataSource1.addRange(fieldnuminventTableGroupLevelId ));
    
QRange5 queryDataSource3.addRange(fieldnuminventDimInventLocationId ));
    
queryDataSource1.addSelectionField(fieldnuminventTableItemId ));
    
queryDataSource1.addSelectionField(fieldnuminventTableItemName ));
    
queryDataSource1.addSelectionField(fieldnuminventTableItemGroupId ));
    
queryDataSource1.addSelectionField(fieldnuminventTableGroupTopId ));
    
queryDataSource1.addSelectionField(fieldnuminventTableGroupLevelId ));
    
queryDataSource2.addSelectionField(fieldnuminventSumInventDimId ));
    
queryDataSource2.addSelectionField(fieldnuminventSumpostedQty ), selectionField::Sum);
    
queryDataSource2.addSelectionField(fieldnuminventSumreceived ), selectionField::Sum);
    
queryDataSource2.addSelectionField(fieldnuminventSumdeducted ), selectionField::Sum);
    
queryDataSource2.addSelectionField(fieldnuminventSumregistered ), selectionField::Sum);
    
queryDataSource2.addSelectionField(fieldnuminventSumpicked ), selectionField::Sum);
    
queryrun = new sysqueryrun(query);


    
queryRun.origQueryPack(query.pack(false));

Старый 24.10.2006, 13:36   #22  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Объясните плиз недалекому, что я не так делаю, не хочет у меня по строкам гулять цикл

while (queryrun.next())
{

Прикрепляю класс
Вложения
Тип файла: xpo Test_Query.xpo (4.7 Кб, 380 просмотров)
Старый 24.10.2006, 13:43   #23  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
Тут надо бы глянуть на сам Query.
Старый 24.10.2006, 13:48   #24  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Ну, во-первых, вы не прикрепили еще и запрос TestQuery
Насколько я понял из кода метода run() - там 3 таблицы связанных.
С запросом думаю все ОК.
С классом тоже.

В методе run выводятся и 3 и 4.
Думаю проблема, скорее всего, в настройках пользователя.
Измените CurrentVersion в ClassDeclaration на 2, и попрбуйте заново.

Если же все равно не будет работать, выкладывайте еще и сам запрос.
Старый 24.10.2006, 13:49   #25  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Выкладываю
Вложения
Тип файла: xpo Test_Query (1).xpo (13.0 Кб, 375 просмотров)
Старый 24.10.2006, 13:52   #26  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Смена CurrentVersion не помогла
Старый 24.10.2006, 13:55   #27  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Поможет, поможет.
Перекомпилируйте пару раз, а Version1 вообще можно удалить
Можете поставить точку останова в коде метода unpack и проконтролировать, что он прошел мимо #CurrentVersion
Старый 24.10.2006, 13:57   #28  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Сбросьте настройки пользователя: Тул-бар - Настройка - Параметры - Использование данных - сброс.

С Уважением,
Георгий
Старый 24.10.2006, 13:57   #29  
tricky is offline
tricky
Участник
 
140 / 64 (3) ++++
Регистрация: 03.05.2005
Адрес: Гуково
У Вас в Relations источника данных InvebtSum неверная связь InventTable.ItemGroupId == InventSum.ItemId
За это сообщение автора поблагодарили: Protey (1).
Старый 24.10.2006, 13:59   #30  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
А что это за запрос у вас такой: ???

X++:


SELECT ItemId, ItemGroupId, INVALID FIELD, INVALID FIELD
FROM InventTable GROUP BY InventTable.ItemId ASC, InventTable.ItemGroupId ASC, InventTable.INVALID FIELD ASC, InventTable.INVALID FIELD ASC
JOIN SUM(PostedQty), SUM(Received), SUM(Deducted), SUM(Registered), SUM(Picked)
FROM InventSum WHERE InventTable.ItemGroupId = InventSum.ItemId
JOIN inventDimId, InventLocationId FROM InventDim GROUP BY InventDim.inventDimId ASC WHERE InventSum.InventDimId = InventDim.inventDimId


Опередили.
Старый 24.10.2006, 14:04   #31  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Блин, а слона то я и не заметил, все грешил на класс, а в query даже не смотрел, точно помню что в relations ставил связь InventTable.ItemId == InventSum.ItemId
Старый 24.10.2006, 14:09   #32  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Надо было сделать Relations=YES на подключаемом источнике данных - связь подставилась бы автоматом
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Protey (1).
Старый 24.10.2006, 14:10   #33  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Всем спасибо!
Наконец-то заработало!!!
Старый 24.10.2006, 14:20   #34  
Protey is offline
Protey
Участник
 
143 / 15 (1) ++
Регистрация: 22.09.2005
Адрес: Сургут
Цитата:
Сообщение от kashperuk Посмотреть сообщение
А что это за запрос у вас такой: ???

X++:


SELECT ItemId, ItemGroupId, INVALID FIELD, INVALID FIELD
FROM InventTable GROUP BY InventTable.ItemId ASC, InventTable.ItemGroupId ASC, InventTable.INVALID FIELD ASC, InventTable.INVALID FIELD ASC
JOIN SUM(PostedQty), SUM(Received), SUM(Deducted), SUM(Registered), SUM(Picked)
FROM InventSum WHERE InventTable.ItemGroupId = InventSum.ItemId
JOIN inventDimId, InventLocationId FROM InventDim GROUP BY InventDim.inventDimId ASC WHERE InventSum.InventDimId = InventDim.inventDimId


Опередили.
А как из query выдернуть такой запрос, в виде select?
Старый 24.10.2006, 14:22   #35  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
info(qr.query().dataSourceNo(1).toString());
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Вопрос по модулю Расчеты с персоналом. Выплата заработной платы. Keks DAX: Функционал 7 28.12.2009 10:31
Вопрос по перегрузке лукапа поля прям на таблице HorrR DAX: Программирование 3 03.06.2008 18:02
Вопрос по Проектам PSA DAX: Функционал 35 19.01.2007 22:26
расчеты с персоналом. НДФЛ. вопрос чайника shumelka DAX: Функционал 2 25.03.2004 11:36
Вопрос по счетам на оплату поставщикам sergey_alekseev DAX: Функционал 11 26.08.2003 19:43

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

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

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