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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.08.2008, 02:44   #1  
Qaz Qwerty is offline
Qaz Qwerty
китайский стажер
 
152 / 37 (2) +++
Регистрация: 12.05.2008
Как получить метки всех элементов всех форм (DAX 4)
Привет всем!
Кто-нибудь знает, как имея названия всех форм и ID элементов форм получить метки для этих элементов? Спасибо!
__________________
Может быть выйдет, а может не-е-е-ет...
Новая песня вместо штиблет..
Старый 09.08.2008, 05:39   #2  
Qaz Qwerty is offline
Qaz Qwerty
китайский стажер
 
152 / 37 (2) +++
Регистрация: 12.05.2008
Talking
Ага, а ответ то нашелся Слетают права при импорте проекта , спасибо Wamr, он гений.
Я не знаю как это все работает, но это работает!

У меня получились вот такие методы:

Метод getLabel
X++:
str 30 getLabel(Object _control)
    {
        switch (classIdGet(_control))
        {
            case classnum(FormBuildStringControl):
            case classnum(FormBuildCheckBoxControl):
            case classnum(FormBuildGroupControl):
            case classNum(FormBuildRealControl):
            case classNum(FormBuildIntControl):
            case classNum(FormBuildComboBoxControl):
            case classNum(FormBuildWindowControl):
            case classNum(FormBuildDateControl):
            case classNum(FormBuildListBoxControl):
            case classNum(FormBuildTimeControl):
                return _control.label();
            case classNum(FormBuildRadioControl):
            case classNum(FormBuildTabPageControl):
                return _control.caption();
            case classNum(FormBuildButtonControl):
            case classNum(FormBuildCommandButtonControl):
            case classNum(FormBuildMenuButtonControl):
            case classNum(FormBuildFunctionButtonControl):
                return _control.text();
            default :
                return _control.name();
        }
        return _control.name();
    }
дальше fillMap

X++:
void fillMap(Object _containerControl)
    {
        int     i;
        Object  fbc;

        for( i = 1; i <= _containerControl.controlCount(); i ++)
        {
            fbc = _containerControl.controlNum(i);
            if(fbc.isContainer())
                element.fillMap(fbc);
            else
            {
                name2label.insert(fbc.name(), element.getLabel(fbc));
            }
        }
 }
дальше CreateLabelMap
X++:
void CreateLabelMap(Args _args)
{
Args                            args = new Args();
SysSecurityFormControlTable     SysSecurityFormControlTable1;
    SysSecurityFormTable            SysSecurityFormTable1;

    if(_SysSecurityFormTable)
    {
        args.name(_SysSecurityFormTable.FormName);
        fr = ClassFactory::formRunClassOnClient(args);
        fbd = fr.form().design();

        name2label = new Map(Types::String, Types::String);
        element.fillMap(fbd);
     }

   }
!
__________________
Может быть выйдет, а может не-е-е-ет...
Новая песня вместо штиблет..
Теги
ax4.0

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как отключить возможность модификации всех форм Рустем Гизатуллин DAX: Администрирование 8 08.12.2007 05:32
aEremenko: Доступность appl.globalCache() для всех сессий DAX Blog bot DAX Blogs 0 17.04.2007 18:01
Получить код метки узла Enum-а MironovI DAX: Программирование 2 23.11.2006 15:24
Как из Аксапты получить список всех доступных ActiveX объектов? chi DAX: Программирование 3 03.12.2004 15:16
Ошибка при настройки видимых/скрытых элементов форм Роман Кошелев DAX: Администрирование 5 06.08.2002 14:35

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

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

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