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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 29.07.2011, 10:54   #7  
Gustav is offline
Gustav
Moderator
Аватар для Gustav
SAP
Лучший по профессии 2009
 
1,858 / 1152 (42) ++++++++
Регистрация: 24.01.2006
Адрес: Санкт-Петербург
Записей в блоге: 19
Вообще DictEnum когда-то показался мне несколько запутанным в терминах и методах конвертации. Нашёл у себя джобик, при помощи которого я разбирался who is who:
X++:
static void Job274_DictEnum(Args _args)
{
    DictEnum    e = new DictEnum(enumnum(LedgerTransType));
    // DictEnum    e = new DictEnum(enumName2Id('LedgerTransType'));
    int         i;

    int v2i(int _value)
    {
        int idx;
        for (idx=0;idx<e.values();idx++)
            if (e.index2Value(idx)==_value) return idx;
        return 255;
    }
    ;

    for (i=0; i<e.values(); i++)
    {
        info(strFmt('%1 | %2 | %3 | %4 | %5 | %6',
            i,
            e.index2Name(i), // for backwards compatibility only; use the index2label
            e.index2Label(i),
            configurationKeyId2Name(e.index2ConfigurationKey(i)),
            e.index2Symbol(i),
            e.index2Value(i)
            ));
    }
    info(strFmt('name2Value   = %1', e.name2Value  ( 'Перенос'  ))); // 1
    info(strFmt('symbol2Value = %1', e.symbol2Value( 'Transfer' ))); // 1

    info(strFmt('value2Label  = %1', e.value2Label ( 1 ))); // Перенос
    info(strFmt('value2Name   = %1', e.value2Name  ( 1 ))); // Перенос

    info(strFmt('value2Symbol = %1', e.value2Symbol( 1 ))); // Transfer

    info(strFmt('%1' , LedgerTransType::Transfer == 1)); // 1 (true)
    info(strFmt('value2Symbol = %1', e.value2Symbol( LedgerTransType::Transfer ))); // Transfer

    info(strFmt('VALUE 2 INDEX = %1', v2i( 79 ))); // 21 (т.е. 21 | Основные средства | Основные средства | RAsset | FixedAssets_RU | 79)
}
Т.е. получается, что если не прибегать к услугам функции strFmt, то для Eldar9x подошёл бы метод value2Symbol.

Последний раз редактировалось Gustav; 29.07.2011 в 11:01.
Теги
enum, перебор записей

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Динамические элементы управления? Yegor DAX: Программирование 3 23.08.2004 15:27
перебрать все поля Day1.... Day31 Omeo DAX: Программирование 7 22.03.2004 19:29
Как перебрать строки bolt DAX: Программирование 2 02.03.2004 19:24
Как создавать элементы формы динамически? vitk DAX: Программирование 2 23.01.2002 01:41
Основные элементы КИС Rafael DAX: Прочие вопросы 1 27.12.2001 15:03

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

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

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