Цитата:
Сообщение от
sukhanchik
Кстати - это многие пользователи делают вид, что понимают, но потом с завидной регулярностью пытаются понять - почему отчет по долларам из вторичной валюты регулярно не сходится с отчетом по долларам из валюты операций.
Ну, понять КАК происходит пересчет из валюты операции во вторичную валюту, относительно просто. Объяснить обычному (нормальному) пользователю, не отягощенному знанием X++, ПОЧЕМУ сумма в валюте операции (USD) не совпадает в суммой во вторичной валюте (USD) - уже сложнее. А вот убедить его, что так и должно быть - уже практически невозможно
Это косяк, который исправили в каком-то из post-SP2 хотфиксов (см. \Data Dictionary\Tables\Currency\Methods\amountCur2MSTSecond)
X++:
public static AmountMSTSecondary amountCur2MSTSecond(
AmountCur _amountCur,
CurrencyCode _currencyCode,
TransDate _exchrateDate = systemdateget(),
ExchRatesTriangulation _triangulation = UnknownNoYes::Unknown,
ExchRate _exchRate,
ExchRate _exchrateSecondary = 0)
{
...
secondaryCurrencyCode = CompanyInfo::find().SecondaryCurrencyCode;
if (_currencyCode)
{
if (secondaryCurrencyCode == _currencyCode)
{
amountMST = _amountCur;
}
else
...
return Currency::amount(amountMST, secondaryCurrencyCode);
}