12.01.2014, 14:32 | #1 |
Administrator
|
AX2012: ReferenceGroup и FastTabSummary
Столкнулся со следующей проблемой при создании новой формы для своей новой таблицы. На моей таблице есть foreign-key relation с одной из стандартных таблиц. Теперь я поле для этого релейшна добавляю на форму в FastTab. Аксапта, как и ожидается, создает мне ReferenceGroup. До этого момента всё хорошо.
Проблема в том, что свойства контролов в ReferenceGroup редактировать нельзя. Соответственно, у них у всех стоит FastTabSummary = Auto. Мне же нужно установить это свойство вручную для определённых контролов. В Developer Guide написано, что в такой ситуации надо добавить data source в Reference Data Sources и перетащить поле оттуда, а не через ReferenceGroup. Но в таком случае я не могу редактировать поле В общем, чувствую, что где-то я просто не понимаю иносказательный язык составителей руководства. Чего хотелось бы достичь, на примере: Допустим, есть у меня табличка с полем Product, которое ссылается на EcoResProduct.RecId. Если я для этой таблички сделаю форму по шаблону SimpleListDetails, и добавлю в FastTabs ReferenceGroup для поля Product, то в summary у меня попадёт поле DisplayProductNumber из EcoResProduct. А я хочу, чтобы в summary оно не попадало, но попадало, например, только поле SearchName. Благодарю заранее за любую рациональную идею. P.S.: Понятно, что можно добавить EcoResProduct как обычный data source. Тогда он будет редактируемый и его поля можно будет добавлять и убирать из summary. Но тогда придётся и руками все лукапы и редактирование программировать, чего хотелось бы избежать. Хотелось бы продолжить использовать ReferenceGroup, но иметь возможность не показывать некоторые поля оттуда в summary.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
12.01.2014, 15:04 | #2 |
Боец
|
Могу ошибиться, но к свойствам в ReferenceGroup и всех вложенных контролов вроде можно достучаться из кода. Это поможет?
|
|
|
За это сообщение автора поблагодарили: Maxim Gorbunov (1). |
12.01.2014, 17:44 | #3 |
Administrator
|
Да, спасибо. Такое решение в итоге и нашёл в форме PayrollPayStatement. Там есть метод setFastTabSummaryOnReferenceGroup(), который это свойство обновляет для всех полей в ReferenceGroup. Его и утащил к себе.
Кроме того, если поля в Summary прятать не надо, а нужно только добавить новое поле, то можно действительно добавить data source в Referenced Data Sources, перетащить контрол на дизайн и указать ему FastTabSummary = Yes, а Visible = No. Так тоже работает.
__________________
Not registered yet? Register here! Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me |
|
16.01.2014, 21:25 | #4 |
Участник
|
Решал не так давно эту проблему. Чисто на память тут брошу метод.
X++: void setColumnWidthForFilterCategory() { int i; Object childControl; for (i = 1; i <= FilterCategory.controlCount(); i++) // FilterCategory is of FormReferenceGroupControl type { childControl = FilterCategory.controlNum( i ); childControl.width( 0, FormWidth::ColumnWidth ); } }
__________________
Felix nihil admirari |
|
Теги |
ax2012, fasttabsummary, referencegroup |
|
|