1 - Форма ввода данных

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

Этот модуль реализован как отдельное веб-приложение портал «Портал форм ввода данных» (далее — «Портал ФВД»), имеющий структуру аналогичную аналитическому порталу, включающую:

  • список источников данных единый для обоих порталов;
  • список таблиц (аналог наборов данных);
  • список форм (аналог отчетов);
  • список пользователей общий с Аналитическим порталом, но на Портале ФВД пользователю предоставляются дополнительные права на группы форм и формы ввода данных.

Схема взаимодействия Аналитического портала и Портала ФВД и потоки данных представлены ниже:

Переход между Аналитическим порталом и порталом ФВД происходит по ссылке в меню:

Активация модуля форм ввода данных

На Аналитическом портале перейдите в режим «Администрирования» в раздел «Источники» (см. рисунок ниже, 1). Выбрать источник и в его настройках включить настройку «Форма ввода». (см. рисунок ниже, 2). Сохранить выбранные настройки (см. рисунок ниже, 3):

В результате на Портале ФВД будет доступна работа с таблицами этого источника.

Меню и навигация на портале ФВД

Доступ к формам ввода данных осуществляется через главное меню. Формы ввода в меню должны быть сгруппированы в разделы (группы).

Для формы ввода должно настраиваться и выводиться наименование и рисунок. Внешний вид пользовательского режима:

Меню администрирования Портала ФВД, имеет структуру аналогичную структуре Аналитического портала:

  • «Таблицы» (аналог наборов данных) — создание структуры для хранения данных в базе источника данных;
  • «Формы» (аналог отчетов) — создание форм для доступа к данным таблиц;
  • «Компоненты» – включение/отключение разных вариантов полей и управляющих элементов формы, которые будут использоваться при конструировании форм;
  • «Профили доступа» — настройка специальных профилей, объединяющих права доступа к формам ввода данных (см. этот раздел);
  • «Пользователи» — отображаются пользователи Аналитического портала, здесь пользователю можно присвоить профиль доступа к формам ввода данных (см. этот раздел).

Заполнение данных в форме ввода

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

Макет интерфейса представлен на рисунке ниже: в таблице отображаются введенные пользователем строки; для редактирования используются соответствующие элементы управления см. рисунок ниже, п.1, 2:

При добавлении записи открывается форма ввода данных, внешний вид которой настроен на предыдущем шаге. Макет интерфейса для редактирования записи представлен на рисунке:

Пользователь последовательно заполняет поля. Переход между полями ввода осуществляется при позиционировании на поле ввода или по нажатию «Tab» на клавиатуре.

Обязательные для заполнения поля в интерфейсе отмечены знаком «*».

При нажатии кнопки «Отправить данные» осуществляются следующие действия:

  • проверка заполнения обязательных полей; -проверка значений полей на соответствие правилам верификации и маске ввода (если для поля эти правила настроены);
  • проверка формата данных для введенных полей;
  • проверка записи по ключу уникальности, для полей «бизнес-ключ» в таблице;
  • Если все проверки прошли успешно, то данные записываются в таблицу хранилища, иначе Пользователю сообщается о обнаруженных ошибках.

Использование данных таблицы на Аналитическом портале

Для дальнейшего использования данных из таблиц и справочников, заполненных с помощью форм ввода, нужно дополнить соответствующие наборы данных. Для удобства получения сведений о названиях таблиц, полей и связей между таблицами, в форме редактирования таблицы отображается SQL-запрос, который можно скопировать и использовать для формирования набора данных на Аналитическом портале. Запрос можно получить только после того, как таблица создана в хранилище данных:

Права доступа к порталу ФВД

Портал ФВД — это модуль, подчиненный Аналитическому порталу. Управление ролями и правами пользователей для использования Портала форм ввода данных осуществляется на Аналитическом портале.

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

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

Пользователь с ролью «Аналитик» кроме прав на ввод данных имеет права на создание структур для хранения данных (таблиц) и настройку форм ввода.

