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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 28.06.2010, 10:20   #1  
driller is offline
driller
Сам.AX
Аватар для driller
Самостоятельные клиенты AX
SAP
 
78 / 54 (2) ++++
Регистрация: 11.04.2007
Адрес: Санк-Петербург
Ошибка в функции str2num при обработке данных в экспоненциальном формате (плавающей запятой, научной нотацией).
Добрый день.

DAX 4.0 - Kernel version: 4.0.2503.516, Application version: 4.0.2501.347

Столкнулся с этой ошибкой при заливке остатков из 1С из файла excel, при обработке чисел с плавающей запятой малой величины, функция возвращает некорректный результат.
После анализа стало видно что ошибка возникает, когда в обрабатываемых данных из excel не стоит разделитель.

Вот демонстрация ошибки:
X++:
static void errorStr2num(Args _args)
{
    Qty qty1, qty2, qty3;
    ;
    qty1    = str2num('1e-3');
    qty2    = str2num('5.6e-2');
    qty3    = str2num('1.e-3');

    info(strFmt('%1 %2', num2str(qty1,0,3,2,0), 'Ошибка ожидаем 0,001'));
    info(strFmt('%1 %2', num2str(qty2,0,3,2,0), 'Без ошибки'));
    info(strFmt('%1 %2', num2str(qty3,0,3,2,0), 'Без ошибки'));
}
Название: 4-ка.jpg
Просмотров: 527

Размер: 34.8 Кб

Причём в 3-ке MBS Axapta 3.0 Build #1951.7609/514-320 SP4/OP032-196 всё работало корректно.

Название: 3-ка.jpg
Просмотров: 536

Размер: 34.7 Кб


Как вариант обхода ошибки можно использовать функцию any2real, или в обрабатываемом файле заменить разделитель с запятой на точку, это приводит к тому что данные из excel (пробовал на 2007-ом) подтягиваются не в экспоненциальном формате.

Подскажите исправлен ли баг в последующих версиях, если нет как зарегистрировать эту ошибку в microsoft?
__________________
"Считать метафору доказательством, поток праздных слов источником истины, а себя оракулом - это заблуждение, свойственное всем нам."
Поль Валери

Последний раз редактировалось driller; 28.06.2010 в 10:22.
За это сообщение автора поблагодарили: kashperuk (5).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибка в Данных компании DAX2009 Kuibida DAX: Программирование 8 24.07.2018 10:05
Ошибка при доступе к подключению к базе данных Ark DAX: Администрирование 11 01.06.2009 08:17
Ошибка в формате числа. 36AC DAX: Программирование 7 19.10.2006 10:04
Ошибка при обработке С-Ф Sergo DAX: Программирование 7 20.01.2006 11:56
Русская локализация Axapta 3 ? SlavaK DAX: Администрирование 59 01.07.2003 22:38

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

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

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