Показать сообщение отдельно
Старый 29.05.2006, 17:16   #1  
angler is offline
angler
Участник
 
10 / 10 (1) +
Регистрация: 28.09.2005
Адрес: г.Калининград
остатки товара по поставщику и уровню асс. классификатора
Есть отчет который считает остатки на дату в разрезе аналитки по складу и поставщику используя метод стандартного класса InventSumDatePhysicalDim:nHandQty( ...) http://axapta.mazzy.ru/lib/inventsum...atePhysicalDim.
Но работает он с поставщиком почему то не-корректно, по всем поставщикам одна и та же сумма, вообщем что-то не так, из-за чего это может быть?
Почему не работает с поставщиком?
Пример кода:
void initFromDateOnHand(TransDate _transdate, ItemId _itemId, InventLocationId _InventLocationId, VendAccount _vendAccount = '')
{
VendInvoiceTrans lastVendInvoiceTrans = VendInvoiceTrans::findLast(_itemId, _transDate, _vendAccount);
RetailShopItem retailShopItem = RetailShopItem::find(InventLocation::find(_InventLocationId).InventLocationId, _itemId);

InventDim inventDim;
InventDimParm InventDimParm;
InventTrans inventTrans;
;

inventDim.InventLocationId = _InventLocationId;

inventDim.VendAccount = _vendAccount;
InventDimParm.VendAccountFlag = NoYes::Yes;

InventDimParm.InventLocationIdFlag = NoYes::Yes;
InventDimParm.ItemIdFlag = NoYes::Yes;

this.ItemId = _itemId;
this.ItemRangeId = InventTable::find(_itemId).ItemRangeId;

this.Qty = InventSumDatePhysicalDim:nHandQty(_transdate, _itemId, inventDim, InventDimParm);

if ( lastVendInvoiceTrans )
{
this.Price = lastVendInvoiceTrans.costValue() / lastVendInvoiceTrans.Qty;
this.CostAmount = this.Price * this.Qty;
}
else
{
if ( this.Qty )
{
this.CostAmount = InventSumFinancial::newParameters(_transdate, _itemId, inventDim, InventDimParm).value();
this.Price = this.CostAmount / this.Qty;
}
}

this.RetailPrice = retailShopItem.RetailPrice;
this.RetailAmount = retailShopItem.RetailPrice * this.Qty;

}