|
22.08.2007, 16:25 | #1 |
Участник
|
Как из FormStringControl получить DictType
Есть работающая форма. На ней объект FormStringControl. Источник данных для этого объекта поле таблицы из DataSource формы.
Каким образом, имея ссылку на этот объект "достучаться" до свойств Extedned DataTypes на основе которого было создано поле таблицы-источника данного контрола? Т.е. получить объект DictType. AXAPTA 2.5 SP3 |
|
22.08.2007, 16:35 | #2 |
Участник
|
каркас вот, а там уже ньюансы учесть просто надо (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 |
Участник
|
К слову, в Tabax уже есть функция, которая показывает детальную информацию о поле, в том числе его Extended Data Type
Пользуйтесь Tabax |
|
22.08.2007, 17:09 | #4 |
Участник
|
Спасибо. Основная проблема была с fieldExt2Id(). Никак не мог "перевести" полученный идентификатор поля.
|
|
Теги |
ax2.5 |
|
|