Показать сообщение отдельно
Старый 30.04.2013, 14:42   #7  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
870 / 637 (23) +++++++
Регистрация: 14.10.2004
В примере в качестве параметров используется _itemId (если не задан - то по всем номенклатурам), _dateFrom - дата, на которую нужны остатки, _inventLocationId - склад.


X++:
    while select
    sum(Qty), sum(costAmountPosted), sum(costAmountAdjustment) from InventTrans
    group by ItemId
    where
    (
        !_itemId || InventTrans.ItemId == _itemId
    )
    &&
    (
        InventTrans.DatePhysical < _dateFrom
    )
    &&
    (
        InventTrans.StatusReceipt == StatusReceipt::Purchased ||
        InventTrans.StatusReceipt == StatusReceipt::Received ||
        InventTrans.StatusIssue == StatusIssue::Sold ||
        InventTrans.StatusIssue == StatusIssue::Deducted
    )
    join inventDim group by InventBatchId
    where inventDim.inventDimId == inventTrans.inventDimId &&
    (!_inventLocationId || inventDim.InventLocationId == _inventLocationId)
    {
    }
За это сообщение автора поблагодарили: Eldar9x (5).