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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 11.11.2015, 14:36   #1  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Импорт валютных курсов в Microsoft Dynamics™ 2012 R3
При импорте валютных курсов (через меню Главная книга/ Периодические операции/ Импорт курсов обмена валют) выдается инфолог: "Не удалось найти валютный курс для кодов валют ISO EUR и Руб на дату 11.11.2015. Убедитесь, что коды валют ISO поддерживаются поставщиком и доступны на запрошенную дату".

Формы "Валюты", "Типы валютных курсов", "Валютные курсы", "Настройка источников валютных курсов" в меню Главная книга/ Настройка/ Валюта настроены.
Источник: "Центральный банк Российской Федерации",
ServiceCurrentUrl = http://www.cbr.ru/scripts/XML_daily.asp
ServiceOnDateUrl = http://www.cbr.ru/scripts/XML_daily.asp?date_req=%1

В чем может быть проблема?

Причем ошибка возникает как через прокси, так и через прямое соединение с интернетом. Какой настройки может не хватать?
Старый 11.11.2015, 19:35   #2  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
" ISO EUR и Руб "
В таблице Currency, наверное, прописан ISO-код "Руб" вместо RUB.
За это сообщение автора поблагодарили: Ильдар (1).
Старый 11.11.2015, 22:09   #3  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Старый 12.11.2015, 08:41   #4  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Посмотрите таблицу ISOCurrencyCode. Для используемых в поле "Код валюты" валют должны быть указаны ISOCurrencyCodeNum: для рубля = 643, для евро = 978. Кто-то, наверно, пошаманил в справочнике "Коды валют по ISO".
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
За это сообщение автора поблагодарили: Ильдар (1).
Старый 12.11.2015, 10:11   #5  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Там как раз такие значения и были:
За это сообщение автора поблагодарили: RAN7 (1).
Старый 12.11.2015, 10:23   #6  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
А какой курс для рубля вы хотите получить с сайта ЦБ? EUR у вас тоже переименован код или как в стандарте EUR - EUR в карточке?
__________________
Ivanhoe as is..
Старый 12.11.2015, 11:14   #7  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Пытаемся грузить курс как на текущую дату, так и за диапазон дат. Коды для валют EUR и USD совпадают в отличие от рублей.
Старый 12.11.2015, 11:26   #8  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
А у кого-нибудь вообще в 2012-ой грузятся курсы?
Старый 12.11.2015, 12:26   #9  
Ich@Ru is offline
Ich@Ru
Участник
 
75 / 99 (4) ++++
Регистрация: 12.07.2010
Грузятся. Валюту Руб переименуйте в RUB - по аналогии с ISO код
За это сообщение автора поблагодарили: RAN7 (1), Ильдар (1).
Старый 12.11.2015, 12:58   #10  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Не помогло. Просто инфолог сменился на: "Не удалось найти валютный курс для кодов валют ISO EUR и RUB на дату 12.11.2015. Убедитесь, что коды валют ISO поддерживаются поставщиком и доступны на запрошенную дату".
Старый 12.11.2015, 13:14   #11  
Товарищ ♂uatr is offline
Товарищ ♂uatr
Участник
Аватар для Товарищ ♂uatr
MCBMSS
 
265 / 808 (27) +++++++
Регистрация: 23.10.2012
Через браузер с самого АОСа (или откуда запускаете импорт) пробовали по этим (первое сообщение) ссылкам перейти, открываются?

Последний раз редактировалось Товарищ ♂uatr; 12.11.2015 в 13:16.
За это сообщение автора поблагодарили: RAN7 (1), Ильдар (1).
Старый 12.11.2015, 13:34   #12  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
По ссылкам открывает, но через ввод логина и пароля на прокси-сервер.
Старый 12.11.2015, 13:47   #13  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
У заказчика прямое соединение, без прокси. Но тоже открывает эти ссылки, а импорта не происходит.
Старый 12.11.2015, 15:42   #14  
Ivanhoe is offline
Ivanhoe
Участник
Аватар для Ivanhoe
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
4,143 / 2155 (80) +++++++++
Регистрация: 29.09.2005
Адрес: Санкт-Петербург
Если прокси, то без модификаций никак.
__________________
Ivanhoe as is..
За это сообщение автора поблагодарили: Ильдар (1).
Старый 12.11.2015, 15:43   #15  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Так у заказчика без прокси.
Старый 13.11.2015, 13:10   #16  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Всем спасибо за отзывчивость и за помощь.
Проблема решилась заведением дублера курса валюты RUB (при переименовании через паспорт записи появились дополнительные проблемы при разноске счетов-фактур - пришлось вернуть обратно, но косяк все равно остался: поэтому у заказчика не стали это делать). Похоже прога по импорту засылала вместо кода валюты ISO код самой валюты, т.е. вместо латинских RUB засылался код в кириллице "Руб". Ну и в проксе тоже дело. У заказчика без доп.манипуляций загрузилось. На сервере разработки с проксей пришлось поставить обходчик прокси.
Сделаем доработку, чтобы засылался код ISO, а не русскоязычный код.

Последний раз редактировалось Ильдар; 13.11.2015 в 13:18.
Старый 13.11.2015, 13:21   #17  
Ильдар is offline
Ильдар
Участник
 
13 / 11 (1) +
Регистрация: 07.04.2010
Цитата:
Сообщение от Ivanhoe
На вскидку в коде увидел условие, где и код валюты и код из справочника ISO кодов должны быть равны одной и той же переменной. Так что действительно, в коде это явно вписано
А скажите, пожалуйста, в каком месте кода это
А то мы эмпирическим путем выяснили. Программеру разбираться еще придется.
Старый 13.11.2015, 16:47   #18  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Ну кто-то добрый при переходе на новую версию AX избавился от кодов валюты ЦБ вида 'R****' и жестко запрограммировал поиск и создание курсов для пары валют по буквенному коду ISO в классе ExchangeRateProviderCBRF_RU. Хотя по логике надо было бы в таблице currency проверять, к какому ISO коду привязана валюта.
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
Старый 14.11.2015, 01:05   #19  
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, время: 08:32.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.