Настройка профилей доступа

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

Перейти в интерфейс управления профилями доступа: «Администрирование» / «Профили доступа»:

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

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

Предоставление пользователям доступа к конкретным формам ввода

Нажать кнопку «Профиль» и в открывшемся окне выбрать нужные пользователю профили. Нажать кнопку «Сохранить»:

2 - Формирование таблицы для хранения данных и настройка свойств полей данных в форме ввода

С помощью интерфейса «Администрирование» / «Таблица» можно создать таблицу в хранилище. Процесс такого создания односторонний. Удалить или добавить поля, поменять тип полей в уже созданной таблице нельзя, а также невозможно редактирование некоторых свойств полей. Для изменения или добавления полей стоит удалить таблицу (после создания таблицы, вместо кнопки «Создать в хранилище» будет «Удалить из хранилища») и создать заново с измененными данными. Поэтому процесс создания таблицы разделен на два этапа:

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

Будьте внимательны! Перед отправкой таблицы в хранилище проверьте все настройки.

Интерфейс для настройки полей таблицы и их свойств

Интерфейс для настройки полей таблицы и их свойств представлен на рисунке:

Интерфейс обеспечивает функции:

  • здавать базу данных, в которой создавать таблицу и имя таблицы (см. рисунок выше, пп.1, 2);
  • настраивать поля таблицы, задавать их типы и свойства (см. рисунок выше, пп.3, 4, 5);
  • тпы полей выбирать из списка: «строка», «число», «дата», «список значений»;
  • настраивать свойства полей: «Наименование» поля в форме ввода; «Значение по умолчанию», «Подсказка» по заполнению поля, признак «Выводить подсказку», признак «Обязательный», признак «Запрет редактирования», «Описание»; «Условия проверки для значений»;
  • в соответствии с полями и их свойствами по кнопке «Создать в Хранилище» формировать таблицу в хранилище данных ( рисунок выше, п.6) для сохранения введенных пользователем данных;
  • «Получить SQL-запрос» для использования на Аналитическом портале в качестве набора данных.

Рекомендации по выбору названий таблиц и полей в таблицах:

  • Определить единые правила названия таблиц и полей для проекта;
  • В названиях таблиц и полей в таблицах можно использовать латинские и кириллические буквы, нельзя использовать пробелы, в качестве разделителя можно использовать символ «_», можно использовать цифры, но название не должно начинаться с цифры;
  • Для удобного поиска таблиц в хранилище рекомендуется давать названиям таблиц одинаковый префикс, указывающий, что эта таблица редактируется при помощи формы ввода данных (например, «FVD» или «ФВД»), дополнительно можно добавлять указатели, что это справочник или таблица относится к определенному бизнес-разделу.

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

Структура данных таблицы обязательно включает внутренний идентификатор записи (с пометкой «id», это поле не редактируется). В некоторых ситуациях для таблицы дополнительно нужно определить бизнес-ключ, т.е. набор полей таблицы, сочетание которых должно быть уникально (частный случай — это бизнес-ключ, состоящий из одного поля). Создать две записи с одинаковым ключом нельзя.

Установить поля бизнес-ключи в таблице можно в столбце «Ключ». После установки флага для всех полей бизнес-ключа, нужно сформировать индексы, нажав кнопку «Применить Бизнес-Ключи»:

Проверка уникальности значений будет происходить в момент создания или редактирования записи в таблице через форму ввода данных. При попытке записать строку неуникальную по бизнес-ключу — пользователю выводится сообщение, подсвеченное красным: «Невозможно добавить или изменить запись, так как ключ записи будет не уникальным»:

Настройка дополнительных свойств поля

Информация о дополнительных свойствах поля (см. первый рисунок, п.5) открывается при выборе этого поля в таблице (см. первый рисунок, п.4);

