Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Данная статья описывает особенности и подходы к проведению настроек блока Управление типами элементов

Данный блок настроек предполагает

  • Создание / корректировка типов элементов, в т.ч. шаблонов процессов
  • Наполнение типа элемента атрибутами
  • Создание / корректировка параметров атрибутов
  • Настройки отображение атрибутов на экране

Работа с типами элементов

Тип элемента - обязательный элемент настройки любого списка системы, он определяет вид и содержание строки записи списка

1. Тип элемента определяет набор свойств (атрибутов) конкретной записи списка

2. В одном списке может быть несколько Типов элементов. Это означает, что в списке могут быть записи разного типа, с разными наборами свойств
НАПРИМЕР, в списке задач содержаться записи по задачам из процессов, по замечаниям, задачам из графиков ПИР. Каждый из вид задач должен описываться разными атрибутами, поэтому под каждый вид задачи в системе создан отдельный Тип элемента, который содержит свой набор атрибутов

3. Списки могут состоять из иерархии записей - в этом случае для записей, которые могут содержать внутри вложения, создаются Типы элементов с меткой "Папка"
НАПРИМЕР, в списке-библиотеке для документации проекта, можно заложить разные типы записей-папок, чтобы делать иерархию и видеть на каждом уровне свой набор свойств.
В базовой настройке системы в списке - библиотеке "Файлы" настроены следующие типы записей (Типы элементов):

  • Проект (папка)
  • Стадия (папка)
  • Комплект (папка)
  • Файл проекта (не папка - тип элемента с атрибутами для добавленного файла)

4. При создании и настройке Типа элемента выполняется:

  • Обязательно
    • Именование типа
    • Определение будет этот тип папкой или нет
    • Прикрепление атрибутов и определение их поведения для записей данного типа
  • Не обязательно
    • Смена карточки представления (отображения) информации о записи списка данного типа
      По умолчанию всегда выставлен базовый вид отображения, в большинстве случаев его можно не менять
    • Подключение изображения (иконки), которое будет выделять записи данного типа в общем списке значений списка
    • Настройка вычислений для заполнения атрибутов данного типа элемента
    • Настройка валидаторов (правил блокировки) для записей данного типа
    • Настройка автоматизации - автоматических событий в системе при смене статуса данного типа элемента, если у записи предусмотрен статус 

5. Список всех типов элементов в системе носит иерархический характер.
На самом верхнем уровне - обязательный системный уровень - тип элемента "Элемент"
ВНИМАНИЕ: любые новые типы элементов должны создаваться внутри этого верхнего уровня - типы элемента "Элемент"
Уровнем ниже тоже есть группировка типов элементов. Обязательные группы, куда должны быть помещены новые типы элементов схожего назначения и смысла:

  • Файл
  • Задача
  • Процесс

ВНИМАНИЕ: настройка шаблона для рабочего процесса происходит штатным путем настройки параметров нового Типа элемента, создаваемого под этот процесс - см. статью 

Работа с атрибутами типов элементов

Атрибуты при настройке Типа элемента

Один из важнейших шагов в настройке Типа элемента - подбор атрибутов для него из списка созданных ранее в системе атрибутов 
Если нужного атрибута для Типа элемента, его сначала надо создать, а потом подключить к типу элемента

При добавлении атрибутов к Типу элемента для каждого из них надо определить

  • Будет ли этот атрибут в данном типе записи доступен пользователям для ручного заполнения/корректировки? Если нет, то на атрибуте ставится метка "Только для чтения"
  • Будет ли атрибут обязательным для заполнения? - ставится метка "Обязательно к заполнению"
  • Надо ли контролировать на закладке Активность изменения данного атрибута? Если да, то ставится метка "Отображать в активности"

Типы данных в атрибутах

