В порядке страдания ерундой
1. Создаем EDT DimDescription (массив той же размерности, что и Dimension).
2. Делаем временную таблицу TmpDimDescription с единственным полем DimDescription (EDT из п.1), входящим в единственную группу DimDescription.
3. Добавляем примерно такой метод на эту таблицу:
X++:
void initFromCommon(Common _common)
{
int idx;
FieldId dimFieldId;
;
for (idx = 1; idx <= dimof(this.dimDescription); idx++)
{
dimFieldId = fieldId2Ext (fieldname2id (_common.TableId, "Dimension"), idx);
this.DimDescription[idx] = Dimensions::find (Dimensions::arrayIdx2Code (idx), _common.(dimFieldId)).Description;
}
}
4. Добавляем эту таблицу в желаемую(ые) форму(ы), вытаскиваем в нужное место группу DimDescription.
5. На "главном" датасорсе (в котором собственно хранятся аналитики), перекрываем метод active():
X++:
public int active()
{
int ret;
;
ret = super();
TmpDimDescription.initFromCommon(this.cursor());
TmpDimDescription_ds.executeQuery();
return ret;
}
6. Перестаем страдать ерундой (С)