целиком этот if выглядит у нас так
Код:
if (custVendTransDebit.AmountMST ==
custVendTransDebit.SettleAmountMST + custVendTransDebit.ExchAdjustmentRealized + roundedSettleAmountMst)
{
// The remaining amount is converted to mst and then rounded, and if it is then equal to zero,
// adjust the settleAmountCur to be equal to the unsettled amount.
currencyHelper.parmCurrency(custVendTransDebit.CurrencyCode);
currencyHelper.parmExchRate(custVendTransDebit.exchRateCurToMst());
currencyHelper.parmIsTriangulated(UnknownNoYes::No);
remainingAmount = currencyHelper.calculateAmountCurToMst(remainingAmount, true);
if (remainingAmount == 0)
{
settleAmountCur = custVendTransDebit.AmountCur - custVendTransDebit.SettleAmountCur;
}
}
else if (abs(custVendTransDebit.SettleAmountMST + custVendTransDebit.ExchAdjustmentRealized + roundedSettleAmountMst) >
abs(custVendTransDebit.AmountMST))
{
settleMSTDiffDebit = abs(custVendTransDebit.AmountMST) -
abs(custVendTransDebit.SettleAmountMST + custVendTransDebit.ExchAdjustmentRealized + roundedSettleAmountMst);
settleAmountCur = custVendTransDebit.AmountCur - custVendTransDebit.SettleAmountCur;
}
общий смысл я примерно таким же образом понимаю, но почему это так - непонятно

раньше такая ситуация не появлялась, похоже, потому что не было такого снижения курса евро. ну ок, курс евро снизился и получается в рублях, как бы правильнее сказать "перезачет", но в евро то накладная почему должна автоматом сопоставиться полностью? загадошно...