Was this article helpful?

Спасибо за вашу оценку!

Оставляя более подробный отзыв, вы помогаете нам улучшать документацию

Практикум. Система регистрации на мероприятия. Объектная модель.

Общие сведения о визуалах

В Системе реализована возможность настройки реестра и визуалов типа объектов. Данный функционал позволяет полностью кастомизировать пользовательский интерфейс под различные задачи.

С использованием платформы GreenData можно:

  • Настраивать структуру отображения визуалов;

  • Настраивать структуру и настройки реестра объектов типа объекта;

  • Форматировать содержание объекта и реестра, в том числе используя условное форматирование;

  • Задавать правила отображения, логики поведения, блокировки и цветового оформления элементов на визуале.

Для настройки визуала предусмотрены элементы, которые нужно располагать в рабочей области используя принцип перетаскивания drag&drop.

Настройка визуалов включает в себя несколько этапов:

  1. Настройка структуры. На данном этапе проводится разметка областей и определяется, где будут располагаться элементы (атрибуты и виджеты);

  2. Размещение элементов. Размещение элементов интерфейса должно происходить только в заранее подготовленные области контейнеров: в их пространство помещаются атрибуты типа или системные элементы(виджеты);

  3. Настройка форматирования. На этом этапе проводится настройка отображения текста и цветового оформления;

  4. Настройка управления. На этом этапе реализуется настройка видимости и доступности элементов.

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

Описание модуля

Для решения поставленной бизнес-задачи необходимо создать визуалы:

image008

image009

image010

Также необходимо настроить реестры:

image011

image012

image013

image014

image015

Перед настройкой модуля «Настройка визуалов» необходимо предварительно реализовать настройки, описанные в главе «Объектная модель», либо установить пакет обновлений.

Настройка визуала для типа объектов «Контактное лицо»

Настроим визуал типа объектов «Контактное лицо» для удобного заполнения организатором данных. На предметной области выделим тип объектов «Контактное лицо» и на панели управления выберем «Настроить экранную форму для объектов».

image016

В новой вкладке откроется редактор визуала. Перед настройкой удалим визуал, созданный Системой по умолчанию. Для этого на рабочей области удалите верхний «Ряд», нажав на кнопку удаления.

image017

Для того чтобы настроить визуал, мы будем использовать следующие инструменты на вкладке «Группировки»:

  • Ряд;

  • Колонка;

  • Группа атрибутов;

Для того чтобы разместить элемент на рабочей области, необходимо захватить его и перетащить, используя способ drag&drop.

Пошагово настроим визуал:

  1. Разместим группировку «Ряд»; image018

  2. В ряд разместим группировку «Группа атрибутов»; image019

  3. Для группы атрибутов скроем наименование, с помощью кнопки на панели настройки группировки; image020

  4. Переведем переключатель «Показать атрибуты родительского типа» в активное положение и разместим следующие атрибуты:

    • Имя [FIRST_NAME];

    • Фамилия [SURNAME];

    • Отчество [PATRONYMIC];

    • Номер телефона [CONTACT_PHONE];

    • Площадка [EVENT_PLATFORM_ID]. image021

  5. Изменим отображение наименования атрибута слева, для этого раскроем панель настройки атрибутов и выберем соответствующую кнопку; image022

  6. Сохраним визуал, на панели элементов нажав на кнопку «Ок».

Настроенный визуал выглядит следующим образом: image010

Настройка визуала для типа объектов «Площадка»

Настройка визуала объектов

Вернемся к предметной области и аналогично настроим визуал типа объектов «Площадка».

