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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.08.2007, 16:25   #1  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Как из FormStringControl получить DictType
Есть работающая форма. На ней объект FormStringControl. Источник данных для этого объекта поле таблицы из DataSource формы.

Каким образом, имея ссылку на этот объект "достучаться" до свойств Extedned DataTypes на основе которого было создано поле таблицы-источника данного контрола? Т.е. получить объект DictType.

AXAPTA 2.5 SP3
Старый 22.08.2007, 16:35   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
каркас вот, а там уже ньюансы учесть просто надо (arraySize, отсутствие значений и др.)

X++:
void clicked()
{
    FormStringControl   ctrl;
    SysDictField        dictField;
    SysDictType         dictType;
    ;
    super();

    ctrl = element.control(Control::tutorial_Form_DynaLink1_ItemId);
    print ctrl.dataSource();
    print ctrl.dataField();
    print fieldExt2Id(ctrl.dataField());
    print element.form().dataSource(ctrl.dataSource()).table();

    dictField = new SysDictField(element.form().dataSource(ctrl.dataSource()).table(), fieldExt2Id(ctrl.dataField()));
    print dictField.extendedTypeId();
    print typeId2ExtendedTypeId(dictField.extendedTypeId());
    dictType = new SysDictType(typeId2ExtendedTypeId(dictField.extendedTypeId()));
    print dictType.name();
    pause;
}
Старый 22.08.2007, 16:41   #3  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
К слову, в Tabax уже есть функция, которая показывает детальную информацию о поле, в том числе его Extended Data Type

Пользуйтесь Tabax
Старый 22.08.2007, 17:09   #4  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,701 / 1195 (43) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Спасибо. Основная проблема была с fieldExt2Id(). Никак не мог "перевести" полученный идентификатор поля.
Теги
ax2.5

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как получить мультиселект стандартными средствами!? 3oppo DAX: Программирование 11 29.12.2010 12:50
Как получить указатель на отчёт когда пользователь выбрал Печать на принтер в просмотрщике, в форму SysPrintForm? rkorchagin DAX: Программирование 10 17.04.2008 11:59
Значение из FormStringControl Андре DAX: Программирование 4 11.11.2004 10:54
Как получить DictField из FormStringControl LMA DAX: Программирование 4 20.09.2004 11:08
Как получить значение поля Datasource на динамически созданной форме? storer DAX: Программирование 2 14.11.2003 16:41
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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