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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.05.2015, 16:31   #23  
makbeth is offline
makbeth
Участник
Аватар для makbeth
КОРУС Консалтинг
 
43 / 52 (2) ++++
Регистрация: 15.05.2007
Адрес: Санкт-Петербург
Цитата:
Сообщение от pedrozzz Посмотреть сообщение
Но,таблицы - это не только поля, а еще и группы полей, индексы и прочее. С ними пока не взлетело и нет времени разобраться. Но именно поля работают
Не взлетело потому, что вставка при сравнении использует метод TreeNode.AOTDrop, который не работает с индексами и группами полей.

Кстати говоря, с полями эта правка будет нормально работать только в 2012. Сравнение происходит построчно, без учета прочих метаданных сравниваемого объекта, т.е. текстовое представление объектов (в нашем случае - списков полей) должно быть одинаковым для обоих версий сравниваемых объектов (в нашем случае порядок существующих в обоих версиях полей должен быть одинаковым). Поскольку при вставке полей ядром не учитывается второй параметр AOTDrop - позиция вставки - новое поле всегда вставляется в начало узла Fields таблицы (до сохранения/восстановления), а в нормальном представлении поля отсортированы, то получается забавный результат. Он как раз и лечится правкой метода hasOrdering, которая заставляет при формировании текстового представления сортировать список полей по алфавиту.
В 2009 видимо потребуется уже более тщательное перепиливание, т.к. там нужно учитывать, что поля сортируются по id.

Для того, чтобы индексы и группы не помечались для добавления (ибо не работает), надо немного подправить изменения в canMergeInsertSubnodes:
X++:
public boolean canMergeInsertSubnodes(SysComparable _top, SysCompareContextProvider _context)
{
    //...
    //Добавить в switch
            case UtilElementType::Table:
                if (this.parmTreeNode().treeNodeType().id() == #NT_DBFIELDLIST)

                {
                    return true;
                }
                break;

    //..
}

Последний раз редактировалось makbeth; 29.05.2015 в 16:52.
За это сообщение автора поблагодарили: Ivanhoe (5), gl00mie (3), pedrozzz (3).
Теги
araxis, ax2009, ax3.0, ax4.0, xpo, документация, законченный пример, импорт, инструменты, полезное, разработка, сравнение, сравнение систем, сравнение слоев

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
А в СП6 есть что-нибудь про зарплату? Arahnid DAX: Программирование 5 10.05.2007 12:46
Axapta Report Designer vs. Something Андре DAX: Программирование 39 18.07.2005 11:06
А кто нибудь пробовал получать налоговую отчетность в системе? Sergioso DAX: Функционал 46 17.01.2005 14:56
Есть у кого ни будь Job ик для групповой замены поля dataareaid в группе таблиц ShadowFromXZone DAX: Функционал 7 13.10.2004 12:48
У кого есть вопросы по модулю Проекты AlexFK DAX: Функционал 2 30.04.2004 16:00

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:14.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.