Удалим существующий визуал и пошагово настроим новый:

  1. Вынесем 2 группировки «Ряд»; image023

  2. В верхний ряд добавим группировку «Колонка»; image024

  3. Вынесем группировку «Группа атрибутов» в каждую колонку и в нижний ряд; image025

  4. Зададим наименования для каждой группы атрибутов, для этого нажмем дважды на поле, где написано «Группа»: «Общая информация», «Дополнительная информация», «Фото площадки»; image026

  5. Добавим необходимые атрибуты в группы:

    • Наименование [NAME];

    • Адрес [EVENT_ADDRESS];

    • Часы работы [OPEN_HOURS];

    • Возможность подключения online [IS_ONLINE_AVAILABLE]. Для атрибутов в группах атрибутов «Общая информация» и «Дополнительная информация» настройте отображение наименования атрибута слева; image027

  6. Добавим существующий атрибут через панель «Элементы». Для этого нажмем на раскрывающийся список «Добавить атрибут»; image028

  7. Добавим существующий атрибут. Нажмем на кнопку «Добавить существующий». Выберем из полного списка атрибутов атрибут «Изображение» [SYS_IMAGE]; image029

  8. Откроем добавленный атрибут на редактирование, воспользовавшись кнопкой в поле работы с атрибутом или нажав дважды на необходимый атрибут, и изменим название на «Фото площадки»; image030

  9. Настроим визуал атрибута на вкладке «Визуал»: сделаем активными чек-боксы «Скрывать кнопки во всплывающее меню» и «Автоматический подбор ширины изображения»;

  10. Разместим только что добавленный атрибут в группе атрибутов «Фото площадки». Для атрибута «Фото мероприятия» [SYS_FILE_ID] скройте наименование атрибута, с помощью кнопки в настройках атрибута; image031

  11. Сохраним визуал типа объектов «Площадка» с помощью кнопки «Ок».

Настроенный визуал выглядит следующим образом:

image032

Настройка визуалов для типа объектов «Мероприятие

Настройка визуала объекта «Форма для организаторов»

Настроим визуал типа объектов «Мероприятие», который будет отображаться для организаторов мероприятий.

Выделим тип объектов «Мероприятие» в предметной области и перейдем к настройке визуала по умолчанию с помощью соответствующей кнопки на панели управления.

Удалим визуал, созданный системой по умолчанию, и пошагово настроим новый:

  1. Добавим 3 группировки «Ряд» и по одной группе атрибутов в каждый; image033

  2. Укажем наименования для групп атрибутов: «Общая информация» и «Участники». Для группы атрибутов «Участники» установим настройку отображения «Свернута»; image034

  3. Разделим ряд группы атрибутов «Общая информация» колонкой и разместим атрибуты в этой группе:

    • Фото мероприятия [SYS_IMAGE];

    • Наименование [NAME];

    • Тип мероприятия [EVENT_TYPE_ID];

    • Площадка [EVENT_PLATFORM_ID]. Настройте отображение наименования атрибутов слева; image035

  4. Добавим виджет «Диапазон дат» во вторую колонку группы атрибутов «Общая информация» между атрибутом Наименование и Тип мероприятия и перейдем к его настройке, нажав на кнопку «Открыть настройки»:

    • Атрибут с датой начала – Дата начала мероприятия;

    • Атрибут с датой окончания – Дата окончания; image036 image037

  5. В группе атрибутов «Участники» разместим виджет «Реестр объектов». В поле «Тип объектов» выберем значение «Участник»; image038

  6. Перейдем к настройке представления реестра заявок участников, для этого нажмем на кнопку в виде шестеренки. В появившемся окне изменим Наименование на «Участники» и установим представление реестра – Легкий реестр. Настроим отображаемые колонки: с помощью стрелок уберем влево лишние атрибуты и справа оставим только фамилию, имя и отчество; image039

  7. Перейдем на вкладку «Кнопки» и удалим кнопки «Создать», «Сортировка», «Настройки представления» и оставьте кнопки «Обновить», «Экспорт в Excel» и «Поиск»; image040

  8. Перейдем во вкладку «Стили отображения» и переведем в активное положение «Переносить слова в данных» и «Переносить слова в наименовании»; image041

  9. Сохраним изменения в реестре с помощью кнопки «Ок»

Сохраним изменения на визуале по кнопке «Ок» на панели «Элементы»;

Настроенный визуал мероприятия для организаторов выглядит следующим образом:

image042

Отредактируем информацию о визуале: в правом верхнем углу панели управления воспользуемся кнопкой «Дополнительные действия» и выберем команду «Редактировать» для редактирования информации текущего визуала.

image043

В появившемся окне сменим наименование на «Форма для организаторов» и сохраним визуал.

image044

Настройка визуала объекта «Форма для участника»

Настроим визуал типа объектов «Мероприятие», который будет отображаться для участников мероприятий. В правом верхнем углу на панели управления воспользуемся кнопкой «Дополнительные действия» и выберем команду «Добавить» для создания нового визуала.

image045

В появившемся окне заполним поля наименование – «Форма для участника».

image046

В текущей вкладке обновится визуал. Для того чтобы перейти к его настройке, нажмем на кнопку «Настройка визуала».

