Показать сообщение отдельно
Старый 06.04.2011, 11:12   #14  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,495 / 1070 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Можно теоретизировать что и чем инициализируется в тестовом джобе, однако в системе есть код, который приводит к расхождению на копейку сопоставленной суммы в валюте и сопоставленной суммы в основной валюте.

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