![]() |
#21 |
Участник
|
ПРОБЛЕМА 6. При расчете по средневзвешенной проводки не всегда сопоставляются, стоимость расхода из-за этого неверная.
У нас в течение периода ГП часто движется без стоимости, потому что калькуляция производственных заказов происходит позже, чем выпуск. В феврале при создании виртуального переноса для средневзвешенной цены , поскольку на момент создания этого переноса у сопоставляемых проводок была нулевая стоимость, создались складские проводки «Средневзвешенное закрытие запасов» (InventTransType = SummedUp) с нулевой финансовой суммой (CostAmountPosted = 0). Далее на следующих шагах закрытия февраля, средневзвешенная была скорректирована (сумма CostAmountAdjustment), значение CostAmountPosted так и осталось нулевым, это все вполне корректно. На конец февраля мы имеем остаток по номенклатуре и единственную складскую открытую проводку «Куплено» с типом «Средневзвешенное закрытие запасов». В марте в методе InventCostItemDim::updateModelAverage происходит сопоставление приходов и расходов в соответствии со средневзвешенной моделью себестоимости. В этом куске кода происходит поиск подходящих приходов для сопоставления: X++: while (tmpreceiptScan.RecId&&tmpreceiptScan.TransDate<=endDate) { receiptScan = this.tmpReceipt2Trans(tmpreceiptScan); // <GEEU> if (receiptScan.TransType != InventTransType::SummedUp || this.currencyTransfer_RU(receiptScan)) { // </GEEU> X++: protected boolean currencyTransfer_RU(InventTrans _inventTrans) { return _inventTrans.CostAmountPosted != 0; } РЕШЕНИЕ Я закрыл слад вот с такой модификацией и проблема была решена: X++: //+ DPL InventClosingFix_OK 11.04.2011 OK //if (receiptScan.TransType != InventTransType::SummedUp || this.currencyTransfer_RU(receiptScan)) if ( receiptScan.TransType != InventTransType::SummedUp || receiptScan.costValue() != 0) //- DPL InventClosingFix_OK 11.04.2011 OK |
|
|
За это сообщение автора поблагодарили: EVGL (20), zelibobis (1). |
Теги |
баг, закрытие склада, ошибка, ошибка при закрытии склада, себестоимость |
|
|