Статичное представление
В статичном представлении все данные формы читаются на момент ее открытия, после чего полученные данные преобразуются:
- либо в печатное представление - изображение или 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)
;
Иерархия групп объектов для этой формы будет построена следующим образом: