![]() |
#21 |
Дмитрий Ерин
|
В порядке страдания ерундой
![]() 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; } } 5. На "главном" датасорсе (в котором собственно хранятся аналитики), перекрываем метод active(): X++: public int active() { int ret; ; ret = super(); TmpDimDescription.initFromCommon(this.cursor()); TmpDimDescription_ds.executeQuery(); return ret; } ![]()
__________________
![]() |
|
|
За это сообщение автора поблагодарили: S.Kuskov (1). |