Можно теоретизировать что и чем инициализируется в тестовом джобе, однако в системе есть код, который приводит к расхождению на копейку сопоставленной суммы в валюте и сопоставленной суммы в основной валюте.
X++:
CustVendSettle.settleNow()
{
....
paym2Invoice = 100 / custVendTransOpenDebet.settleExchRate;
....
custVendTransCredit.settleAmountCur -= Currency::amount(settleAmountCur / paym2Invoice, custVendTransCredit.currencyCode);
// так можно вылечить
custVendTransCredit.settleAmountCur -= Currency::amount((settleAmountCur / paym2Invoice) / custVendTransCredit.amountCur * custVendTransCredit.amountCur, custVendTransCredit.currencyCode);
....
settleAmountMSTCredit = Currency::amount(-(settleAmountCur / paym2Invoice) /
custVendTransCredit.amountCur * custVendTransCredit.amountMST);
custVendTransCredit.settleAmountMST += settleAmountMSTCredit;
....
}
DAX 3