AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Администрирование
DAX
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.11.2015, 13:10   #1  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Всем спасибо за отзывчивость и за помощь.
Проблема решилась заведением дублера курса валюты RUB (при переименовании через паспорт записи появились дополнительные проблемы при разноске счетов-фактур - пришлось вернуть обратно, но косяк все равно остался: поэтому у заказчика не стали это делать). Похоже прога по импорту засылала вместо кода валюты ISO код самой валюты, т.е. вместо латинских RUB засылался код в кириллице "Руб". Ну и в проксе тоже дело. У заказчика без доп.манипуляций загрузилось. На сервере разработки с проксей пришлось поставить обходчик прокси.
Сделаем доработку, чтобы засылался код ISO, а не русскоязычный код.

Последний раз редактировалось Ильдар; 13.11.2015 в 13:18.
Старый 13.11.2015, 13:21   #2  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Цитата:
Сообщение от Ivanhoe
На вскидку в коде увидел условие, где и код валюты и код из справочника ISO кодов должны быть равны одной и той же переменной. Так что действительно, в коде это явно вписано
А скажите, пожалуйста, в каком месте кода это
А то мы эмпирическим путем выяснили. Программеру разбираться еще придется.
Старый 14.11.2015, 01:05   #3  
AlexSD is offline
AlexSD
Microsoft Dynamics
Сотрудники Microsoft Dynamics
 
257 / 302 (11) ++++++
Регистрация: 14.10.2003
Цитата:
Сообщение от Ильдар Посмотреть сообщение
А скажите, пожалуйста, в каком месте кода это
Наверно речь идет о методе \Classes\ExchangeRateProviderCBRF_RU\getExchangeRatesFromService
строка 64:
X++:
currencyPair.parmToCurrency(#RUB);
Код смотрел в DAX 2012 R2 CU7.

Честно говоря, я не очень понял в чем суть проблемы. Какая прога засылала "Руб" вместо RUB?
Импорт курсов валют ни никуда не "засылает" Руб или RUB. Единственно, что он "засылает" - это дату, за которую необходимо получить курсы. Получив от ЦБ курсы валют на дату, импорт курсов сохраняет курсы в таблице. Поиск соответствий кодов валют происходит по currency.CurrencyCodeISO в методе \Classes\ExchangeRateImportOperation\saveRates(43)
X++:
toCurrency = Currency::findCurrencyCodeISO(externalCurrencyPair.parmToCurrency());
Т.е. для российского импорта курсов валют "To Currency" всегда будет валюта, у которой ISO код - RUB.
Если говорить про "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, импорт курсов валют

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
DAX: Calling all developers: how to ease the learning curve of Microsoft Dynamics AX 2012 R3 Blog bot DAX Blogs 0 27.08.2014 22:11
atinkerersnotebook: Walkthrough & Tutorial Summary Blog bot DAX Blogs 1 09.09.2013 09:11
emeadaxsupport: Preliminary Microsoft Dynamics AX 2012 R2 content now on TechNet and MSDN! Blog bot DAX Blogs 0 10.11.2012 08:20
emeadaxsupport: New Content for Microsoft Dynamics AX 2012 : October 2011 Blog bot DAX Blogs 0 27.10.2011 17:11
dynamics-ax: Interview with Microsoft's Lachlan Cash on his new role, AX 2012 and more Blog bot DAX Blogs 6 22.04.2011 14:55

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 21:39.