Статичное представление
В статичном представлении все данные формы читаются на момент ее открытия, после чего полученные данные преобразуются:
- либо в печатное представление - изображение или excel. Печатное представление также часто принято называть отчетом
- либо в структурированное представление - один из соответствующих форматов данных (например XML, JSON, CSV, DBF)
Структурированное представление, как правило, используется для загрузки данных в другие информационные системы, печатное же представление - для просмотра данных пользователем и печати на принтере.
Пустая группа объектов
В статичном представлении для любой формы существует предопределенная пустая группа объектов, которая считается первой группой объектов на форме, не содержит ни одного объекта и, считается группой отображения свойств / фильтров без параметров. Соответственно, в этой группе отображения всегда максимум один пустой набор объектов (ровно один, если нет фильтров без параметров).
Иерархия групп объектов
Для отображения информации в статичном представлении группы объектов формы необходимо организовать в иерархию, в рамках которой данные для групп объектов будут своего рода "вкладываться" друг в друга. К примеру, если у нас есть группы объектов A
и B
, и A
является родителем B
, то отображая эту информацию в статичном представлении сначала будут отображаться все свойства A
для первого набора объектов из A
, затем все свойства B
и пары (A
, B
) для всех наборов объектов из B
, затем будет отображаться аналогичная информация для второго набора объектов из A
и всех наборов объектов из B
и так далее.
Построение иерархии групп объектов
Платформа строит иерархию групп объектов на основании структуры формы следующим образом:
-
Сначала строятся связи между группами объектов по следующим правилам:
- группа объектов
A
зависит от группы объектовB
, еслиА
в списке групп объектов позднееB
, и на форме существует свойство или фильтр, которые используют объекты изA
иB
в качестве входных аргументов (при этомB
не должно быть группой-в-колонки этого свойства). - любая группа объектов
A
зависит от пустой группы объектов - группа
A
косвенно зависит от группыB
, если, опять таки,A
позднееB
, и существует группа объектовC
, которая зависит и отA
и отB
- группа объектов
-
После того как связи построены, иерархия строится таким образом, что родителем группы объектов
A
выбирается наиболее поздняя в списке групп объектов группаB
, от которойA
зависит (напрямую или косвенно).
Как следует из алгоритма пустая группа объектов всегда является единственной корневой группой построенной иерархии
Пример построения иерархии групп объектов
FORM myForm 'myForm'
OBJECTS A, B SUBREPORT, C, D, E
PROPERTIES f(B, C), g(A, C)
FILTERS c(E) = C, h(B, D)
;
Иерархия групп объектов для этой формы будет построена следующим образом: