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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.09.2008, 13:58   #1  
Blog bot is offline
Blog bot
Участник
 
25,640 / 848 (80) +++++++
Регистрация: 28.10.2006

В версии 5.0 в дистрибутив Navision включили, так называемую, Rapid Implementation Methodology (RIM). Это ничего такого особенного, просто как бы дополнительный инструмент, помогающий на начальном этапе внедрения (настройка, перенос данных).


Собственно о самой RIM можно почитать в документе …RIM Users Guide 2.0, что можно взять из папки Doc c Product CD. В файлах демо-клиента NAV, выкачиваемого с публичного сайта mibuso, (http://www.mibuso.com/dlinfo.asp?FileID=950) этот файл так же есть.


Я же в этом посте хочу привести простейший пример c показом небольшой ошибки, имеющейся в этом инструментарии, покажу так же как партнеру найти исправление (пользование Knowledge Base).


1. Открываем Администрирование Настройка приложения Настройка компании Перенос данных…





2. Добавим строчку для 19 таблицы (Клиент Скидка Счета), далее “Перенос данных” Поля переноса данных.





3. В открывшемся окне помечаем все строки.


Примечание: Не пугаемся… поле –“галочка” носящее не уместное здесь русское имя “Первичный ключ” на самом деле по-английски называется “Include” (Включать).





4. Экспортируем в Excel.





5. В итоге получаем удобоваримый Excel файл.





6. Далее, для примера, очищаем все строки в таблице 19.





7. Импортируем из Excel.


8. Далее “Перенос данных” Применить данные переноса данных.





9. В результате в таблице 19 имеем потерю всех целых цифр в Decimal полях, только число с десятичными знаками перенеслось нормально.





10. Что делать? Куда бежать?


К счастью партнеры имеют возможность воспользоваться базой знаний по исправленным публичным ошибкам.


Расположена база знаний (Knowledge Base) здесь: https://mbs.microsoft.com/knowledgebase/search.aspx


Запускаем поиск.
Выбираем английский язык (статьи только английские).
Выбираем Navision.
В поле поиска пробиваем ‘Data migration’ (английское название пункта Перенос Данных).


В итоге по первой ссылке находим статью 946834.
В статье описана требуемая для исправления проблемы модификация.








Приведу модификацию текстом:


***
Code changes
Note Always test code fixes in a controlled environment before you apply the fixes to your production computers.
To install this hotfix, change the code in the TextToDecimal function of the Outlook Synch. Type Conversion codeunit (5302) as follows.


Existing code
...
InputText := CONVERTSTR(InputText,'.',',');
IF STRPOS(InputText,',') = 0 THEN // Delete this line.
EXIT;


PartArray[1] := GetSubStrByNo(1,InputText);
...
Replacement code
...
InputText := CONVERTSTR(InputText,'.',',');
// Add the following lines.
IF STRPOS(InputText,',') = 0 THEN BEGIN
IsConverted := TextToInteger(InputText,IntegeralPart);
IF IsConverted THEN
DecVar := IntegeralPart;
// End of the new lines.
EXIT;
END; // Add this line.
PartArray[1] := GetSubStrByNo(1,InputText);
...
Prerequisites
You must have Microsoft Dynamics NAV 5.0 installed to apply this hotfix.
***


11. Привносим модификацию. Очищаем таблицу 19. Вновь делаем импорт из Excel. В итоге все Okay.






Подробнее... http://blogs.technet.com/alexef/archive/20...NAVRIMTool.aspx
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору.
Старый 16.09.2008, 21:32   #2  
morvan is offline
morvan
Участник
 
41 / 10 (1) +
Регистрация: 29.08.2009
Адрес: Москва
Могу обрадовать, что это детище не умеет и даты из Excel в формате Nav считывать.

В функции TextToDate кодюнита 5302 вначале идут строки:

InputText := CONVERTSTR(InputText,' ',',');
IF STRPOS(InputText,',') = 0 THEN
EXIT;

О чем это говорит? О том что локализаторы НЕ ТЕСТИРОВАЛИ это.
Пришлось добавить до этого строку:
InputText := CONVERTSTR(InputText,'.',',');
Но этого мало, дата остается не той, была дата 16.09.08 а стала 16.09.0008
Слов нет...
Старый 02.10.2008, 19:16   #3  
morvan is offline
morvan
Участник
 
41 / 10 (1) +
Регистрация: 29.08.2009
Адрес: Москва
Обнаружил еще очередной баг в этом же кодюните.
NAV не умеет переносить отрицательные числа из Excel: в случае если число отрицательное, он делает в функции TextToDecimal

DecVar := IntegeralPart + (FractionalPart / POWER(10,STRLEN(PartArray[2])));
Причем IntegeralPart идет со знаком.
Т. о. если было число -10.7, то после импорта из Excel превратится в число -10 + 0.7 = -9.3
 


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

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

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