Настройка дополнительных свойств поля:

  • «Выбор из справочника» — можно установить ссылку на справочник, также настроенный как одна из таблиц форм ввода (при установке этой настройки значения этого поля будут выбираться из списка);
  • «Поле справочника» — имеет смысл, если выбран справочник, здесь нужно указывает поле, которое будет отображаться в списке выбора;
  • «Значение по умолчанию» — можно установить значение по умолчанию, для справочника можно указать значение поля, которое выбрано в пункте «Поле справочника». Ограничения:
    • значение по умолчанию должно соответствовать типу и размерности поля , в противном случае они не запишутся в БД;
    • если у поля настроена ссылка на справочник, то значение по умолчанию должно соответствовать одному из значений управляющего поля справочника , в противном случае на форму выводится пустое поле с предупреждением отсутствия значения в справочнике;
  • «Подсказка по заполнению поля» — можно ввести текст, который будет отображаться для пользователя во время ввода данных на Портале ФВД;
  • «Выводить подсказку» — включает или выключает вывод подсказке;
  • «Краткое описание поля» — дополнительное поле описания.

3 - Форма ввода данных. Использование существующей таблицы.

Форма ввода данных. Использование существующей таблицы

Функционал позволяет использовать существующую таблицу в качестве источника для Формы ввода данных.

Привязка таблицы производится следующим образом.

  1. Из аналитического портала следует перейти во вкладку «Формы ввода данных».
  2. Перейти в «Администрирование«.
  3. Выбрать пункт «Таблицы».
  4. Добавить новую таблицу (имя таблицы желательно указать аналогичное), сохранить.
  5. Нажать кнопку «Выбрать», которая появится рядом с кнопкой «Добавить».
  6. Из выпадающего списка выбрать искомую таблицу.
  7. Настроить отображение полей и справочников стандартными методами.
  8. Нажать кнопку «Сохранить».

Данный функционал имеет ряд ограничений:

  • таблица должна иметь Primery kay, иначе она не будет отображаться в выпадающем списке;
  • Primery kay, должен быть уникальным;
  • поля справочников должны быть числовыми, для последующей привязки справочников к этим полям;
  • в наборе данных к запросу будет необходимо добавить таблицы справочники, для отображения значений.

4 - Настройка форм ввода данных в режиме конструктора

Используя поля созданной таблицы, в визуальном конструкторе можно настроить внешний вид формы ввода данных и определить дополнительные правила заполнения полей.

Меню форм ввода данных

Интерфейс управления формами ввода данных аналогичен интерфейсу управления отчетами на Аналитическом портале: формы объединяются в группы, их так же, как и отчеты, можно копировать, удалять, изменять. Группы можно показывать в меню, либо выключить. Порядок размещения на экране регулируется стрелками и индексом сортировки (подробное описание подобного интерфейса см. п. 5):

Настройка формы ввода данных

При открытии новой формы по умолчанию открывается форма просмотра строк таблицы (см. рисунок выше, 1). Поля в этой форме выстраиваются в порядке их добавления при создании таблицы. Изменить порядок полей можно при настройке формы ввода данных. Открыть форму ввода можно по кнопке «Добавить запись» (см. рисунок выше, 2).

Любую, уже созданную запись формы можно скопировать, отредактировать или удалить при наличии достаточных прав (см. рисунок выше, 1).

Сверху, для удобства пользователей выводятся фильтры, помогающие в поиске по строкам. Возможна фильтрация по пользователю, который добавил запись либо можно выбрать поле и для него указать интересующее значение (см. рисунок выше, 3).

Новую форму ввода нужно открыть в режиме конструктора (переход между режимами аналогично отчетам на Аналитическом портале):

Для первичного заполнения формы используется элемент управления, при нажатии на который все поля ввода из созданной ранее таблицы размещаются на форме ввода (см. рисунок ниже, п.1). Макет, на котором представлена кнопка для автозаполнения и пример заполненной формы ввода данных см. рисунок ниже (кнопка отмечена п.1). Для удобства настройки в названиях полей формы символ «_» в исходном названии автоматически заменяется на пробел: На форму возможно добавлять компоненты типа текстовых полей и картинок, используя стандартный для Аналитического портала элемент управления (см. рисунок ниже п.2).

