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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.11.2008, 12:28   #1  
Shakr
Гость
 
n/a
Попытка исправить глюк в форме SysConView, 3.0 sp4 kr2
Описание проблемы
Есть форма (в моём случае - LedgetBudget), на которой в ClassDeclaration прописано:
Код:
class FormRun extends ObjectRun
{
    Dimension                           dimension;

    #define.CurrentVersion(7)
    #localmacro.CurrentList
        dimension,
    #endmacro
//(всё лишнее покусано)
}
то есть сохраняется массив фильтров по измерениям

Далее открываем эту форму, делаем настройки, закрываем форму.
Идём в Администрирование-Пользователи-Настройки пользователя-Использование данных, закладка: выбор на формах

Открываем настройки формы, они не открываются
Старый 07.11.2008, 12:29   #2  
Shakr
Гость
 
n/a
Теперь моделируем эту ситуацию:

зайдём сюда:
\Forms\SysConView\Methods\init

добавим следующие строчки:
Код:
    real         arr[3];
;

    arr[1] = 1;
    arr[2] = 2;
    arr[3] = 3;
и подменим строчку, инициализирующую демо-контейнер так:
Код:
    containerToShow = [1,2.2,arr,"@SYS76534",4\4\1944,[1,2,["@SYS22523",["@SYS76531","@SYS76532"],"@SYS22525"],4,5],"@SYS76533"];
Запускаем форму, она ничего не может показать

Ищем причину:
в методе \Forms\SysConView\Methods\fillTree падает вот это
Код:
                item.text(strfmt('%1', conPeek(_container,i)));
Проверяем, как работает
Код:
int j;
....
        itemType = typeOf(conPeek(_container,i));
j = itemType;
j = 33
В базовом енуме types 15 значений

Последний раз редактировалось Shakr; 07.11.2008 в 12:35.
Старый 07.11.2008, 12:37   #3  
Shakr
Гость
 
n/a
попробовал исправить так:
\Forms\SysConView\Methods\setContainer
Код:
void setContainer(container _container)
{
//<<kvl CUS-Modification on 07/11/08 by kvl
    int             len = conLen(_container);
    Container       con;
    int             cnt;
    AnyType         any[1000]; 
    DictEnum        DictTypes = new DictEnum(EnumName2Id('types'));
    int             i;
int j;
    int             subLen;
    common          common;
    types           itemType;
    FormTreeItem    item;

    ;
    for (i=1;i<=len;i++)
    {
        itemType = typeOf(conPeek(_container,i));

        j = itemType;
        if (j>DictTypes.values())
        {
            any = conPeek(_container, i);
            cnt = dimof(conPeek(_container, i));
            for (j = 1; j<= cnt; j++)
                con += [any[j]];
            _container = conPoke(_container,i,con);
        }
    }
//>>kvl CUS-Modification on 07/11/08 by kvl
    containerToShow = _container;
}
то, что очень раздражает самого себя - подсвечено красным

Последний раз редактировалось Shakr; 07.11.2008 в 12:39.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Использование семейства InventDimCtrl_Frm_* - 2 DS InventDim на одной форме Pavlo AKA Panok DAX: База знаний и проекты 5 22.12.2008 17:15
Upgrade с AX 3.0 SP2 до AX 3.0 SP5 KR2 vallys DAX: Администрирование 14 04.08.2008 11:31
Совместимость SP4 и SP5 Alexandr A. Osipkin DAX: Администрирование 3 05.07.2006 08:06
Переход на SP4 Writer DAX: Прочие вопросы 1 13.10.2005 20:17
Установка Axapta 3.0 SP4 Easten Europe Alexander A. DAX: Администрирование 0 23.08.2005 15:24

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

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

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