image047

Пошагово настроим визуал:

  1. Очистим визуал, для этого удалим «Ряд» с помощью кнопки на группировке; image048

  2. Добавим группировку «Ряд» и разделим на три колонки с помощью группировки «Колонка». Передвинем границы колонки, чтобы процентное соотношение колонок слева направо было 17%, 67% и 17%; image049

  3. Разместим группу атрибутов в колонку посередине. Изменим представление группы атрибутов, для этого в списке представлений выберем «Без имени»; image050

  4. Разделим ряд группы атрибутов на две колонки, передвинем границы колонки, чтобы процентное соотношение колонок слева направо было 33% и 67%; image051

  5. В колонке справа ряда группы атрибутов разместим еще один ряд, разделенный на две колонки; image052

  6. В ряду группы атрибутов в колонке слева разместим атрибут Фото мероприятия [SYS_IMAGE]; image053

  7. В ряду группы атрибутов в колонке справа разместим атрибуты:

    • Наименование [NAME] – для этого необходимо активировать переключатель «Показать родительские атрибуты»;

    • Площадка – Наименование [PLATFORM_ID.NAME];

    • Площадка – Адрес [PLATFORM_ID.EVENT_ADDRESS]; image054

  8. В группу атрибутов справа в ряду расположим атрибуты: слева – Дата начала мероприятия [START_EVENT_DATE], справа – Дата окончания мероприятия [END_EVENT_DATE]; image055

  9. С помощью кнопок навигации переместим ряд в правой колонке ряда группы атрибутов под атрибутом «Наименование»; image056

  10. Изменим название атрибута «Площадка - Адрес» на «Адрес», для этого найдите соответствующую кнопку на панели инструментов настройки атрибута и заполните открывшееся окно; image057

  11. Аналогично изменим название атрибута «Площадка - Наименование» на «Площадка»; image058

  12. Скроем наименование атрибута Фото мероприятия [SYS_IMAGE], для этого для этого найдем соответствующую кнопку на панели инструментов настройки атрибута и в открывшемся модальном окне выберем «Скрыть наименование»; image059

Сохраним визуал по кнопке «Сохранить» на панели элементов.

Для того чтобы участник не мог отредактировать информацию о мероприятии, создадим алгоритм блокировки для группы атрибутов.

image060

В появившемся окне нажмем на кнопку «Создать новый»:

image061

Создадим алгоритм «Алгоритм постоянной блокировки» [PERMANENT_BLOCK_ALG], базовый тип объектов – «Мероприятие» и в качестве формулу укажем значение true – это значит, что алгоритм будет выполняться всегда и группа атрибутов будет заблокирована.

image062

Сохраним настроенный визуал мероприятия для участников. Он будет выглядеть следующим образом:

image063

Настройка реестров типов объектов

Настройка реестра типа объектов «Контактная информация»

Вернемся на вкладку с предметной областью, откроем тип объектов «Контактное лицо» и перейдём в реестр по кнопке на панели управления.

image064

На панели управления нажмем на кнопку «Настройки представления реестра».

image065

В появившемся окне в поле «Представление» выберем «Легкий реестр» — это вид реестра, который отвечает современным требованиям UX/UI. На вкладке «Настройка колонок» с помощью стрелок уберем ненужные атрибуты влево, а справа следующие колонки:

  1. Фамилия;

  2. Имя;

  3. Отчество;

  4. Площадка;

  5. Номер телефона.

image066

На вкладке «Действия» настроем расположение – «Иконки действий», чтобы возле записи располагались иконки действий над объектом.

image067

На вкладке «Стили отображения» переведем в активное положение переключатели напротив «Переносить слова в данных» и «Переносить слова в наименовании».

image068

Сохраним изменения с помощью кнопки «Ок».

Настроенное представление реестра выглядит следующим образом:

image014

Настройка реестра типа объектов «Площадка»

Вернемся на вкладку с предметной областью, откроем тип объектов «Площадка» и перейдём в реестр. На панели управления нажмем на кнопку «Настройки представления реестра» и настроем представление реестра аналогичным образом.

В появившемся окне в поле «Представление» выберем «Легкий реестр».

На вкладке «Действия» настроем расположение – «Иконки действий», чтобы возле записи располагались иконки действий над объектом.

На вкладке «Стили отображения» переведем в активное положение переключатели напротив «Переносить слова в данных» и «Переносить слова в наименовании».