В интерфейсе для компоновки формы возможно размещать и редактировать:

  • заголовок формы ввода (см. рисунок выше, п.1);
  • текстовые поля с наименование полей формы ввода (см. рисунок выше, п.2);
  • поля для ввода данных (см. рисунок выше, п.3). Поля создаются на форме с типом и свойствами, заданными при формировании таблицы хранилища данных, при необходимости можно настроить их свойства и внешний вид;
  • кнопки для сохранения и отмены сохранения размещаются на форме при её создании и их наименование, размеры, оформление и размещение могут редактироваться пользователем (см. рисунок выше, п.4, 5).

Для сохранения изменений формы ввода служит кнопку «Сохранить форму» (см. рисунок выше, п.6).

Настройки элементов форм ввода

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

«Очередность полей» — если требуется изменить порядок размещения полей в табличном представлении, то это можно сделать меняя номер в очередности полей. Размещение полей и их подписей на форме ввода изменяется вручную.

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

  • «Типы валидаторов»:
    • «Обязательное поле» — проверяет, что поле заполнено;
    • «Маска заполнена» — проверяет, что значение соответствует выбранной маске;
    • «Диапазон» — работает для числовых полей, выдает два условия и поля для заполнения значений;
    • «Диапазон дат» — работает для полей типа дата, выдает два условия и поля для заполнения значений.

«Маска» предлагает варианты маски для настройки поля. «#» — обозначает, что здесь должна быть цифра:

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

«Фильтрация» — позволяет отфильтровать данные для списка. Фильтр можно установить:

  • по другому полю из справочника;
  • выбрать галочками значения поля, нужные для вывода «.»:

«Информационные поля» — для выпадающего списка можно отобразить другие поля из справочника. Поля выводятся под списком с разделителем «|». По умолчанию эти поля выводятся под элементом выпадающего списка. Для отображения этих полей в самом списке выбор, нужно включить настройку «Показ внутри меню». При включенной настройке «Показ внутри меню» можно осуществлять поиск по значению основного поля и также по выбранным информационным полям:

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

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

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

  1. чтобы поля ссылались на общий справочник. Например, есть справочник должностей:

На него ссылаются поля «Отдел» и «Должность» справочника сотрудников:

  1. у полей проставить флаг «Вкл.» около «Автозаполнение по общему справочнику» (по умолч. «Вкл.»).

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

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

5 - Форма ввода данных. Компонент iframe.

Компонент iframe для формы ввода данных

Компонент iframe позволяет отображать веб-страницы в формах ввода данных.

Примечание: предварительно необходимо «разрешить» на стороне настроек окружения серверного оборудования публикацию домена через iframe.

Варианты реализации:

  • заданная по умолчанию страница, в настройках iframe;
  • открытие страницы для каждой отдельной записи по ссылке.

Реализация iframe на ФВД:

  • добавить новый элемент;
  • зайти в режим конструктора;
  • выбрать элемент iframe и перетащить на экран;
  • перейти в «Свойства IFRAME»;
  • добавить начальный URL (опционально) — страница будет открываться по умолчанию;
  • из списка «Структура данных» выбрать поле являющееся ссылкой и перетащить его на iframe — будет отображаться страница, ссылка на которую будет взята из выбранной для редактирования строки;
  • сохранить элемент;
  • сохранить форму.

6 - Варианты использования форм ввода данных

Данные, введенные вручную через Портал ФВД, могут использоваться в разных ситуациях. В зависимости от ситуации настройка может различаться. Ниже описаны случаи использования.

Ввод данных справочников

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

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

Для корректировки ранее введенной записи нужно открыть ее из списка и внести изменения:

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

Ввод целевых значений показателей

Помимо справочников в формах ввода можно вводить целевые показатели с использованием данных из справочников. Целевые показатели в последствии могут быть использованы для сравнения с фактическими данными (варианты визуализации для сравнения представлена на следующих трёх рисунках (панель показателей, спидометр и столбчатая диаграмма)):

