Дело в том, что отчеты создаются автоматическим образом в программе.
Для группировки и вычисления итогов используется бэнд заголовка группы.
Ваш способ потребует значительных и трудоемких изменений программы, создающей отчеты,
т.к он предполагает другой способ группировки.
Хотелось бы этого избежать.
Надеюсь на Ваше понимание.
Спасибо.
Упорядочивать группы по значению агрегатной функции
Упорядочивать группы по значению агрегатной функции
Здравствуйте,
Да, такой метод возможен, но он требует предварительного расчета необходимых Вам значений, сохранения их в hash таблицу и использования своей функции, определенной в CodeTab для Вашего GroupHeader.
1) На закладке "Код" определите переменную типа HashTable, которая будет содержать пары Условие Группировки-Значение агрегатной функции. И понадобится функция, которая проанализирует эту hash таблицу и выдаст результат агрегатной функции в зависимости от входного значения для этой функции - аргумента этой функции.
2) Располагаете вначале отчета дополнительный GroupHeader и DataBand, оба нулевой высоты. В BeforePrint у DataBandа, устанавливаете обработчик для расчета сумм в соответствии с группировкой в HashTable.
3) После того как сформирована в 1) и 2) Hash таблица, можно использовать её значения в основном GroupHeader, который Вам необходимо добавить. Функция из пункта 1) может возвращать значения 1,2,3,... в зависимости от входного аргумента и таким образом быть использована для группировки.
Спасибо.
Да, такой метод возможен, но он требует предварительного расчета необходимых Вам значений, сохранения их в hash таблицу и использования своей функции, определенной в CodeTab для Вашего GroupHeader.
1) На закладке "Код" определите переменную типа HashTable, которая будет содержать пары Условие Группировки-Значение агрегатной функции. И понадобится функция, которая проанализирует эту hash таблицу и выдаст результат агрегатной функции в зависимости от входного значения для этой функции - аргумента этой функции.
2) Располагаете вначале отчета дополнительный GroupHeader и DataBand, оба нулевой высоты. В BeforePrint у DataBandа, устанавливаете обработчик для расчета сумм в соответствии с группировкой в HashTable.
3) После того как сформирована в 1) и 2) Hash таблица, можно использовать её значения в основном GroupHeader, который Вам необходимо добавить. Функция из пункта 1) может возвращать значения 1,2,3,... в зависимости от входного аргумента и таким образом быть использована для группировки.
Спасибо.