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

Результаты опроса: Используемый билд Аксапты.
2.5 1 2.86%
3.0 7 20.00%
4.0 1 2.86%
2009 SP1 RU6 (5.0.1500.3761) 5 14.29%
2009 SP1 RU7 (5.0.1500.4570) 5 14.29%
2009 SP1 RU8 (5.0.1500.6491) 6 17.14%
2009 SP1 RU8.xxx + Recent published kernel build + parameter sniffing fix (5.0.1600.2967) 2 5.71%
2009 SP1 RU8.xxx + Latest kernel build (5.0.1600.3090) 0 0%
2012 CU5 0 0%
2012 CU6 0 0%
2012 CU7 0 0%
2012 Recent kernel build (6.0.1108.8243) 0 0%
2012 R2 CU6 1 2.86%
2012 R2 CU7 5 14.29%
2012 R2 CU8 3 8.57%
2012 R2 CU9 1 2.86%
2012 R2 Recent kernel build (6.2.3000.253) 1 2.86%
2012 R3 4 11.43%
2012 R3 CU8 6 17.14%
2012 R3 CU9 5 14.29%
2012 R3 Recent kernel build (6.3.2000.4754) 0 0%
Опрос с выбором нескольких вариантов ответа. Голосовавшие: 35. Вы ещё не голосовали в этом опросе

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 12.11.2015, 11:38   #21  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,070 / 1800 (67) ++++++++
Регистрация: 12.10.2004
Цитата:
Сообщение от gl00mie Посмотреть сообщение
Если периодически читать, что именно исправляют в обновлениях ядра, то просто страшно становится. Это как у медиков: пациенты делятся на больных и необследованных.
Именно что так !
Я тут нагуглил список билдов с описанием чего они фиксят.
https://www.academia.edu/9837830/AX2...SP1Hotfix_List

И возникло жгучее желание поставить сборочку посвежее.
Старый 13.11.2015, 19:23   #22  
Link is offline
Link
Британский учённый
Аватар для Link
Соотечественники
 
568 / 492 (18) +++++++
Регистрация: 25.11.2005
Адрес: UK
К интересу пользователей АХ 2009. У МС открыт следующий опрос:
Цитата:
This survey is used to collect information about your existing AX2009 deployment and your upgrade plans. We will be using the results of this survey to understand our current AX2009 customers infrastructure needs. We will also be using these results to build the AX2009 compatibility roadmap.

This survey should be completed by the AX Technical leader within your organization. Time to complete this survey is approximately 5 minutes.
__________________
Людям физического труда для восстановления своих сил нужен 7-8 часовой ночной сон. Людям умственного труда нужно спать часов 9-10. Ну а программистов будить нельзя вообще.
За это сообщение автора поблагодарили: Logger (1), gl00mie (3).
Старый 01.12.2015, 12:40   #23  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,070 / 1800 (67) ++++++++
Регистрация: 12.10.2004
Хм.
В последнем билде 2009-й (5.0.1600.3090) похоже поломали авторазмещение контролов либо авторесайз форм.

На всех диалогах у пакетников съехали кнопки "Повторение" и "Оповещения" на закладке "Пакет".
Исключение - когда пакетник использует обычный диалог (нарисованный руками)
В итоге
Класс Tutorial_RunbaseBatch - глючит как и большинство пакетов.
а
Класс Tutorial_RunbaseForm - нормально отрисовывает.
Старый 01.12.2015, 15:16   #24  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,551 / 5050 (176) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
картинка стоит тысячи слов
Старый 01.12.2015, 15:56   #25  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,070 / 1800 (67) ++++++++
Регистрация: 12.10.2004


Ну вот например.
Глюк проявляется для классов :

