добрый день!
Вот такой запрос исполняется очень медленно. Не могу понять причину.
AX 2009 SP7.
X++:
static void _HTC_GetStockForItem(Args _args)
{
Dialog dialog = new dialog();
DialogField dlgItemId;
DialogField dlgTransDate;
ItemId itemId;
TransDate transDate;
InventSumDateValueReport onhand;
Qty qty;
InventSettlement inventSettlement;
InventTrans inventTrans;
InventTransPosting inventTransPostingPhysical;
;
dlgItemId = dialog.addFieldValue(typeid(ItemId),itemId);
dlgTransDate = dialog.addFieldValue(typeid(TransDate),transDate);
dialog.run();
transDate = dlgTransDate.value();
itemId = dlgItemId.value();
//onhand = InventSumDateValueReport::newParameters(transDate,itemId);
//qty = onhand.physicalQuantity();
//info(strfmt("%1| %2", itemId, qty));
while select forceplaceholders sum(CostAmountAdjustment) from inventSettlement
index hint ItemDateIdx
where inventSettlement.ItemId == itemId &&
inventSettlement.Cancelled == NoYes::No &&
inventSettlement.TransDate > transDate &&
/* <SYS>
inventSettlement.SettleModel == InventSettleModel::PhysicalValue
</SYS> */
// <GEEU>
inventSettlement.SettleModel == InventSettleModel::PhysicalValue &&
inventSettlement.InventTransCurrency_RU == InventTransCurrency_RU::PrimaryCur
// </GEEU>
join TableId from inventTrans
index hint RecId
where inventTrans.RecId == inventSettlement.TransRecId &&
(inventTrans.StatusIssue == StatusIssue::Sold ||
inventTrans.StatusReceipt == StatusReceipt::Purchased) &&
inventTrans.DatePhysical <= transDate
join IsPosted from inventTransPostingPhysical
index hint DateVoucherTransIdx
group by IsPosted
where inventTrans.VoucherPhysical == inventTransPostingPhysical.Voucher &&
inventTrans.DatePhysical == inventTransPostingPhysical.TransDate &&
inventTrans.InventTransId == inventTransPostingPhysical.InventTransId &&
inventTransPostingPhysical.InventTransPostingType == InventTransPostingType::Physical &&
inventTransPostingPhysical.IsPosted == inventSettlement.Posted
{
qty = -inventSettlement.CostAmountAdjustment;
}
info(strfmt("%1| %2", itemId, qty));
}
Проблема такая - у меня на ноутбуке исполняется мнгновенно. На сервере с 32 гигами оперативки исполяется запрос 5 секунд.
Подскажите как посмотреть в чем дело?