23.12.2010, 16:54 | #22 |
Участник
|
Глюки при импорте xpo.
project_ImportError.rar
Еще один глюк при сравнении таблиц при импорте. В прилагаемом архиве два проекта, загружаем первый. 1. Опять запускаем импорт, жмем Show details, в окне импорта смотрим отличия в поле таблицы (Adjustment отличается), хотя по факту - не отличается. 2. При импорте второго проекта в окне импорта сравнении этой ошибки нет. В-общем, если поле наследовано от edt с Adjustment = Right, то при сравнении во время импорта выдается, будто там - Left. Ошибка в X++: treeNodeImport = infolog.getImportedNode(...) Ошибка повторяется на 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, импорт, полезное, сравнение, сравнение объектов |
|
|