Источники-группы, родительские группы

Вычисляемые группы виртуальных итогов нередко образуют иерархию или как-то соотносятся между собой. Например, прибыль удобно разделять на прибыль от основной деятельности, прибыль от реализации имущества, прибыль от прочих операций и так далее, а затраты — на основные затраты, затраты из-за обмена валют. Структуру групп можно сохранить непосредственно в описании виртуального итога так, чтобы значение одной группы складывалось из значений других групп. Одним из способов достижения этого являются источники-группы:

group Expenses: en(Expenses), ru(Затраты)

  no details
  var Amount
      group CoreExpenses: Quantity
      group CurrencyExpenses: Quantity

end

Здесь в качестве источника данных для группы Expenses выступают группы CoreExpenses и CurrencyExpenses. Опция «без детализации» (no details) говорит о том, что в отчете группа Expenses не будет иметь детализацию и всегда будет представлена ровно одной строкой:

VirtualTotal_Report5

Другим способом объединить разные вычисляемые группы в одну группу является механизм родительских групп. При использовании родительских групп отчет будет выглядеть несколько по-другому: родительская группа будет идти не отдельной строкой вместе с остальными группами, а отдельным уровнем иерархии. Как правило, этот способ представления зависимых групп в отчете выглядит более удобным:

group Expenses: en(Expenses), ru(Затраты)

  children: CoreExpenses, CurrencyExpenses

end

Вот как выглядит отчет, в котором вместо вычисляемой группы используется родительская группа:

VirtualTotal_Report6