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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 17.03.2010, 11:06   #1  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
DAX2009 Сравнение слоев в правильном порядке
Все обратили внимание, что в АХ2009 наконец-то по умолчанию стали сравниваться ближайшие два слоя. В АХ3-4 приходилось модить.
Но в АХ2009 зачем-то поменяли местами слои.
Теперь красный - это usr, а синий sys
Вопрос кто ниже-выше это суть восприятия.
Но смысл в том, что подъем (или опускание) кода идет на синий слой.
Это вопрос привычки и восприятия, но привычка - дело скорости обработки.
Тем более, что идет перенос с версии, где цвета наоборот - напрягает мозг.

Начав перенос кучи кода с АХ4 в АХ2009 понял, что "так жить нельзя"
На кучу элементов, которые нужно сравнить по 2-3 раза нужно два раза кликать для перевыбора порядка слоя.

Потому правка:

Идем в
\Classes\SysCompare\initContext
там внизу находим
if (comboBox1.getText(comboBox1.selection()) == comboBox2.getText(comboBox2.selection()))

и меняем перебивку 2 на 1
то есть
PHP код:
if (comboBox1.selection()+>= comboBox1.items() )
        {
            
comboBox1.selection(0);
        }
        else
        {
            
comboBox1.selection(comboBox1.selection()+1);
        } 
Из радостного
В сравнилке ах2009 наконец-то работает стрелочка на контрольках и атрибутах.
Теперь не нужно врубать режим слоев на АОТ и перетаскивать что-то меж слоями поштучно мышей.

Кстати, кто не знает - такое перетаскивание есть и оч полезно бывает (на пред версиях точно).

Может все эти мелкие чудеса давно известны, тк АХ2009 вышла уже давно, но я только сча на нее перелезаю всем 50мб слоем "нажитого непосильным трудом"
Поиском сходу не нашел такую тему.

Последний раз редактировалось BOAL; 17.03.2010 в 11:10.
За это сообщение автора поблагодарили: sukhanchik (5), alex55 (3).
Старый 17.03.2010, 11:10   #2  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,320 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Интересно, что г-н (тов.) kashperuk скажет про 6-рку в этом вопросе...
__________________
Возможно сделать все. Вопрос времени
Старый 25.03.2010, 09:56   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Интересно, что г-н (тов.) kashperuk скажет про 6-рку в этом вопросе...
А что рассказать-то? Пока инструмент сравнения не меняли вроде. Красный - usr, Синий - sys.
Но, честно говоря, или я мало код сравниваю/перемещаю, или мне абсолютно пофиг, какой где цвет, потому как раньше не замечал этого изменения
Старый 25.03.2010, 10:07   #4  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,320 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от kashperuk Посмотреть сообщение
А что рассказать-то? Пока инструмент сравнения не меняли вроде. Красный - usr, Синий - sys.
Но, честно говоря, или я мало код сравниваю/перемещаю, или мне абсолютно пофиг, какой где цвет, потому как раньше не замечал этого изменения
Т.е. в 6-ке это (смена цветов) не признали "случайным" багом, а оставили как есть?

Я просто по аналогии когда в 4.0 пропадал пункт меню при открытии в отдельном окне - это же в 2009-й пофиксили, а в 3.0 этого не было
__________________
Возможно сделать все. Вопрос времени
Старый 25.03.2010, 10:50   #5  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от sukhanchik Посмотреть сообщение
Т.е. в 6-ке это (смена цветов) не признали "случайным" багом, а оставили как есть?
Ааа. В этом смысле

Пообщался с mfp (он там у них главный по MorphX) - он, похоже, не знал, что что-то поменялось. Видимо не заметил, так же как и я.
Но сказал, что менять не будем еще раз, чтобы не путать опять уже пользователей АХ 2009.
Так что привыкайте
За это сообщение автора поблагодарили: sukhanchik (2).
Старый 25.03.2010, 11:12   #6  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,320 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от kashperuk Посмотреть сообщение
менять не будем еще раз, чтобы не путать опять уже пользователей АХ 2009.
Так что привыкайте
Вот это конечно не может не "радовать" .
В любом случае спасибо за информацию
__________________
Возможно сделать все. Вопрос времени
Старый 25.03.2010, 11:55   #7  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Пообщался с mfp - он, похоже, не знал, что что-то поменялось. Видимо не заметил, так же как и я.
Сразу видно, чем люди не пользуются
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Но сказал, что менять не будем еще раз, чтобы не путать опять уже пользователей АХ 2009. Так что привыкайте
Классная логика... а, к примеру, слабо настройку сделать и вынести ее куда-нить в SysUserInfo?
Старый 25.03.2010, 10:28   #8  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
Походу разница все же есть, а не только привычка.
Расположение, как в ах2009, удобно тем, кто опускает на сис из юср.
А не поднимает сервиспак (или переход с ах4) на свои слои (вар-юср)
Потому как, походу некоторых стрелочек на атрибутах просто нет, если красный юср, а не синий.
Соотв, в один клик это не применить.

К слову про "мало поменяли" - да, баги, замедляющие подъем, так и остались
ДелетЭкшены и (релейшены вроде тоже) не применяются, нужно руками создавать
В группе полей стрелок нет, нужно дотаскивать
Группа полей с названием Авто вообще не трется из АОТ, то есть даже если там изменения не нужны, нужно дотаскивать до "было" поля. В АХ4 она после этого терлась, а тут уже фиг.

