.. _data_types: Типы данных ============ **Тип данных** — центральный артефакт модели Citeck, описывающий структуру и поведение объектов в системе. Он определяет набор атрибутов, роли, статусы жизненного цикла и связывает объект с формой и журналом. На основе типов данных строится вся логика работы с документами и бизнес-объектами — от создания до участия в бизнес-процессах. Данный раздел описывает создание и настройку типов данных, управление их атрибутами, ролями, статусами, вариантами создания, связями и представлениями. .. toctree:: :maxdepth: 2 data_types/data_types_creation data_types/data_types_attributes data_types/data_types_roles_statuses data_types/data_types_create_variants data_types/data_types_associations data_types/data_types_content_views data_types/data_types_parameters data_types/data_types_type_rights data_types/data_types_auto_journal_form Общий обзор (Overview) ------------------------ **Тип данных** — основной артефакт Citeck, описывающий объект. В типе данных определяются метаданные, которые будет содержать объект, статусы жизненного цикла, роли, которые могут работать с объектом. Тип данных связан с формой и журналом. Типы данных — артефакты с типом **model/type**. В Citeck на основе типа данных создаются следующие артефакты: * :ref:`Форма ` * :ref:`Журнал ` .. _data_types_types: Иерархия системных типов и логика их наследования ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ У каждого типа данных должен быть родитель. Базовые типы данных: .. image:: _static/data_types/type_1.png :width: 300 :align: center **Кейс (case)** - тип для хранения записи, изменяемой во времени посредством связи ее с бизнес-процессом (не является статической). Маркером того, что тип будет кейсом является необходимость прикрепления к нему процесса и указания при создании общей информации, атрибутов, ролей, статусов и матрицы прав. **Справочник (datalist)** - тип для хранения наборов бизнес-данных, которые будут использоваться как статические данные для документов, не участвующие непосредственно в бизнес-процессах. Маркером того, что тип будет даталистом является указание при его создании только общей информации и перечня атрибутов. В качестве родителя можно использовать созданный ранее тип данных. Родительские атрибуты попадают в список **наследуемых атрибутов** (:ref:`Атрибуты `) и по флагу **«Наследовать»** можно наследовать форму, действия, шаблон нумерации. .. _data_types_admin: Описание перехода к разделу через интерфейс ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Для просмотра существующих типов и их редактирования создан журнал **"Типы данных" (Рабочее пространство "Раздел администратора" - Модель)**: .. image:: _static/data_types/type_2.png :width: 700 :align: center По умолчанию в журнале не отображаются системные типы. Для отображения **ТОЛЬКО** системных типов перейдите в настройки таблицы, выставите **Системный тип - Да**: .. image:: _static/data_types/system_types.png :width: 600 :align: center Варианты получения экземпляра типа ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Тип данных можно создать или загрузить уже созданный в систему. Создание """"""""" Для создания типа данных необходимо нажать **+ - Создать новый тип**: .. image:: _static/data_types/new_type_1.png :width: 500 :align: center Откроется форма создания типа данных: .. image:: _static/data_types/new_type.png :width: 600 :align: center Загрузка """"""""" Для загрузки созданного типа данных необходимо нажать **+ - Загрузить тип**: .. image:: _static/data_types/download_type.png :width: 500 :align: center Файл формата **.yaml** Пример описания типа """"""""""""""""""""" .. code-block:: yaml id: hr-offices-type name: ru: Офисы storageType: ECOS_MODEL parentRef: emodel/type@data-list formRef: uiserv/form@hr-offices-form journalRef: uiserv/journal@hr-offices-journal inheritActions: false defaultCreateVariant: true model: attributes: - id: officesCode name: ru: Код - id: officesCity name: ru: Город - id: officesAddress name: ru: Адрес Доступные действия с записью ----------------------------- .. image:: _static/data_types/actions.png :width: 600 :align: center В журнале администратору с каждой записью доступен стандартный набор действий: - :ref:`редактировать права `; - скачать в виде json-файла; - удалить; - открыть карточку в соседней вкладке; - открыть на редактирование; - редактировать json-файл; - копировать. Создание нового типа ---------------------- Форма создания нового типа состоит из следующих вкладок: .. image:: _static/data_types/tabs.png :width: 600 :align: center * :ref:`Основные ` – основные характеристики типа данных. * :ref:`Атрибуты ` – характеристика, определяющая свойства объекта. * :ref:`Аспекты ` – функционал расширения типа данных без изменения самого типа. * :ref:`Роли ` – роли, которые участвуют в работе с объектом. * :ref:`Статусы ` – статусы, по которым объект будет перемещаться по мере выполнения бизнес-процесса. * :ref:`Стадии ` – этапы жизненного цикла документа. * :ref:`Варианты создания ` – настройка поддержки выбора варианта создания после выбора типа. * :ref:`Связи ` – настраиваются для отображения, добавления и удаления связанных объектов в виджете «Связи» на карточке объекта. * :ref:`Конфигурация контента ` – настройки работы с содержимым (контентом). * :ref:`Представления ` – настройки режима отображения данных в виде списка.