DAX 2012 R2: Расчёт курсовой по поставщикам - ошибка стандарта?
Добрый день,
возможно переоценивать авансы поставщикам и неправильно по РСБУ, но так получилось что они были переоценены.
При сопоставлении должна была откатиться нереализованная курсовая, она и откатывается, но на большую сумму чем изначально была рассчитана.
Это происходит из-за следующего:
в CustVendSettle.settleNow
custVendExchAdjustment.processRealizedExchAdj(
-realizedExchAdjAmount,
-realizedReportingExchAdjAmount,
firstCustVendTrans,
custVendTransDebit,
custVendTransCredit,
custVendTransOpenDebit,
custVendTransOpenCredit,
settleAmountCurDebit,
0, ///settleAmountCurCredit всегда ноль!!!!
, дальше в custVendExchAdjustment.processRealizedExchAdj
this.reverseUnrealizedExchAdj(
_custVendTransCredit,
_custVendTransOpenCredit,
(! _settleAmountCurCredit && _paym2Invoice) ? //Если ноль то берётся дебетовая сумма по пропорции, но у неё другой знак!!!
_settleAmountCurDebet / _paym2Invoice :
_settleAmountCurCredit,
Эта сумма идёт сюда:
[standardReversedUnrealAmountAccounting, standardReversedUnrealAmountReporting] = this.calcUnrealizedExchAdj(
-standardUnrealAmountAccounting,
-standardUnrealAmountReporting,
_custVendTrans,
transDate,
_settleAmountCur + _cashDisc); //СЮДА
//OpenAmountCur - сумма открытая после сопоставления. -8194
if (Currency::amount(abs(_settleAmountCur), _custVendTrans.CurrencyCode) <= abs(pendingSettledAmountCur))
{
openAmountCur += _settleAmountCur; //А это сумма сопоставления 32192
}
unrealisedAmountAccounting = Currency::amount(_exchRateDiffAccounting * abs(_settleAmountCur / (openAmountCur ? openAmountCur : _settleAmountCur)));
unrealisedAmountReporting = Currency::amount(_exchRateDiffReporting * abs(_settleAmountCur / (openAmountCur ? openAmountCur : _settleAmountCur)));
Пропорция получается больше 1, приблизительно 32192/24000. То есть отменяется больше чем было начислено. Должно быть где то 32192/40000
будет ли правильно здесь:
_settleAmountCurDebet / _paym2Invoice
брать сумму Debet с обратным знаком?
|