Небольшой джобик для автоматического сравнения слоев.
Просто часто приходиться все перетаскивать на cus...
Нужны не все элементы, поэтому использован switch.
PHP код:
static void AutoUSR_CUSCompare(Args _args)
{
SysCompare sysCompare;
TreeNode treeNode = new TreeNode();
TreeNode treeNode1 = new TreeNode();
xInfo xInfo = new xInfo();
boolean res;
UtilElements elements;
;
sysCompare = new sysCompare(true);
while select elements
where elements.utilLevel == UtilEntryLevel::usr
{
treeNode = xInfo.rootNode();
switch (elements.recordType)
{
case UtilElementType::Table :
treeNode = treeNode.AOTfindChild("Data Dictionary");
treeNode = treeNode.AOTfindChild("Tables");
break;
case UtilElementType::TableMap :
treeNode = treeNode.AOTfindChild("Data Dictionary");
treeNode = treeNode.AOTfindChild("Maps");
break;
case UtilElementType::TableCollection :
treeNode = treeNode.AOTfindChild("Data Dictionary");
treeNode = treeNode.AOTfindChild("Table Collections");
break;
case UtilElementType::ExtendedType :
treeNode = treeNode.AOTfindChild("Data Dictionary");
treeNode = treeNode.AOTfindChild("Extended Data Types");
break;
case UtilElementType::Enum :
treeNode = treeNode.AOTfindChild("Data Dictionary");
treeNode = treeNode.AOTfindChild("Base Enums");
break;
case UtilElementType::Class :
treeNode = treeNode.AOTfindChild("Classes");
break;
case UtilElementType::Form :
treeNode = treeNode.AOTfindChild("Forms");
break;
case UtilElementType::Report :
treeNode = treeNode.AOTfindChild("Reports");
break;
default :
continue;
}
treeNode = treeNode.AOTfindChild(elements.name);
if (! treeNode)
{
info(strfmt("Узел %1 не найден!",elements.name));
continue;
}
treeNode1 = treeNode.getNodeInLayer(UtilEntryLevel::cus, false);
if (! treeNode1)
{
info(strfmt("Элемент :%1 не найден в cus слое!",elements.name));
continue;
}
res = sysCompare.compareTreenodes(treeNode, treeNode1);
if (! res)
info(strfmt("Элемент :%1 различается в слоях!",treeNode.toString()));
// else
// info(strfmt("Элемент :%1 идентичен!",treeNode.toString()));
}
}
Элементарно и довольно просто.
Удачи!
С Уважением,
Георгий