Построение отчета о статусе устройства

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

В этом уроке рассказывается, как создать отчет, который включает историю определенного события, сгенерированного устройством. Мы используем терминал учета времени, который подключен к SberMobile через Агент.  Мы не рассматриваем тему подключения терминала к серверу в этом уроке, мы предполагаем, что он  уже находится в режиме online, и его видит система.

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

1. Создание нового отчета

Чтобы создать новый отчет, найдите узел Отчеты () в системном дереве. Щелкните правой кнопкой по нему и выберите Создать новый отчет ():

Можно также дважды щелкнуть по узлу Отчеты, чтобы запустить действие Создать новый отчет, поскольку это действие по умолчанию в контексте Отчеты.

В окне Свойства отчета:

  • Установите в поле Имя trevents
  • Установите в поле Описание Time Recorder Events

А теперь нужно установить наиболее важный параметр отчета - Выражение данных источника. Это выражение говорит SberMobile Server, как и где получить данные для заполнения в шаблоне отчета. На этапе создания отчета он также используется для получения данных для автоматического создания шаблона отчета.

Мы будем использовать функцию получить, определенную в контексте События для сбора истории событий для отчета. Эта функция возвращает историю события в форме таблицы, одна запись на экземпляр события.

Функция принимает четыре параметра (см его описание), но мы определим лишь первые два, а для остальных оставим значения по умолчанию.

В нашем случае первый параметр - это путь контекста устройства. Мы можем определить этот путь, если найдем терминал в Системном дереве и проверим его всплывающую подсказку (tooltip). Его путь - users.admin.deviceservers.agent.devices.3_0:

Вы можете щелкнуть правой кнопкой мыши по устройству и выбрать Копировать из его меню контекста, чтобы скопировать его путь контекста в буфер.

Вы можете создать отчет, который включает события из множества терминалов. Следует лишь изменить путь контекста к маске, указывающей на множество устройств. Например, чтобы включить события от всех терминалов пользователя admin, измените Контекстную маску на users.admin.deviceservers.*.devices.*.

Второй параметр - это имя события, созданного терминалом. Вы можете найти его в журнале событий. Есть специальная колонка Событий, которая отображает имена событий. В нашем случае событие называется событием.

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

  • Установите в поле Выражение данных источника {events:get("users.admin.deviceservers.agent.devices.3_0", "event")}

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

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

Кликните OK, чтобы продолжить. Должно открыться окно Свойства шаблона отчетов.

2. Настройка свойств шаблона отчетов

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

  • Установите в качестве Заголовка отчета Time Recorder Events.
  • Измените Ориентацию на Портрет, поскольку у нас будут только три колонки в нашем отчете и данные будут лучше соответствовать в этом случае.
  • Откройте таблицу Видимые поля и уберите выделение со всех полей за исключением тех, которые должны появиться в отчете. В нашем случае мы оставим Id (идентификатор), Direction (направление) и Date (дату):

А теперь кликните дважды OK, чтобы продолжить. Сервер сгенерирует шаблон отчетов, и система предложит отредактировать его. Кликните Да:

Запустится редактор отчетов, и теперь можно отредактировать только что сгенерированный шаблон.

3. Редактирование шаблона отчетов

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

Во-первых, установите размер отчета от 100 до 200%. Это облегчит последующее редактирование:

А теперь дважды кликните по заголовку первой колонки и измените его User ID. Смените аналогичным образом заголовок третьей колонки на Event Date/Time.

А теперь выберите File > Quit, чтобы выйти из Редактора отчетов. Подтвердите сохранение изменений шаблона отчетов.

Новый узел Отчет () будет видимым в Системном дереве:

4. Просмотр отчета

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

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