Модель Master-Detail
FRONTIER-logo

СИСТЕМА ОПЕРАТИВНОГО И УПРАВЛЕНЧЕСКОГО УЧЕТА

data-warehouse 03
  • Автоматизация торговых и
  • производственных процессов
  • Планирование материальных
  • потребностей на базе MRP II и TOC
  • Бесплатная рабочая версия для
  • оценки пригодности Системы

Для представления данных, получаемых из разных источников и логически связанных между собой по одному или нескольким внешним ключам, используется визуальная модель Master-Detail (linkage). 

Такая модель содержит в себе описание до четырех, связанных между собой, дочерних визуальных подмоделей, типом которых может служить как простая Query-модель, так и модель класса Master-Detail. Количество встроенных стилей (схем размещения) модели Master-Detail позволяет структурировать и представлять имеющиеся данные, практически, в любом необходимом виде. При этом, независимо от уровня вложенности, сохраненяются все фукциональные возможности Query-модели, как базового компонента модели Master-Detail. Все подмодели связаны между собой отношением parent-child, а также имеют прямую связь со своим владельцем - моделью-контейнером.

На следующем рисунке представлен результат работы модели Master-Detail со стилем 30 (Схема размещения 1-left-2-right), содержащей в своем составе три субмодели - 1) Query (left), 2) Query (top), 3) Linkage (bottom):

MasterDetail-Example

На следующем рисунке представлено окно редактора этой модели:

MasterDetail

Модель Master-Detail ни содержит в своей структуре непосредственного описания принимаемых извне аргументов. Тем не менее, передача значений таких аргументов возможна - для этого в качестве имен необходимо использовать имена аргументов первой подмодели (Master).

Свойства модели Master-Detail

Свойство Описание
Код Уникальный код (обозначение) модели
Наименование Полное наименование модели. Отображается в качестве заголовка окна-подложки.
Стиль Стиль представления, определяющий количество и расположение вложенных подмоделей. Подробное описание стилей приведено в следующем разделе.
Справка Код темы из справочного файла
Master, Detail-1, Detail-2, Detail-3 
Модель Тип модели: Query, Linkage (Master-Detail)
URI Идентификатор ресурса в формате: <class-controller>.<model>[?<key>=<value>[&...]]
Родитель Ссылка на модель-родитель. Может принимать одно из следующих значений: Master, Detail1, Detail2, ParentModel. Значение ParentModel устанавливает связь выбранной подмодели с моделью, из которой производилось открытие данной модели MasterDetail
Аргументы

Описание передаваемых/получаемых параметров в формате:

<parent-column1>:<child-column1>, <parent-column2>:<child-column2>...

Update style Способ и порядок обновления записей в подмоделе
Delete style Способ и порядок удаления записей в подмоделе
Зависит от статуса Зависимость от текущего состояния родительской модели. Если такая модель присутствует, состояние подмодели будет автоматически меняться в соответствии с текущим статусом модели-родителя
Отобразить Вычисляемое выражение, значение которого отображается для каждой строки (доступно для ограниченного числа стилей)
   

Стили модели Master-Detail

Как уже говорилось ранее, стиль модели Master-Detail определяет схему размещения (layout) ее подмоделей на рабочем окне. При этом, на функциональное поведение модели во время выполнения стиль, практически, не влияет. В любой момент разработчик может изменить схему размещения визуальных компонентов модели-владельца без потери заложенной в нее бизнес-логики.

В следующей таблице приведены возможные стили модели Master-Detail на момент публикации этого документа.

Код Схема Описание
Две подмодели
21 Две Query-модели , расположенные вертикально
22 Две Query-модели, расположенных горизонтально
23 Две модели любого типа, расположенные в TabView
24 Две Query-моделиw, отображаемых в модальном Wizard-окне
25 DataWindow и TabView, расположенные вертикально
26 DataWindow и TabView, расположенные горизонтально
  Три подмлдели
30 l 30  Одна модель слева, и две модели справа, последняя из которых - Master/Detail
31  Три вертикально расположенные Query модели
32 l 32  Одна модель сверху и две снизу
33  Три горизонтально расположенные Query модели
34  Одна модель слева и две справа
35  Три модели любого типа, расположенные в TabView
36  Три модели в стиле OutLook
37  Две модели слева и одна справа
38  Две модели сверху и одна снизу
39  Три Query-модели, отображаемые в модальном Wizard-окне
   Четыре подмодели
41  Четыре модели любого типа, расположенные в TabView
42  Четыре модели в стиле OutLook
43  Четыре Query-модели, отображаемые в модальном Wizard-окне
44  Одна модель слева и три справа
45  Одна модель сверху и три снизу