Атрибуты в Системе создаются в системе с использованием следующих типов данных:

  1. Многострочный текст - для хранения многострочного текста. Тип столбца в базе данных: TEXT
  2. Однострочный текст - для хранения однострочного текста. Максимальная длина: 255 символов. Тип столбца в базе данных: VARCHAR(255)
  3. Число - для хранения целых чисел. Тип столбца в базе данных: INTEGER
  4. Дата - для хранения даты. Тип столбца в базе данных: TIMESTAMP WITHOUT TIME ZONE
  5. Время - для хранения времени. Тип столбца в базе данных: TIMESTAMP WITHOUT TIME ZONE
  6. Флаг - для хранения булевского значения (да/нет). Тип столбца в базе данных: BOOLEAN
  7. Ссылка на элемент списка - для хранения элементов, которые заданы в другом списке. Тип столбца в базе данных: UUID
  8. Десятичное дробное число - для хранения дробных чисел. Используется для хранения точных значений. При сложении таких чисел не возникает ошибок, связанных с округлением. Точность: 4 знака после запятой. Тип столбца в базе данных: DECIMAL(18,4)
  9. Число с плавающей точкой - для хранения дробных чисел. Точность: 15 знаков после запятой. Тип столбца в базе данных: DOUBLE PRECISION
  10. Уникальный идентификатор - для хранения GUID'ов. Тип столбца в базе данных: UUID
  11. Данные в json формате - для хранения данных в формате JSON. Тип столбца в базе данных: JSONB
  12. Изображение - ссылка на картинку. Тип столбца в базе данных: UUID
  13. Ссылка - для хранения URL. Тип столбца в базе данных: JSONB в формате {"name":"текст ссылки", "uri":"ссылка"}
  14. Вложения - ссылки на тела файлов. Тип столбца в базе данных: UUID[]

Подходы к проектированию атрибутов для типа элемента

При принятии решения, какие атрибуты следует подключать к конкретному Типу элемента для конкретного списка, следует придерживаться следующих подходов:

1. Предусмотреть атрибуты для

    1. Получение срезов информации для анализа и отчетов, НАПРИМЕР
      • Контроль этапов жизненного цикла (файла/задачи/процесса/проекта) – атрибут «Статус»
      • Выборка по загрузке файлов одним сотрудником – атрибут «Изменил»
    2. Использования в фильтрации и сортировке, НАПРИМЕР, сортировка задач по убыванию – атрибут «Порядковый номер» (колонка «ИД»)
    3. Для передачи данных из системы в файл (например, в основную надпись чертежа или пояснительной записки) – тогда данные должны быть как отдельные атрибуты, заполняемые по ГОСТу
      НАПРИМЕР, название папки 05.2_ИОС2, шифр раздела для передачи в штамп 5.2 ИОС 2 – в отдельном атрибуте «Шифр» у папки с типом «Раздел»
    4. Для организации логических правил выполнения автоматизированных процессов в системе
      НАПРИМЕР, если в ходе согласования в системе для файлов рабочей документации нужно проставление штампов, а для файлов проектной документации – не нужно, то система должна отличать эти папки не по названию, а по типу или атрибуту

2. Выбрать для атрибутов оптимальный тип данных (текст, число, дата, флажок, значение из справочника, ссылка и пр.)

НАПРИМЕР, атрибут «Номер по порядку» можно сделать как целое число (поле нельзя будет заполнить текстом), а атрибут «Номер раздела» лучше делать текстовым, т.к. оно может содержать ноль впереди, цифры через точку для подразделов и пр.

НАПРИМЕР, атрибут «Шифр раздела» может быть сделан как текст (люди могут писать по-разному и ошибаться – сложности в фильтрации), а может быть выбором из справочника (этот справочник надо создать, заполнить значениями и поддерживать в актуальном состоянии)

3. Важна последовательность получения и заполнения информации

4. Минимизация ручного ввода – минимальное (атрибуты, которые никто не будет заполнять, - не нужны), но необходимое количество атрибутов

5. Выделить атрибуты, которые можно заполнить автоматически, исходя из уже имеющихся данных в системе
НАПРИМЕР, атрибут «Подразделение исполнителя» в задаче для получения выборки всех задач подразделения можно заполнять автоматически путем вычисления при проставлении Исполнителя задачи

РЕКОМЕНДАЦИЯ: решения по составу типов папок и их атрибутов, а также нужных для атрибутов справочников, записать в рабочем варианте Техпроекта на настройки (пример описания см. по ссылке)