Для таблицы целевых показателей разрабатывается специальная форма.

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

Для корректировки ранее введенной записи нужно открыть ее и внести изменения.

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

Форма списка значений показателей представлена на рисунке:

Если поле в таблице ссылалось на справочник, то значение в этом поле нужно будет выбирать из списка (поле «ОИВ» Формы ввода записи в таблицу целевых показателей):

Для использования таблицы целевых значений в отчетах необходима дополнительная настройка наборов данных для отчетов.

Корректировка фактических данных

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

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

  • Включить флаг «Коррекция данных» у источника данных:
    • зайти на вкладку настроек в раздел «Источники» (см. рисунок ниже, 1);
    • выбрать источник данных (см. рисунок ниже, 2);
    • включить флаг «Коррекция данных» (см. рисунок ниже, 3);
    • нНажать кнопку «Сохранить», для сохранения изменений (см. рисунок ниже, 4):
  • Создать корректирующую таблицу в наборе данных:
    • зайти в настройках в раздел «Наборы данных» и выбрать источник и набор данных, у которого необходимо включить функцию корректировки данных (см. рисунок ниже);
    • поставить флаги в таблице набора данных (см. рисунок ниже, 1):
      • «Ключ» – поле/набор полей, по которому будут подтягиваться изменения из корректирующей таблицы;
      • «Корр.» – поля, которые можно будет скорректировать (корректировать можно только числовые поля).
    • нажать кнопку «Создать» для создания корректирующей таблицы (см. рисунок ниже, 2);
    • нажать кнопку «Проверить запрос» (см. рисунок ниже, 3);
    • включить флаг «Коррекция данных» (см. рисунок ниже, 4);
    • нажать кнопку «Сохранить» для сохранения изменений (см. рисунок ниже, 5). После успешного сохранения внизу экрана отобразиться надпись: «Набор данных успешно сохранен»:
  • Зайти на портал «Форма ввода данных» путем нажатия на одноименную ссылку в меню управления:
  • На портале ФВД в разделе «Таблицы» проверить, что корректирующая таблица создалась (название «dc_» + название набора данных, к которому создавалась). Редактирование основных свойств полей производится в наборе данных на Аналитическом портале:
Рисунок 11. Корректирующая таблица на портале ФВД

Рисунок 11. Корректирующая таблица на портале ФВД

  • Создать таблицу в отчете:
    • зайти в отчет на аналитическом портале;
    • добавить панель, нажав кнопку (см. рисунок ниже, 1), настроить элемент отображения, нажав кнопку на добавленной панели (см. рисунок ниже, 2);
    • в открывшемся окне настройки элемента выбрать тип отображения — «Таблица» (см. рисунок ниже, 4), набор данных (см. рисунок ниже, 3), поля (см. рисунок ниже, 5) и нажать кнопку «Сохранить» (см. рисунок ниже, 6) для сохранения настроек:
  • Корректировка данных:
    • нажать на значок «Режим коррекции данных» в правом верхнем углу таблицы (см. рисунок ниже, 1);
    • после действия появится столбец со значками корректировки данных. Выбрать запись, которую нужно отредактировать и нажать соответствующий значок (см. рисунок ниже, 2);
    • после действия появится форма коррекции данных. Необходимо заполнить изменяемые поля и нажать кнопку «Сохранить». После действия к основной таблице подтянутся данные из корректирующей таблицы по ключу:

7 - Открытие формы добавления новой записи

При разработке дашбордов иногда возникает необходимость добавить новую строку в таблицу формы ввода данных. Для того чтобы открыть форму создания новой записи по кнопке, в ссылку перехода необходимо добавить параметр ?showForm=true.

Например, если нажатие на кнопку должно открывать форму добавлении записи в ФВД, которая находится по ссылке:
«https://users.modusbi.ru/fvd/form/8»,
то URL ссылки должен иметь вид:
«https://users.modusbi.ru/fvd/form/8?showForm=true».