Показать сообщение отдельно
Старый 15.11.2009, 08:48   #3  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от 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);
}
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: Qaz Qwerty (2).