...

1.2. Приложение

Тема в разделе "Краткое руководство по созданию Low-code решений", создана пользователем ELMA365, 2 май 2023.

  1. ELMA365

    ELMA365 Moderator

    В созданном разделе Отпуска создадим приложение Отпуск, в котором будем хранить информацию обо всех отпусках за свой счёт в компании.

    Важно


    Приложение — это ключевой компонент системы, который предназначен для хранения данных и взаимодействия с ними. По своей сути это справочник, в котором можно хранить информацию и взаимодействовать с ней: создавать новые записи, редактировать и просматривать их. У приложения есть контекст, формы и действия.

    Контекст — это описание структуры хранения. Он определяет, какие именно данные могут храниться в приложении. Например, Дата начала, Дата окончания отпуска и Сотрудник, который идёт в отпуск. Контекст приложения задаётся в типизированном виде, то есть для каждого поля в контексте приложения указывается тип данных. От типа данных зависит доступный пользователю способ заполнения и формат хранения в базе данных. Например, когда мы говорим о вводе даты, мы представляем её выбор в календаре, а не ручной ввод с клавиатуры. Поэтому для полей Дата начала и Дата окончания мы будем использовать тип данных Дата/время.

    Формы — это представления данных. Форма определяет, как именно данные будут отображаться у пользователя. Например, форма, которая открывается при создании отпуска, должна содержать период отпуска.

    Действия — это доступные кнопки взаимодействия с приложением. Например, для сотрудника, инициирующего свой отпуск, это могут быть кнопки: Создать отпуск, Перенести отпуск.



    [​IMG]
    Создание приложения

    [​IMG]
    Создание приложения

    Для отпусков за свой счёт нам необходимо хранить:
    1. сотрудника, который собирается в отпуск;
    2. дату начала — это дата и время начала отпуска за свой счёт. Время здесь необходимо на случай, если отпуск нужен на несколько часов в течение одного дня;
    3. дату окончания — аналогично дате начала;
    4. причину — текстовое описание с причиной для информирования руководителя;
    5. руководителя — это пользователь системы, который согласует отпуск сотрудника.
    Добавим необходимые поля в контекст приложения. Каждое свойство, размещённое в области слева, — это поле на форме. Используя технологию Drag-and-Drop, перетаскивайте свойства с боковой панели, чтобы добавить нужные поля. Выберем нужные нам типы данных на боковой панели:


    [​IMG]
    Боковая панель


    • Для хранения сотрудника будем использовать тип Пользователь. Он позволяет выбрать активного пользователя системы из списка с возможностью поиска:


    [​IMG]
    Поле «Сотрудник» в контексте приложения «Отпуск»


    • Для хранения даты начала и даты окончания будем использовать тип Дата/время. Дополнительно укажем, что время опционально, в этом случае пользователь сможет выбрать сам, указывать его или нет:


    [​IMG]
    Поле «Дата начала» в контексте приложения «Отпуск»


    [​IMG]
    Поле «Дата окончания» в контексте приложения «Отпуск»


    • Для хранения причины используем тип Строка. Чтобы пользователь мог описать её развернуто, укажем режим отображения Текст:

    [​IMG]
    Поле «Причина» в контексте приложения «Отпуск»


    • Для хранения руководителя используем тип Пользователь:


    [​IMG]
    Поле «Руководитель» в контексте приложения «Отпуск»


    Сохранив контекст приложения, мы уже можем с ним работать: формы создания, просмотра и редактирования сформировались автоматически на основании настроенного контекста.

    Если заполнить форму создания и сохранить её в системе, появится Элемент приложения.

    [​IMG]
    Форма создания элемента приложения «Отпуск»


    [​IMG]
    Элемент приложения «Отпуск»


    Важно


    Элемент приложения — это карточка на странице приложения, которая создаётся пользователями и хранит в себе внесённые ими данные.

    Например, приложение Отпуск используется для хранения данных об отпусках сотрудников. Каждый отпуск, добавленный в приложение, будет являться его элементом.

    Заголовок элемента — это его название, которое мы заполнили при создании. Чтобы открыть форму просмотра элемента приложения, нажмите на его название. Чтобы изменить его, нажмите кнопку Редактировать. Кнопка видна только пользователям с правами доступа на редактирование.


    Улучшим форму создания элемента приложения.

    Во-первых, поле Название для отпуска можно не заполнять вручную, а формировать его автоматически по шаблону. В нём мы можем использовать контекст приложения. Например, можно настроить шаблон названия таким: Отпуск {$__createdBy.__name} с {$date_start} по {$date_end}. Название элементов с таким шаблоном будет выглядеть так: Отпуск Иванов Петр с 19.04.2023 по 20.04.2023.


    [​IMG]
    Настройки приложения «Отпуск»


    [​IMG]
    Настройка названия элемента приложения «Отпуск»


    Во-вторых, у каждого приложения есть системные поля, они создаются и заполняются системой автоматически: Дата создания, Автор, Дата изменения, Редактор. В этом перечне системных полей нам важно поле Автор: именно оно хранит пользователя, который создал отпуск. Таким образом, мы можем не использовать поле Сотрудник, которое мы добавили, а использовать системное поле Автор. Перейдем в расширенный режим настройки формы, чтобы изменить формы создания и просмотра:


    [​IMG]
    Настройки приложения «Отпуск»

    [​IMG]
    Настройка формы приложения «Отпуск»

    [​IMG]
    Расширенный режим настройки форм приложения «Отпуск»


    На форме создания:

    • уберём с формы поле Сотрудник;

    [​IMG]
    Настройка формы создания элемента приложения «Отпуск»


    • добавим обязательность полей.


    [​IMG]
    Настройка формы создания элемента приложения «Отпуск»


    На форме просмотра:

    • уберём с формы поле Сотрудник;
    • добавим поле Автор и переименуем его в Сотрудник.

    [​IMG]
    Настройка формы создания элемента приложения «Отпуск»


    Посмотрим, что получилось:


    [​IMG]
    Форма создания элемента приложения «Отпуск»


    [​IMG]
    Форма просмотра элемента приложения «Отпуск»


    В-третьих, можно не заполнять вручную поле Руководитель. Система может определить его автоматически, если настроена организационная структура.
  2. zaitsev_i

    zaitsev_i Активный участник

    Не удачное, на мой взгляд, определение. Уместно различать и "контекст" приложения, и бизнес процесса и формы приложения и формы задачи.
    В данном случае указывается, что определяются данные, которые могут храниться в приложении, что формирует не верное понимание.
  3. ELMA365

    ELMA365 Moderator

    Спасибо за оставленный комментарий. В этой статье рассматривается контекст приложения. О контексте бизнес-процесса читайте в статье "Бизнес-процесс".
  4. AADementev

    AADementev Новичок

    Как настраивать логику для полей?
    Например, как добавить проверку, что дата начала отпуска не может быть меньше текущей даты?
  5. ioyamaleev

    ioyamaleev Новичок

    Вот здесь есть про пользовательскую валидацию - https://elma365.com/ru/help/platform/user-validation.html Сам не пробовал, но видел как использовали ребята.
  6. rogoshkina

    rogoshkina Новичок

    Надо было изначальное поле Сотрудник (employee) удалять из контекста, а не только с формы создания и просмотра. На форме редактирования осталось старое и оно будет вводить в заблуждение пользователей (даже если это пользователь - Администратор) плюс занимать лишнее место в базе.