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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 19.06.2009, 19:47   #1  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Рефакторинг не обещаю, но некорректные использования пофиксят, думаю.
За это сообщение автора поблагодарили: Logger (5).
Старый 20.06.2009, 15:36   #2  
petergunn is offline
petergunn
Участник
 
118 / 279 (10) ++++++
Регистрация: 30.08.2005
Адрес: Tyumen
new DictEnum()
Dynamics Ax 4.0 SP2 (application version: 4.0.2501.347), Dynamics Ax2009 (application version: 5.0.1001.176)

Еще немного о DictEnum: использование числовых идентификаторов вместо enumNum() - тут Best Practices не помешал бы
  • 102 - enumNum(ReqRefType)
  • 112 - enumNum(ItemCalcType)
  • 118 - enumNum(ItemType)
\Classes\ReqTransFormExplosion\treeImageExplain()
X++:
void treeImageExplain()
{
    DictEnum        dictEnum = new DictEnum(102);
    int             counter;
    int             imageNo;
    ;
    ctrlImageExplain.deleteAll();
    ctrlImageExplain.visible(tmpReqExplosionTree.SettingsDisplayImageExplain);

    if (!tmpReqExplosionTree.SettingsDisplayImageExplain)
        return;

    while (counter <  40 /*enumcnt(ReqRefType)*/)
    {
        counter++;
        imageNo = this.displayImageReqRefType(counter);
        if (imageNo)
        {
            //BP Deviation documented
            ctrlImageExplain.addItem(new FormListItem(dictEnum.value2Name(counter),imageNo));
        }
    }

    imageNo = this.displayImageReqRefType(ReqRefType::ItemPlannedOrder,true);
    if (imageNo)
    {
        //BP Deviation documented
        ctrlImageExplain.addItem(new FormListItem("@SYS9646",imageNo));
    }
}
\Forms\BOMCalcTrans\Designs\Design\[Tab:Tab]\[TabPage:Overview]\[Grid:Grid]\Window:Type\Methods\toolTip
X++:
str toolTip()
{
    DictEnum    dictEnum = new DictEnum(112);
    ...
}
\Forms\BOMChangeLine\Designs\Design\[Tab:Tab]\[TabPage:Overview]\[Grid:GridBOM]\Window:ItemTypeIcon\Methods\toolTip
\Forms\BOMConsistOf\Designs\Design\[Group:GroupBOM]\[Tab:Tab]\[TabPage:Overview]\[Grid:GridBOM]\Window:ItemTypeIcon\Methods\toolTip
X++:
str toolTip()
{
    DictEnum    dictEnum = new DictEnum(118);
    ...
}
\Forms\ProdCalcTrans\Designs\Design\[Tab:Tab]\[TabPage:OverviewCosting]\[Grid:CostingGrid]\Window:TypeCostingGrid\Methods\toolTip
\Forms\ProdCalcTrans\Designs\Design\[Tab:Tab]\[TabPage:OverviewEstimation]\[Grid:EstimationGrid]\Window:TypeEstimationGrid\Methods\toolTip
X++:
str toolTip()
{
    DictEnum    dictEnum = new DictEnum(112);
    ...
}
За это сообщение автора поблагодарили: ZVV (5).
Старый 23.06.2009, 14:24   #3  
in.dc is offline
in.dc
Участник
 
29 / 53 (2) ++++
Регистрация: 09.04.2009
enumcnt() & dictEnum.value2Name() & InventItemType::construct()
Dynamics Ax 4.0 SP2 EE
Добавлю своих '5 копеек' до кучи, где 'индекс' трактуется как значение перечисления:
  • \Classes\BOMDesignerCtrl\controlImageExplain
  • \Classes\SMABOMDesignerCtrl\controlImageExplain
  • \Forms\ConfigHierarchy\Methods\initImageExplain
X++:
    DictEnum        dictEnum = new DictEnum(enumnum(ItemType));
    ...
    for (i=enumcnt(ItemType);i>0;i--)
    {
        inventItemType = InventItemType::construct(i-1);
        if (inventItemType)
        {
            imageNo = inventItemType.imageRessNo();
            if (imageNo)
            {
                //BP Deviation documented
                imageExplain.addItem(new FormListItem(dictEnum.value2Name(i-1),imageList.image(imageNo)));
            }
        }
    }
__________________
Dynamics AX 4.0 SP2
Теги
ax2009, ax4.0, dictenum, dictionary, баг

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AX UK: Dynamics AX 2009 Sales & Presales Training Blog bot DAX Blogs 0 11.03.2008 07:09
Как в range на одно и тоже контейнерное поле поставить условие: "исключ." && like Pustik DAX: Программирование 15 03.07.2004 11:54
Ассоциативность операции && alexbn DAX: Программирование 9 10.06.2004 17:18
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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