Показать сообщение отдельно
Старый 06.10.2011, 22:20   #9  
Hard is offline
Hard
Участник
 
169 / 19 (1) ++
Регистрация: 15.04.2003
Адрес: Москва
Цитата:
Сообщение от fed Посмотреть сообщение
Мне все таки кажется, что последняя цена закупки тут непричем. Если заглянуть в названный мною метод, там есть такой кусок кода:
X++:
case BOMCalcCostPrice::OnhandPrice  :

            dimGroupId  = InventTable::find(itemId).DimGroupId;
            inventDimParmFinancial.initFinancialInvent(dimGroupId);
            inventDimParmActive.initDimActive(dimGroupId);

            inventOnhand = InventOnhand::newParametersActive(itemId,
                                                             inventDim,
                                                             inventDimParmFinancial,
                                                             inventDimParmActive);
            if(inventOnhand)
            {
                costPrice = inventOnhand.costPricePcs(true);
                if(costPrice)
                {
                    costPriceUnit   = 1;
                    costMarkup      = 0;
                    costPriceDate   = systemdateget();
                }
            }
BOMCalcCostPrice::OnhandPrice это одна из моделей рассчета цены из групп калькулирования. InventOnHand - это класс-обертка вокруг inventSum. А CostPricePcs, это как раз метод, который считает мгновенную среднюю, поделив сумму из InventSum на количество оттуда же...
С последней ценой в inventTableModule это не связано по моему...
Тоже надо попробовать. А то я зациклился на BOMCalcCostPrice::CostPrice.
Хотя мне кажется, результат должен быть идентичным. Там же цена меняется не только по не последней покупке, а по последней проводке инвенттранс.