Цитата:
Сообщение от
fed
- На форме джойним bankAccountTrans и DimensionAttributeValueSet по inner join
- выбираем все аттрибуты из иерархии через dimensionHierarchy::getAttributesNotInHierarchy() и класс DimensionAttributeCollection.
- Для каждого элемента коллекции получаем fieldId через DimensionAttributeValueSet.GetDimensionValueFieldId() поля со значением аналитики.
- Добавляем очередное поле по fieldId в GroupBy запроса
- С помощью кода, потыренного из класса SysTableBrowser, добавляем новое поле в грид (я так толком и не разобрался как все эти FormBuildBlahBlah классы работают, всегда код из table browser копировал). Альтернативный вариант - просто с самого начала создаем в гриде 50 FieldStringControls для показа аналитик и просто назначем им fieldId/Datasource.
Вообще правильнее будет при открытии формы аналогичным подходом добавить в грид ВООБЩЕ все аналитики. А потом при выборе пользователем другой Hierarchy - скрывать или показывать часть аналитик (соответственно - добавляя группировки)