|
29.05.2015, 15:41 | #1 |
Молодой, подающий надежды
|
Цитата:
X++: public boolean canMergeInsertSubnodes(SysComparable _top, SysCompareContextProvider _context) { //... //Добавить в switch case UtilElementType::Table: return true; //.. } public boolean hasOrdering() { //... //Добавить в switch case #NT_DBFIELDLIST: return false; //.. }
__________________
Кононов Пётр Последний раз редактировалось pedrozzz; 29.05.2015 в 15:45. |
|
|
За это сообщение автора поблагодарили: Logger (10), Ivanhoe (5), gl00mie (3), S.Kuskov (5). |
29.05.2015, 16:31 | #2 |
Участник
|
Цитата:
Кстати говоря, с полями эта правка будет нормально работать только в 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, документация, законченный пример, импорт, инструменты, полезное, разработка, сравнение, сравнение систем, сравнение слоев |
|
|