![]() |
#18 |
Microsoft Dynamics
|
Наверно речь идет о методе \Classes\ExchangeRateProviderCBRF_RU\getExchangeRatesFromService
строка 64: X++: currencyPair.parmToCurrency(#RUB); Честно говоря, я не очень понял в чем суть проблемы. Какая прога засылала "Руб" вместо RUB? Импорт курсов валют ни никуда не "засылает" Руб или RUB. Единственно, что он "засылает" - это дату, за которую необходимо получить курсы. Получив от ЦБ курсы валют на дату, импорт курсов сохраняет курсы в таблице. Поиск соответствий кодов валют происходит по currency.CurrencyCodeISO в методе \Classes\ExchangeRateImportOperation\saveRates(43) X++: toCurrency = Currency::findCurrencyCodeISO(externalCurrencyPair.parmToCurrency()); Если говорить про "From Currency", то в отличие от других провайдеров, в российском From Currency ищется по двум полям или CurrencyCode или CurrencyCodeISO: Метод \Classes\ExchangeRateProviderCBRF_RU\getExchangeRatesFromService(46) X++: select CurrencyCode from fromCurrency where fromCurrency.CurrencyCode == cbCurrencyCode || fromCurrency.CurrencyCodeISO == cbCurrencyCode; ... if (fromCurrency) { currencyCode = fromCurrency.CurrencyCode; } else { currencyCode = cbCurrencyCode; } \Classes\ExchangeRateImportOperation\saveRates(31) X++: // Get the internal currency code that relates to the ISO Currency Code. // <GEERU> if (_exchangeRateImportRequest.parmProviderId() == ExchangeRateProviderCBRF_RU::providerId()) { fromCurrency = Currency::find(externalCurrencyPair.parmFromCurrency()); } else { // </GEERU> Последний раз редактировалось AlexSD; 14.11.2015 в 01:33. |
|
|
За это сообщение автора поблагодарили: Ильдар (1). |
Теги |
currency rates import, импорт курсов валют |
|
|