Сохраним изменения с помощью кнопки «Ок».

Настроенное представление реестра выглядит следующим образом:

image069

Настройка реестра типа объектов «Тип мероприятия»

Вернемся на вкладку с предметной областью, откроем тип объектов «Тип мероприятия» и перейдём в реестр. На панели управления нажмем на кнопку «Настройки представления реестра».

В появившемся окне в поле «Представление» выберем «Легкий реестр».

image070

На вкладке «Действия» настроем расположение – «Иконки действий», чтобы возле записи располагались иконки действий над объектом.

На вкладке «Стили отображения» переведем в активное положение переключатели напротив «Переносить слова в данных» и «Переносить слова в наименовании».

Сохраним изменения с помощью кнопки «Ок».

Настроенное представление реестра выглядит следующим образом:

image

Настройка реестра типа объектов «Мероприятие»

Вернемся на вкладку с предметной областью, откроем тип объектов «Мероприятие» и перейдём в реестр. На панели управления нажмем на кнопку «Настройки представления реестра».

В появившемся окне в поле «Представление» выберем «Легкий реестр».

На вкладке «Настройка колонок» измените порядок колонок с помощью кнопок на панели управления:

  1. Фото мероприятия;

  2. Наименование;

  3. Тип мероприятия;

  4. Дата начала мероприятия;

  5. Дата окончания мероприятия;

  6. Площадка.

image

На вкладке «Действия» настроем расположение – «Иконки действий», чтобы возле записи располагались иконки действий над объектом.

На вкладке «Стили отображения» переведем в активное положение переключатели напротив «Переносить слова в данных» и «Переносить слова в наименовании».

Сохраним настройки представления реестра с помощью кнопки «Ок».

Настроенное представление реестра «Мероприятия» выглядит следующим образом:

image

В этом реестре есть возможность создания и удаления экземпляров типа – он предназначен для организаторов. В Системе есть возможность создавать несколько настроек реестра. Создадим еще одно настройки реестра для участников. Для этого раскройте выпадающую панель и с помощью кнопки скопируйте единственное настроенное представление.

image

В появившемся окне изменим наименование на «Доступные мероприятия». На вкладке «Кнопки» оставим только «Обновить», чтобы участники могли только обновлять информацию о доступных мероприятиях для просмотра.

image075

Сохраним настройки представления реестра с помощью кнопки «Сохранить».

image

Настройка алгоритма кнопки регистрации на мероприятие

Вернемся к редактору визуала для участников мероприятий и настроим кнопку для регистрации участника на мероприятие. Перейдем на стартовую страницу, для этого нажмем на логотип GreenData и откроем предметную область «Мероприятия», нажав на виджете Предметные области на иконку с соответствующей подписью.

image

Откроем для редактирования визуал участника мероприятия типа объектов «Мероприятия», выбрав его в списке.

image077

В новой вкладке в режиме редактирования визуала снизу под рядом разместим еще один ряд, в котором расположим виджет «Кнопка».

image

Для того, чтобы элемент внутри ряда располагался посередине, откроем панель настроек группировки «Ряд» и выровняем по центру.

image

image

Добавим новое действие для кнопки с помощью панели дополнительных действий, выбрав действие «Добавить».

image

Заполним поля настройки действия: укажем наименование – «Пойду», в типе действия выберем «Действие», в Модуле пользовательского интерфейса – «Вызвать алгоритм».

image082

Создадим дополнительные параметры действия с помощью кнопки «Создать» ниже.

image083

В появившемся окне заполним поле наименование – «Регистрация на мероприятие».

В поле «Алгоритм» создадим новый алгоритм для кнопки, для этого раскроем панель дополнительных действий и выберем «Добавить».

image084

Создадим алгоритм «Алгоритм регистрации участника» [REG_PARTICIPIANT_ALG], базовый тип объектов – «Мероприятия». После нажатия кнопки алгоритм будет проверять записан ли пользователь на мероприятие, если да, то будет появляться уведомление от Системы о том, что он уже зарегистрирован на мероприятие, если нет – пользователь станет участником мероприятия и получит уведомление об этом.

Заполним поле формулы алгоритма:

image

