Показать сообщение отдельно
Старый 16.03.2011, 10:23   #6  
Che is offline
Che
Участник
 
92 / 12 (1) ++
Регистрация: 25.01.2010
Господа, нужна критика
Вот каким образом я решил задачку:
X++:
//+++Che 16032011
static container Get_InventDate_Qty_Cost(ItemId _itemId,
                                   InventLocationId _inventLocationId,
                                   InventBatchId    _inventBatchId,
                                   DateStatus endDate
                                  )
{

    InventTrans _inventTrans;
    InventDim   _inventDim;
    container   con;
    real        costSum;

    // íàõîäèì êîëè÷åñòâî ïðèøåäøåå çà ïåðèîä
    select sum(Qty),sum(costAmountPosted),sum(costAmountAdjustment) from _inventTrans
    group by ItemId
    where  _inventTrans.ItemId          == _itemId                              &&
           _inventTrans.DatePhysical    <= endDate                              &&
           _inventTrans.StatusIssue     != StatusIssue::OnOrder                 &&
           _inventTrans.StatusIssue     != StatusIssue::Picked                  &&
           _inventTrans.StatusIssue     != StatusIssue::ReservOrdered           &&
           _inventTrans.StatusIssue     != StatusIssue::ReservPhysical          &&
           _inventTrans.StatusIssue     != StatusIssue::QuotationIssue          &&
           _inventTrans.StatusReceipt   != StatusReceipt::Registered            &&
           _inventTrans.StatusReceipt   != StatusReceipt::Arrived               &&
           _inventTrans.StatusReceipt   != StatusReceipt::QuotationReceipt      &&
           _inventTrans.StatusReceipt   != StatusReceipt::Ordered
    join _inventDim
        where _inventTrans.InventDimId == _inventDim.inventDimId &&
        _inventDim.inventBatchId == _inventBatchId &&
        _inventDim.InventLocationId == _inventLocationId;
    costSum = _inventTrans.CostAmountPosted + _inventTrans.CostAmountAdjustment;
    con = conins(con, 1,_inventTrans.Qty, costsum);
    return con;
}
Задачка была в следующем: дополнить отчет физическое наличие по партиям (количественный учет), для ввода первичных остатков в 1с. Оптимально? Как думаете?