Tutorial_RunbaseBatch
InventCostClosing
там как и в большинстве пакетников в dialog() стоит
X++:
dialog = super();
А для
Tutorial_RunbaseForm
не проявляется, потому что там в dialog() стоит
X++:
dialog = Dialog::newFormnameRunbase(formstr(tutorial_RunbaseForm),this);
Миниатюры
Нажмите на изображение для увеличения
Название: Tutorial_RunbaseForm.png
Просмотров: 199
Размер:	9.0 Кб
ID:	9438  
Изображения
  
Старый 12.02.2016, 12:21   #26  
Damn is offline
Damn
Участник
 
345 / 98 (4) ++++
Регистрация: 28.05.2003
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
Хм.
В последнем билде 2009-й (5.0.1600.3090) похоже поломали авторазмещение контролов либо авторесайз форм.
Это началось уже с билда 1600.2967. Диалог начинает некорректно отображать кнопки "Оповещения" и "Повторение" уже в связках "обновленный клиент - необновленный АОС", "необновленный клиент - обновленный АОС".
Ничего нельзя поделать с этим ? Обновление до этого билда теряет смысл. Я думал может хоть в 1600.3090 исправили, а выясняется что и там баг остаётся.
__________________
Дмитрий
За это сообщение автора поблагодарили: Logger (3).
Старый 12.02.2016, 13:00   #27  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,070 / 1800 (67) ++++++++
Регистрация: 12.10.2004
Цитата:
Сообщение от Damn Посмотреть сообщение
Это началось уже с билда 1600.2967. Диалог начинает некорректно отображать кнопки "Оповещения" и "Повторение" уже в связках "обновленный клиент - необновленный АОС", "необновленный клиент - обновленный АОС".
Ничего нельзя поделать с этим ? Обновление до этого билда теряет смысл. Я думал может хоть в 1600.3090 исправили, а выясняется что и там баг остаётся.
Отчего ж нельзя.
Вот так например.
\Classes\BatchInfo\dialog

