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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.12.2010, 16:54   #22  
Denicce is offline
Denicce
Участник
 
62 / 54 (2) ++++
Регистрация: 22.03.2005
Адрес: Москва
Глюки при импорте xpo.
project_ImportError.rar

Еще один глюк при сравнении таблиц при импорте.
В прилагаемом архиве два проекта, загружаем первый.
1. Опять запускаем импорт, жмем Show details, в окне импорта смотрим отличия в поле таблицы (Adjustment отличается), хотя по факту - не отличается.
2. При импорте второго проекта в окне импорта сравнении этой ошибки нет.

В-общем, если поле наследовано от edt с Adjustment = Right, то при сравнении во время импорта выдается, будто там - Left. Ошибка в
X++:
treeNodeImport  = infolog.getImportedNode(...)
Если сразу вытащить свойства из treeNodeImport после его загрузки из файла, там действительно будет Left. Во втором проекте просто перенес строку с Adjustment над строкой ExtendedDataType. В этом случае все ок, свойства читаются корректно.

Ошибка повторяется на 4.0 и 2009.

P.S. Вроде ничего страшного, однако мешает при импорте больших проектов, когда нужно найти отличия в объектах в системе и xpo. Везде, где поле наследовано от edt с выравниваем вправо, будет отличие, которого на самом деле нет. Если нет вот такой вот "штучечки" Есть ли у кого-нибудь такая штучечка?, такой проблемы не возникает, все равно по одному объекту сравнивать.


Вдогонку: если выгрузить таблицу с непустой группой полей AutoReport и пустой группой AutoLookup, то в окне импорта при сравнении будет отличие в порядке этих групп. Группы меняются местами, если первая с полями, вторая - без. Это на 4.0, на 2009 не проверял. У себя вылечил вот тут \Classes\SysTreeNode\comparableTextList.
Исходный код:
X++:
/*
  Subnodes
*/

    iterator = treeNode.AOTiterator();
    if (iterator)
        tmp = iterator.next();

    while (tmp)
    {
        if (!SysTreeNode::hasSource(tmp) || tmp.AOTgetSource())
        {
            children += '  '+tmp.treeNodeName()+'\n';
        }
        tmp = iterator.next();
    }
исправление:
X++:
/*
  Subnodes
*/

    iterator = treeNode.AOTiterator();
    if (iterator)
        tmp = iterator.next();

    while (tmp)
    {
        if (!SysTreeNode::hasSource(tmp) || tmp.AOTgetSource())
        {
            // 23/12-2010 bugfix compare tables (see order of field groups AutoReport, AutoLookup.
            // modify order to their native one) kird:  -->
            if (curuserid() == "kird")
            {
                if (treeNode.AOTname() == "Field Groups" &&
                    (tmp.treeNodeName() == "AutoReport" || tmp.treeNodeName() == "AutoLookup"))
                {
                    children = '  '+"AutoReport"+'\n';
                    children += '  '+"AutoLookup"+'\n';
                }
                else
                    children += '  '+tmp.treeNodeName()+'\n';
            }
            else
            // 23/12-2010 bugfix kird:  <--
                children += '  '+tmp.treeNodeName()+'\n';
        }
        tmp = iterator.next();
    }
За это сообщение автора поблагодарили: Dron AKA andy (2), Maximin (2), Logger (1).
Теги
xpo, импорт, полезное, сравнение, сравнение объектов

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 12.04.2007 16:10
Ещё книга про Ax на английском - Inside Microsoft Dynamics AX 4.0 StasD DAX: База знаний и проекты 36 22.03.2007 12:51
axaptabuilder: How to build Axapta application from XPO files stored in Visual Source Safe. Blog bot DAX Blogs 0 22.11.2006 15:20
mfp: Building a layer file from XPO files Blog bot DAX Blogs 0 13.11.2006 22:30
Сравнение объектов (xpo) malex DAX: Программирование 4 12.07.2006 12:11
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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