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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.04.2015, 18:01   #30  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 523 (19) +++++++
Регистрация: 25.11.2005
Адрес: UK
Записей в блоге: 9
Цитата:
Сообщение от 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. Ну а программистов будить нельзя вообще.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ошибки при установке SP и русского слоя. (AX 2009) lekonstantine DAX: Администрирование 6 30.11.2011 12:48
Экспорт отдельного слоя приложения S.Kuskov DAX: Программирование 2 26.01.2010 08:34
Экспорт слоя USR st_msav DAX: Администрирование 2 10.02.2006 13:56
Программынй экспорт из определенного слоя Vasilenko Alexsandr DAX: Программирование 14 08.12.2005 15:07
Экспорт таблиц и форм с указанием слоя Zepp DAX: Администрирование 8 31.10.2005 20:16

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 11:52.