X++:
void dialog(Dialog   dialog)
{
    DialogRunBase               dialogRunBase = dialog;
    Object                      curMainGrp;
    DialogGroup                 grp2Col;
    DialogGroup                 buttonGrp;
    DialogGroup                 textGrp;
    // GRD_R93295_newKernelBuildPostRU8_pkoz, Переход на новый билд ядра (5.0.1600.3090) - подготовка., pkoz, 01.12.2015 -->
    FormBuildGroupControl       GRD_FormBuildGroupControl;
    // GRD_R93295_newKernelBuildPostRU8_pkoz, Переход на новый билд ядра (5.0.1600.3090) - подготовка., pkoz, 01.12.2015 <--
    ;

    #define.batchGrp('DialogBatchGrp')

    if (! runClass.canGoBatch() || !runClass.showBatchTab())
        return;

    usesDialogClass = Dialog::isDialogClass(dialog);
    if (! usesDialogClass)
    {
        // When using "old" system, disable batch.
        batchExecute = false;
        return;
    }
    curMainGrp = dialog.mainFormGroup();


    dialogRunBase.batchDialogTabPage(dialog.addTabPage("@SYS14462"));

    grp2Col = dialog.addGroup();
    grp2Col.frameType(FormFrameType::None);
    grp2Col.columns(3);
    grp2Col.widthMode(1);

    // GRD_R93295_newKernelBuildPostRU8_pkoz, Переход на новый билд ядра (5.0.1600.3090) - подготовка., pkoz, 01.12.2015 -->
    if ( !isRunningOnServer() && grp2Col.control() )
    {
        GRD_FormBuildGroupControl = SysDictClass::as(grp2Col.control(), ClassNum(FormBuildGroupControl));

        if (GRD_FormBuildGroupControl)
        {
            /*
            info4([
                GRD_FormBuildGroupControl.widthMode(),
                strFMT("%1", GRD_FormBuildGroupControl.widthMode()),
                GRD_FormBuildGroupControl.widthValue()
                ]);
            */

            // grp2Col.widthMode(-1);

            GRD_FormBuildGroupControl.width( 600, -1 ); // прибили гвоздями размер группы, так как в билде 5.0.1600.3090 он иногда глючит (не учитывал размер кнопок - словно их не было)
            // чтобы совсем красоту навести - надо еще в классе DialogGroup (переменная grp2Col ) реализовать метод width и запомнить widthMode и ширину
        }
        //info4([classid2Name(grp2Col.control().handle())]);
    }
    // GRD_R93295_newKernelBuildPostRU8_pkoz, Переход на новый билд ядра (5.0.1600.3090) - подготовка., pkoz, 01.12.2015 <--

    dialog.addGroup("@SYS2952",grp2Col);

    fieldBatchExecute   = dialog.addFieldValue(typeid(NoYes),batchExecute,"@SYS2312", "@SYS28499");

    dialog.addGroup("@SYS68865",grp2Col);

    dialog.addGroup("@SYS5711",grp2Col);
    if(this.parmRunClass())
        caption = this.parmRunClass().caption();
    fieldCaption        = dialog.addFieldValue(typeid(BatchCaption), caption, '',
                                new DictField(tablenum(Batch), fieldnum(Batch, Caption)).help());
    fieldGroup          = dialog.addFieldValue(typeid(BatchGroupId),groupId, '',
                                new DictField(tablenum(Batch),fieldnum(Batch,GroupId)).help());
    fieldPrivate        = dialog.addFieldValue(typeid(NoYes),privateBatch,fieldpname(Batch,PrivateTask),
                                new DictField(tablenum(Batch),fieldnum(Batch,PrivateTask)).help());

    buttonGrp = dialog.addGroup('',grp2Col);
    buttonGrp.frameType(FormFrameType::None);
    buttonGrp.leftMode(3);

    dialog.addMenuItemButton(MenuItemType::Display,menuitemdisplaystr(SysRecurrenceRun),DialogMenuItemGroup::CurrentGrp);
    dialog.addMenuItemButton(MenuItemType::Display,menuitemdisplaystr(BatchAlerts), DialogMenuItemGroup::CurrentGrp);

    dialog.curFormGroup(dialog.mainFormGroup());
    textGrp = dialog.addGroup();
    textGrp.frameType(FormFrameType::Edged3DLine);
    textGrp.alignChild(false);
    textGrp.widthMode(1);
    fieldText = dialog.addText(SysRecurrenceRun::toText(this.parmBatchHeader().parmRecurrenceData()));

    dialog.mainFormGroup(curMainGrp);
    dialog.curFormGroup(curMainGrp);

}
P.S.
А в MS писать пробовали ?
Чего говорят ?
Старый 12.02.2016, 16:00   #28  
Damn is offline
Damn
Участник
 
345 / 98 (4) ++++
Регистрация: 28.05.2003
Адрес: Москва
Цитата:
Сообщение от Logger Посмотреть сообщение
А в MS писать пробовали ?
Чего говорят ?
Может проще не переводить клиента и АОС на этот билд ? Есть в нём какие-то плюсы кроме минусов ? И кстати баг с кнопками в диалоговой форме единственный ?
Не хочется тратить время на переписку с микрософтом.
__________________
Дмитрий
Старый 12.02.2016, 16:23   #29  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,070 / 1800 (67) ++++++++
Регистрация: 12.10.2004
Затрудняюсь что-то советовать.
У нас он в деве и тесте крутится уже 3 месяца. Других багов пока не выявили.
На продуктив так и не ставили пока.
Старый 22.02.2016, 11:24   #30  
Damn is offline
Damn
Участник
 
345 / 98 (4) ++++
Регистрация: 28.05.2003
Адрес: Москва
Билд 5.0.1600.3596 не пробовали ? Он сейчас вроде последний. Вдруг там исправлено это.
__________________
Дмитрий
Старый 22.02.2016, 11:55   #31  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,070 / 1800 (67) ++++++++
Регистрация: 12.10.2004
Нет.
А у вас есть описание, что в нем пофиксили ?
Старый 22.02.2016, 16:22   #32  
Damn is offline
Damn
Участник
 