Удобно только с классами работать. И в формах некоторые атрибуты стали стрелками применяться (новое, полезное).
За это сообщение автора поблагодарили: Logger (4).
Старый 25.03.2010, 03:05   #9  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Сообщение от BOAL Посмотреть сообщение
Это вопрос привычки и восприятия, но привычка - дело скорости обработки. Начав перенос кучи кода с АХ4 в АХ2009 понял, что "так жить нельзя"
А еще очень, по-моему, ускоряет процесс, когда не надо шлёпать кнопку "Сравнить" после выбора сравнения из контекстного меню. Я себе такую модификацию к сравнению приделал и теперь впадаю в ступор, если на каком-то приложении выбираю сравнение, а оно само после появления формы не запускается Правда, в моем случае используется дополнительная настройка, указывающая текущий режим разработки и берущаяся из таблички с дополнительными настройками пользователя, наподобие SysUserInfo. Эта настройка - enum DEV_DevelopmentMode со значениями Usual, UpdateByLayer, Upgrade2NewSP, Upgrade2NewVersion; данная настройка в моем случае также влияет на то, объекты на каком слое будут выбираться по умолчанию для сравнения, как будет идти компиляция (с проверками BP или без), etc. Вот что было допилено в SysCompare для автозапуска сравнения:
X++:
void run()
{
    ;
    startLengthyOperation();
    tree.deleteAll();
    html.clear();
    formRun.detach();
    // gl00m -->
    if (this.DEV_mustStartCompareNow())
    {
        this.startCompare();
    }
    // gl00m <--
}
// возвращает текущий выставленный в настройках режим разработки
protected DEV_DevelopmentMode DEV_getDevelopmentMode()
{
    if (!DEV_isDevModeRead)
    {
        // это новые переменные в классе SysCompare
        // TODO брать режим разработки из настроечной таблицы!
        DEV_devMode         = DEV_DevelopmentMode::Upgrade2NewVersion; // DEV_UserInfoParameters::getDevelopmentMode();
        DEV_isDevModeRead   = true;
    }
    return GRD_devMode;
}
// надо ли сразу запускать сравнение объекта(ов)
protected boolean DEV_mustStartCompareNow()
{
    SysTreeNodeCompareContext   treeNodeContext = SysDictClass::as(context, classnum(SysTreeNodeCompareContext));
    TreeNode                    baseTreeNode1;
    TreeNode                    baseTreeNode2;
    boolean                     ret;
    ;
    if (treeNodeContext)
    {
        baseTreeNode1 = treeNodeContext.parmTreeNode1();
        baseTreeNode2 = treeNodeContext.parmTreeNode2();
        if (    baseTreeNode2                                           // для сравнения выбрано два различных объекта
            &&  baseTreeNode2 != baseTreeNode1
           )
        {
            if (baseTreeNode2.applObjectLayerMask() == 0)               // один из объектов отсутствует в AOT'е (импортируется из XPO)
            {
                ret = true;
            }
        }
        else                                                            // для сравнения выбран только один объект
        {
            if (        baseTreeNode1.applObjectOldLayerMask()  != 0    // выбранный объект присутствует в Old-слоях
                &&  (   this.DEV_getDevelopmentMode()           == DEV_DevelopmentMode::UpdateByLayer
                    ||  this.DEV_getDevelopmentMode()           == DEV_DevelopmentMode::Upgrade2NewSP
                    ||  this.DEV_getDevelopmentMode()           == DEV_DevelopmentMode::Upgrade2NewVersion
                    )
               )
            {
                ret = true;
            }
        }
    }
    return ret;
}
Прежде чем делать запуск сравнения автоматическим, разумеется, нужно допилить выбор "правильных" слоев в combobox'ах
За это сообщение автора поблагодарили: BOAL (2).
Старый 25.03.2010, 08:02   #10  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
А еще в 2009 хорошая штука "Detect code upgrade conflicts"
Старый 25.03.2010, 10:16   #11  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
А я просто привык, и нахожу некоторую логику в этом - обычно сравнение слоев происходит при подъеме изменений нижележащих уровней и сравние показывает что добавили в новой версии, а что удалили

Еще здорово, что подняли сравнивалку наверх в структуре меню и сделали шорткат Ctrl+G
Старый 25.03.2010, 13:24   #12  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Когда поднимаешь большой слой то неудобно.
Причем как показывает практика, в разные моменты времени нужно разное сравнение. например когда готовишь переход на сервис пак, то одна схема, а когда просто очередное обновление продуктивного приложения (т.е. сравниваешь USR и OLD USR) - то другая.

Оптимально было бы настройками сделать.
Старый 25.03.2010, 15:31   #13  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
1. Это не юмор - это просто пояснение того, как работают большие организации с большими тиражируемыми продуктами. Извините, если эта форма вызвала недовольство

2. Я очень много поднимаю sys овского кода на gls и просто перепривык к новым цветам - мне, например, больше не хватает подъема групп и меню, чем изменения цветов в сравнении.
Старый 26.03.2010, 11:23   #14  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,320 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Пост от BOAL рекомендую запомнить для случая ответов на вопрос - "Что мне не нравится в АХ2009" на собеседовании
__________________
Возможно сделать все. Вопрос времени
Теги
полезное, слой приложения, сравнение объектов, ax2009

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
fed: Cost Explorer in DAX2009 Blog bot DAX Blogs 3 24.11.2009 17:32
Вопросы по OLAP в DAX2009 oleg_e DAX: Функционал 9 10.12.2008 02:02
Сравнение слоев SerAl DAX: Прочие вопросы 4 23.07.2007 11:05
Автоматическое сравнение слоев George Nordic DAX: База знаний и проекты 3 20.04.2005 12:18
Сравнение слоев lexa DAX: Программирование 2 28.07.2004 14:24

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

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

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