Показать сообщение отдельно
Старый 26.05.2011, 12:54   #4  
ZornFire is offline
ZornFire
MS Dynamics AX 2012 R3
Аватар для ZornFire
Oracle
Злыдни
Ex AND Project
 
333 / 76 (3) ++++
Регистрация: 12.01.2009
Адрес: Москва
Как то не то.
Вот мой метод:
Х++
Цитата:
void makeQueryRun()
{
Query query = new query();
QueryBuildDataSource qbds, qbds1,qbds2,qbds3;
QueryBuildRange qbr;
RAssetStandards rAssetStandards,_rassetStandards;
RAssetTable rAssetTable;
RAssetTrans rAssetTrans;
RAssetSumCalc_Trans rAssetSumTrans;
TransDate transDate;
;
qbds = query.addDataSource(tableNum(RAssetTable));
// группировка по статусу -->
qbds.addSortField(fieldNum(RAssetTable, Status));
qbds.orderMode(OrderMode::GroupBy);
// группировка по статусу --<
qbds.addRange(fieldNum(RAssetTable, Status)).value(QueryValue(RAssetStatus::Closed)); // фильтр на Закрыто
qbds.addRange(fieldNum(RAssetTable, Status)).value(QueryValue(RAssetStatus:: Disposed)); // фильтр на Списано
qbds.addRange(fieldNum(RAssetTable, Status)).value(QueryValue(RAssetStatus::Sold)); // фильтр на Продано
// вывод значения номера ОС при группировке -->
qbds.addSortField(fieldNum(RAssetTable, AccountNum));
qbds.orderMode(OrderMode::GroupBy);
qbds.addRange(fieldNum(RAssetTable, AccountNum));
// вывод значения номера ОС при группировке --<
// вывод значения Наименование ОС при группировке -->
qbds.addSortField(fieldNum(RAssetTable, Name));
qbds.orderMode(OrderMode::GroupBy);
qbds.addRange(fieldNum(RAssetTable, Name));
// вывод значения Наименование ОС при группировке --<
qbds1 = qbds.addDataSource(tableNum(RAssetStandards));
qbds1.addLink(fieldNum(RAssetTable,AccountNum),fieldNum(RAssetStandards,AssetId));
// группировка по фильтру Амортизация -->
qbds1.addSortField(fieldNum(RAssetStandards, AssetStandardId));
qbds1.orderMode(OrderMode::GroupBy);
qbds1.addRange(fieldNum(RAssetStandards, AssetStandardId));
// группировка по фильтру Амортизация --<
qbds2 = qbds1.addDataSource(tableNum(RassetTrans));
qbds2.addLink(fieldNum(RAssetStandards,AssetId),fieldNum(RAssetTrans,AccountNum));
qbds2.addLink(fieldNum(RAssetStandards,AssetStandardId),fieldNum(RAssetTrans,AssetStandardId));
// фильтр начислений только по амортизации, группировка и суммирование начисленной амортизации по каждому ОС -->
qbds2.addSortField(fieldNum(RAssetTrans, AccountNum));
qbds2.orderMode(OrderMode::GroupBy);
qbds2.addSelectionField(fieldNum(RAssetTrans, AmountMST), SelectionField::Sum);
// фильтр начислений только по амортизации, группировка и суммирование начисленной амортизации по каждому ОС --<

qbds2.addRange(fieldNum(RAssetTrans, AssetTransType)).value(QueryValue(AssetTransType:: Depreciation));
qbds2.addRange(fieldNum(RAssetTrans, TransDate)).value(QueryRange(fromDate,toDate)); // это для диалога

// info(qbds.toString());
queryRun = new QueryRun(query);
}
Аналогично я хочу запросом получить значение даты
__________________
"Человек человеку волк, а зомби зомби зомби." (с)
С Уважением, Алексей Кабанов

Последний раз редактировалось ZornFire; 26.05.2011 в 12:59. Причина: прорисовка смайлов в коде вместо : D