Для этого используем следующие функции:

  • var – объявление (создание) новой переменной на уровне алгоритма;

  • count – функция подсчета количества элементов, вводится вручную;

  • attr - функция вставки значения атрибута в алгоритм;

  • attrByVar - Возвращает значение атрибута экземпляра заданного типа посредством объявленной ранее при помощи функции var переменной;

  • if - Оператор реализующий условие: если выражение (condition) возвращает значение true, то выполняются операторы блока { };

  • forEach - Оператор для реализации цикла FOR по коллекции;

  • currentUser.Атрибут - Функция возвращает значение атрибута текущего пользователя Системы;

  • currentObject - определение текущего типа объектов;

  • return - Возвращает значение указанного объектов;

  • newInstance - функция создает новый экземпляр заданного типа объектов;

  • messageBox – функция создания уведомления;

  • sendPopUpMsg - Автоматическое формирование всплывающего информационного сообщения для текущего пользователя.

Пошагово заполним поле формулы алгоритма:

  1. С помощью функции var добавим переменную check_req и присвоим ей значение false. Эта логическая переменная указывает на то, зарегистрирован ли текущий участник на выбранное мероприятие; image

  2. Для того чтобы избежать дублирования записей, зададим условие с помощью функции if на проверку существования записи в типе объектов «Заявки участников». В условии с помощью клавиатуры введем функцию count, а в качестве параметра с помощью функции attr укажем атрибут «Заявки участников». Закончим условие с помощью клавиатуры; image087

  3. В блок операторов для выполнения функции if, добавим цикл forEach по коллекции типа объектов для того, чтобы перебрать все существующие записи. В качестве параметра для цикла укажем тип объектов «Заявки участников» с помощью функции attr; image088

  4. В тело цикла добавим условие if, которое будет сопоставлять код участника из коллекции и код текущего пользователя. В условии с помощью функции attrByVar передадим код участника из коллекции entry: image089 Во второй части условия с помощью функции «Атрибуты текущего пользователя» укажем код для сравнения; image090

  5. Заполним тело условия в случае совпадения кодов пользователей: с помощью функции var выберем из списка доступных переменную check_req и присвоим ей значение true;

  6. Настроим вывод автоматического информационного сообщения для участника об успешной регистрации на мероприятие, воспользовавшись функцией sendPopUpMsg: в параметрах укажем «0» – значение цвета уведомления(красный), и в кавычках впишем текст сообщения уведомления – «Вы уже зарегистрированы на мероприятие»;

  7. Добавим новое условие в алгоритм, которое будет проверять отсутствие регистраций на мероприятие или отсутствие регистрации на мероприятие у текущего пользователя. В этом случае будет создаваться новая запись в типе объектов «Заявки на мероприятие». Зададим условие аналогично первому условию, используя ручной ввод и функцию attr;

  8. В блок операторов к выполнению функции if с помощью функции var создадим новую переменную new_req, которой с помощью функции newInstance присвоим значение типа объектов «Заявка» для создания экземпляра; image091

  9. С помощью функции attrByVar c выбранным признаком «Установить значение» определим атрибуты, которым нужно присвоить новое значение. Первый параметр указывает на изменяемый атрибут, второй параметр указывает на значение, которое приобретает указанный атрибут. Для атрибута «Мероприятия» установим значение текущего объектов с помощью функции attr, а для атрибута «Участник» воспользуемся функцией «Атрибуты текущего пользователя»;

  10. Воспользуемся функцией save для сохранения значений объектов, в качестве параметра укажем существующую переменную new_req с помощью функции var;

  11. Настроим вывод автоматического информационного сообщения для участника об успешной регистрации на мероприятие, воспользовавшись функцией sendPopUpMsg: в параметрах укажем «2» – значение цвета уведомления(синий), и в кавычках впишем текст сообщения уведомления - “Регистрация прошла успешно”.

Сохраним настройки алгоритма по кнопке «Ок». Вернемся к настройке параметров кнопки. В разделе Настройка сохранения объектов настроим поля следующим образом:

  • Сохранять объект – Да;

  • Порядок сохранения объектов - После выполнения алгоритма.

image092

Сохраним изменения для действия по кнопке и в поле виджета «Кнопка» установим флаг «Активна в режиме чтения» в редакторе визуала.

image

Сохраним изменения с помощью кнопки «Ок» на панели «Элементы».

Настроенный визуал мероприятий для участников выглядит следующим образом:

image008

На этом настройка визуалов в рамках практикума «Система регистрации на мероприятия» завершена.