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, 03:05   #3  
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   #4  
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, 09:56   #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 Посмотреть сообщение
Интересно, что г-н (тов.) kashperuk скажет про 6-рку в этом вопросе...
А что рассказать-то? Пока инструмент сравнения не меняли вроде. Красный - usr, Синий - sys.
Но, честно говоря, или я мало код сравниваю/перемещаю, или мне абсолютно пофиг, какой где цвет, потому как раньше не замечал этого изменения
Старый 25.03.2010, 10:07   #6  
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:16   #7  
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, 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, 10:50   #9  
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   #10  
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   #11  
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, 12:20   #12  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
Цитата:
Сообщение от gl00mie Посмотреть сообщение
слабо настройку сделать и вынести ее куда-нить в SysUserInfo?
http://blogs.msdn.com/ericlippert/ar...lightbulb.aspx
За это сообщение автора поблагодарили: alex55 (1).
Старый 25.03.2010, 13:03   #13  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Сразу видно, чем люди не пользуются Классная логика... а, к примеру, слабо настройку сделать и вынести ее куда-нить в SysUserInfo?
Я, на самом деле, пользуюсь довольно часто (правда наверное реже, чем все вы).
Раз не замечал, значит не так уж неудобно.

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

Оптимально было бы настройками сделать.
Старый 25.03.2010, 14:53   #15  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5798 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Цитата:
Это выглядело бы очень остроумно, если бы не тот факт, что в 2009-й по большому счету сломали то, что было. Т.е. втихую сломать что-то и никому не сказать - оно, конечно, дешевле, чем нанимать хрендцать переводчиков, которые хотя бы во what's new опишут, что теперь все поменялось и, мол, ребяты, выполняющие обновления: вам теперь придется каждый раз менять выбранные слои местами. Зато можно вспомнить, сколько восторгов было в блогах по поводу того, что на форме импорта появилась кнопка "Сравнить"! Вот это достижение! Вот сразу видно, что работала команда из 25 человек... Ну да ладно, а вот вынести лишнюю настройку или просто признать, что да, недоглядели, возвращаем обратно, как было - это слишком дорого или, может, слишком унизительно для команды MorphX и mpf лично... Подумаешь, что куча разработчиков работает со времен 3.0 или даже 2.5 - это пофиг, им ведь по любому переучиваться пришлось, а вот те немногие, кто до 2009-й Аксапту в глаза не видели - их лишний раз запутывать нельзя, а то мы "потеряем лицо".
Цитата:
Сообщение от kashperuk Посмотреть сообщение
Я, на самом деле, пользуюсь довольно часто. Раз не замечал, значит не так уж неудобно
Одно дело - использовать сравнение, чтобы выявить, чем XPO от объекта в приложении отличается, и совсем другое - поднимать кучу модификаций на новый SP или даже на новую версию. Вон и автоматическое сравнение и пометка отличающихся объектов в XPO появились не в стандартном функционале, стало быть, разработчиком из MBS это было не нужно.

PS. Я-то лично допилю сравнение, как мне нужно, и другие разработчики, думаю, тоже, но вот юмора по поводу того, что ломаются привычные вещи, а исправлять не будетм, потому что дорого, я в упор не понимаю.

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

2. Я очень много поднимаю sys овского кода на gls и просто перепривык к новым цветам - мне, например, больше не хватает подъема групп и меню, чем изменения цветов в сравнении.
Старый 25.03.2010, 15:37   #17  
Bober is offline
Bober
Участник
 
311 / 104 (4) +++++
Регистрация: 29.05.2007
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Я-то лично допилю сравнение, как мне нужно, и другие разработчики, думаю, тоже
Вот будет картина маслом, когда в одном отделе будет несколько разработчиков привыкших к старой схеме, несколько привыкших к новой, и несколько тех, кто не знает, что у вас сравнение "допилено"
А к остальному присоединяюсь. Хотя и позицию больших организаций с тиражными продуктами понять можно: любой чих - это много гоморроя и много чисто финансовых затрат.
Старый 25.03.2010, 17:47   #18  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,952 / 3230 (115) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
Цитата:
Сообщение от Bober Посмотреть сообщение
Вот будет картина маслом, когда в одном отделе будет несколько разработчиков привыкших к старой схеме, несколько привыкших к новой, и несколько тех, кто не знает, что у вас сравнение "допилено"
А к остальному присоединяюсь. Хотя и позицию больших организаций с тиражными продуктами понять можно: любой чих - это много гоморроя и много чисто финансовых затрат.
Легко решается введением настроек. Так что каждый работает в итоге так привык.
Старый 26.03.2010, 09:49   #19  
BOAL is offline
BOAL
Участник
Аватар для BOAL
MCBMSS
Злыдни
1C
Лучший по профессии 2015
 
621 / 453 (17) +++++++
Регистрация: 28.04.2003
Адрес: Москва
Ага, или привыкает к хорошему (правильному) и далее таскает свой ХРО по всем АХ, благо выходят они не так часто.
У меня за 10 лет уже вообще есть свой сервис пак, без которого я не могу внедрить АХ в принципе (как дев утилит, так и клиентского функционала).
Я давно смирился, например, с тем, что поле Ваучер в ЖГК енаблед(фалсе), а не алоэдит. Потому как разработчику в АХ не работать и в буфер Ваучер для поиска дальше не делать, а нам с этой АХ жить ежедневно, как внедренцам, так и суппортерам, то есть мы все таки юзеры тоже и юзабилити (одна из заповедей бестпрактиса, номер 6 вроде, позволяющая вообще забивать на бестпраксис, кстати )
Если мне что-то не удобно на уровне тестов или настройки, то как это юзеру, которому каждый день с 9 до 18 это пользовать?
А напрягает только то, что от версии к версии вместо с хорошим новым кодом, что-то вечно отваливается, что было хорошо, что и несет дополнительное распухание "своего СП".
Например, в новой АХ 2009 потерли справочные поля на emplTable и каст с венд, вынеся их куда-то там
Но сейчас нет и EmplTable.Name, есть дисплей.
А как пользовать поиск и сортировку по этому полю на формах и в лукапе, если его так лихо заменили? При рекомендованном ведении кодов вида 111111 (ясно. что есть краткие наименования, но это урезание возможностей).
При том в тех же наших АО, джойн таблицы emplTable был вообще имхо токо ради этого поля (там же нет краткого наименования теперь и сортировать и искать по ФИО - фиг вам). А сча Джойн оставили ради дисплея, когда можно дисплей писать и на основном курсоре.
Ну а разрезка ЖГК на "кучу маленьких медвежат" (идейно верное, как тенденция) без соответствующего интерфейса в виде методов заменителей с вечным файнд во всех местах - это тоже хороший пример новому поколению бестпрактисов и ускорение написание кода?

Прошу прощения за такой офтопик, просто это наболевшее в данный момент, тк дало непредвиденные временные расходы на перенос слоя в виде "беда пришла, откуда не ждали"

Последний раз редактировалось BOAL; 26.03.2010 в 09:53.
За это сообщение автора поблагодарили: S.Kuskov (2).
Старый 26.03.2010, 11:23   #20  
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, время: 05:56.