Вид документа

Доменная сущность Версия: 0.1 draft

Описание того, что бывает: из каких атрибутов состоит документ этого вида и документы каких видов могут в него входить.

⟨/⟩ Исходник

1. Назначение

Вид документа отвечает на вопрос «что хранится», и только на него. Как это напечатано, на каком листе и с какой подписью — знание формы документа, а не вида.

Виды заводятся не только на информационные карты. Эксперт, замер величины pH, автор, переписчик, владелец, биотест — тоже виды документов: у них есть состав атрибутов и они существуют в данных независимо от того, сколько строк отвела под них бумага.

2. Дерево видов

Вид входит в состав другого вида — так вложение описано на уровне описания: «в ИК издания входит эксперт, а в эксперта — ничего». Это парная конструкция к дереву документов карты: там — то, что заполнено, здесь — то, что бывает.

Так описываются повторяющиеся группы бумажной формы: состав экспертов, замеры величины pH, авторы и переписчики рукописи, владельцы, записи биотеста.

Таблицы с заранее известными строками вложенными видами не являются. «Владельческие пометы» и «Оформление экземпляра» на форме на рукопись выглядят как таблицы, но набор строк задан бланком — это пары атрибутов, а не список.

Кратность отдельно не задаётся. Вложение и означает «сколько угодно»: экспертов у карты столько, сколько их было; примечаний — сколько кусков текста нашлось на бумаге. Ограничивать число сверху нечем и незачем — бумага уже заполнена, и Сервис её переписывает, а не проверяет на соответствие норме.

3. Отображение в ядро карты

Атрибут вида задаёт, какое свойство ядра карты он заполняет. Отображение живёт здесь, потому что зависит от вида: у ИК рукописи заглавие берётся из унифицированного заглавия, у ИК издания — из единственного поля «Заглавие».

Ядро — проекция для поиска и показа; источник истины остаётся за значениями атрибутов документов карты.

4. Инварианты

Свойства

СвойствоТипОписание
DocIdGuidИдентификатор вида документа.
ParentIdNullable<Guid>Вид, в состав которого входит этот; пуст у вида верхнего уровня.
DocKindStringКод вида: по нему на него ссылаются документы карты, формы и выгрузка.
NameStringНаименование вида: ИК издания, ИК рукописи, эксперт, замер pH.
NestedKindsIReadOnlyList<DocumentKind>Виды документов, входящие в состав этого вида.
AttributesIReadOnlyList<DocumentKindAttribute>Атрибуты, входящие в состав документов этого вида.

Связанные артефакты

Документы