![]() |
#30 |
Британский учённый
|
Цитата:
Сообщение от MazZzDaI
![]() 1. Ситуация следующая:
1.1. Перед обновлением АХ подрядчиком, я сохраняю VAR слой в VAR_OLD; 1.2. Для обновления АХ, подрядчик подменяет VAR слой своим; 1.3. Мои объекты, и модификации объектов VAR слоя, находятся на CUS. 2. Задача: 2.1. Выбрать все объекты CUS; 2.2. Выбрать все объекты VAR, которые также существуют на CUS; 2.3. Выбрать все объекты VAR_OLD, соответствующие выборке п.2.2; 2.4. Сравнить п.2.3 и п.2.4. В случае нахождения различий— сообщить. 3. Возможные решения п.2.4: 3.1. Используя SysCompare; 3.2. Используя экспорт объекта в XPO с последующим сравнением. 4. Проблема использования возможных решений состоит в том, как писал KIA: 1. Утилитой сравнения слоев получить проект между var и old var. 2. Удалить из проекта, например джобом, все объекты отсутствующие на cus слое. То можно написать своё сравнение с шахматами и куртизанками, метод отсутствующий в 2009 и пример его работы: X++: /// <summary> /// Checks whether an item exists in the given layer /// </summary> /// <param name="_node">The tree node instance.</param> /// <param name="_layer">The layer.</param> /// <returns>true if an item exists in the given layer; otherwise, false.</returns> public static boolean existsInLayer(TreeNode _node, UtilEntryLevel _layer) { return SysTreeNode::isNodeInLayer(_node, _layer) || (_node.applObjectLayerMask() & (1 << _layer)); // check if sub-elements' layer is in layer mask } X++: treeNode = TreeNode::findNode(_treeNodePath); if (treeNode && SysTreeNode::existsInLayer(treeNode, _layer)) { for (layerCnt = UtilEntryLevel::usp; layerCnt >= _layer; layerCnt--) { if (SysTreeNode::existsInLayer(treeNode, layerCnt)) i++; } }
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще. |
|