345 / 98 (4) ++++
Регистрация: 28.05.2003
Адрес: Москва
Нет. Я и скачать-то не знаю как его.
__________________
Дмитрий
Старый 23.03.2018, 11:18   #33  
Rik_id7251 is offline
Rik_id7251
Участник
 
2 / 20 (1) +++
Регистрация: 31.05.2013
Дело в том что код в классе BatchInfo методе dialog корректен и его править не надо.
Проблема тут в строчке:
buttonGrp.leftMode(3);

Значение передается корректное, но функция почему-то принимает boolean.
Исправляется в классе DialogGroup методе leftMode:

X++:
//Fix -->
/*
void leftMode(boolean leftMode)
*/
void leftMode(FormLeft leftMode)
//Fix <--
{
    if (properties)
        Dialog::setProp(properties,#leftMode,leftMode);
    else
        this.formGroup().leftMode(leftMode);
}
Вместо енума FormLeft можно просто int, кому как удобнее.
За это сообщение автора поблагодарили: Logger (3), S.Kuskov (5).
Старый 25.03.2018, 19:59   #34  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,070 / 1800 (67) ++++++++
Регистрация: 12.10.2004
Интересно, что поведение ядра изменилось при передаче параметров.
Раньше оно не приводило типы (и даже ошибочно написанный X++ код мог корректно срабатывать), а теперь приводит типы и код который работал раньше - теперь не работает.

Опасно, где это еще вылезет.

Для иллюстрации набросал джобик
X++:
static void Job3015(Args _args)
{
    DictEnum    dictEnum;
    anytype     a;
    
    boolean test(boolean _parm)
    {
        ;
        
        dictEnum = new DictEnum(DictEnum::value2id(_parm));
        info(strfmt("%1; %2; %3; %4",
            typeOf(_parm),
            any2int(_parm),
            DictEnum::value2id(_parm),
            dictEnum ? dictEnum.name() : '-'
            ));

        return 3;
    }
    ;
    
    a = test(3);
    dictEnum = new DictEnum(DictEnum::value2id(a));
    info(strfmt("%1; %2; %3; %4",
        typeOf(a),
        any2int(a),
        DictEnum::value2id(a),
        dictEnum ? dictEnum.name() : '-'
        ));
    info("");
}
В новом билде (как минимум после 1600.2967) джобик выведет
Цитата:
Enum; 1; 61440; boolean
Enum; 1; 0; -
первая строка соответствует преобразованию типов при передаче параметров в метод, а вторая - при возвращении результатов.

В старом билде (RU8) результат такой:
Цитата:
Enum; 3; 61440; boolean
Enum; 1; 0; -
т.е. значение не приводилось к нужному типу и баг в X++ коде не проявлялся.

P.S. Но конечно радует, что это не баг ядра как думали в начале, а всего лишь кривой X++ код.

Последний раз редактировалось Logger; 25.03.2018 в 20:07.
За это сообщение автора поблагодарили: gl00mie (3).
Старый 25.03.2018, 20:11   #35  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,070 / 1800 (67) ++++++++
Регистрация: 12.10.2004
А в 2012-й (build 6.3.5000.2046) джоб выдает:
Цитата:
Enum; 1; 61440; boolean
Enum; 1; 61440; boolean
т.е. опять поведение меняется, но уже при возвращении значения из метода.
Теги
build, hotfix, kernel rollup

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Принцип отката в настройках версии калькуляции издержек gerwald DAX: Функционал 3 27.07.2013 00:32
Определение "накатанного" по версии приложения / ядра Corel DAX: Администрирование 6 15.02.2012 15:39
Какая версия клиента в Ax 3 KR2 ? egorych DAX: Администрирование 22 26.09.2008 03:20
Ошибка системной версии таблицы monter DAX: Администрирование 8 12.08.2008 12:43
Основной язык ядра следующей версии Аксапты perestoronin DAX: Прочие вопросы 10 03.02.2006 16:23
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 08:57.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.