25.03.2011, 11:17 | #1 |
Member
|
Бага в импорте валютных курсов с сайта ЦБ...
Если в параметрах ГК параметр "Кратность курса валют" установить отличным от "100", например, "1", то курсы валют локализаторской функциональностью импорта курса валют с сайта ЦБ загружаются некорректно. В случае с "1" курсы загружаются умноженные на 100. А в инфологе в процессе импорта "1" тоже не учитывается, и курс умножен на 10000 (т.е. неправильный завышенный уже в 100 раз курс отображается как за 100 единиц, а не за "1").
Точно воспроизводится в 4.0 с того сервиспака, в котором это появилось, и 5.0 как минимум до RU5 (сервер с RU6 сейчас не в Интернете, через сутки попробую проверить).
__________________
С уважением, glibs® |
|
25.03.2011, 11:47 | #2 |
Участник
|
То есть если доллар стоит 30 рублей и основная валюта - это рубль, то для доллара в поле ExchRates.ExchRate загружается не 3000, а 300000 ?
__________________
Дмитрий |
|
25.03.2011, 12:03 | #3 |
MCT
|
Цитата:
к счастью исправляется просто (локализаторы тупо в формулу вставили умножение на 100, хотя там должен быть параметр ГК): метод LoadRatesOnData класса CurrencyRateImport_RU: X++: // ratesMap.insert(rateDate, exchRate * 100 / nominal);
ratesMap.insert(rateDate, exchRate * LedgerParameters::find().ExpressExchRate / nominal);
__________________
Sometimes there is a moment as you are awakening - when you become aware of the real world around you, - but you are still dreaming. - You may think you can fly but you do better not try. |
|
|
За это сообщение автора поблагодарили: Damn (2). |
25.03.2011, 12:10 | #4 |
Участник
|
И в RU6 я смотрю это не изменилось.
__________________
Дмитрий |
|
25.03.2011, 12:12 | #5 |
Участник
|
Не могу проверить, так как нет русской функциональность под рукой.
Но в таблице курсов валют exchRates курсы всегда (не зависимо от настройки в параметрах ГК) хранятся умножеными на 100, а параметр ГК учитывается только при показе в форме, т.е. если там установлено что курс за 1 ед. то в форме исходный курс из таблицы будет поделен на 100. См. методы ExchRates.editExchRate(), ExchRates.displayExchRate() |
|
25.03.2011, 12:16 | #6 |
Member
|
Цитата:
Сообщение от Damn
То есть если доллар стоит 30 рублей и основная валюта - это рубль, то для доллара в поле ExchRates.ExchRate загружается не 3000, а 300000 ?
__________________
С уважением, glibs® |
|
25.03.2011, 12:24 | #7 |
Member
|
Цитата:
Сообщение от d&m
...
метод LoadRatesOnData класса CurrencyRateImport_RU: X++: // ratesMap.insert(rateDate, exchRate * 100 / nominal);
ratesMap.insert(rateDate, exchRate * LedgerParameters::find().ExpressExchRate / nominal); IMHO, бага тут. AOT\Classes\CurrencyRateImport_RU.insertRates() в строке exchRates.ExchRate = ExchRates::setExchRate(ratesMap.lookup(rateDate) * factor); ExchRates::setExchRate() принимает значение курса к тому количеству единиц, которое введено в параметрах и пишет в таблицу всегда курс за 100. Вот сюда и стоит передавать курс с учетом параметра из ГК. Собственно именно этот механизм используется в edit-методе формы курсов валют.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: Ich@Ru (1). |
29.03.2011, 15:43 | #8 |
Участник
|
Зарегистрируйте, пожалуйста, ошибку в поддержке МС.
|
|
29.03.2011, 17:11 | #9 |
Member
|
Увы, у меня нет доступа в поддержку МС.
__________________
С уважением, glibs® |
|
29.06.2012, 13:06 | #10 |
Участник
|
Зарегистрировали ошибку. Microsoft предлагает менять "Коэффициент" в настройках импорта валюты (т.е. если в параметрах модуля у нас 1, то коэффициент нужно везде проставить 0,01. Вот сижу и думаю: это они так "отмазываются" или реально такой дизайн закладывали?
__________________
Ivanhoe as is.. |
|
Теги |
баг, ошибка, импорт курсов валют |
|
Похожие темы | ||||
Тема | Ответов | |||
Загрузка валют с сайта ЦБ | 31 | |||
Загрузка курсов валют с сайта НБУ | 12 | |||
Еще один импорт курсов валют | 24 | |||
Бага при импорте проекта | 0 | |||
загрузка валют с сайта ЦБ в Axapta 4.0 | 3 |
|