.jpg)
В статье рассмотрим как можно создать свою гибкую систему систему отчетов в личных кабинетах на сайте и постепенно ее развивать с использованием MS SQL.
Представим, что на входе мы имеем некую учетную систему предприятия, которая хранит данные в СУБД SQL Server.
Требуется создать многоуровневую систему отчетов для руководителей и сотрудников предприятия.
У каждого сотрудника свой личный кабинет, в котором он сможет анализировать различные показатели, извлекаемые из базы данных основной учетной системы компании.
Должны быть в системе простые средства для быстрого проектирования новых ответов, а также возможность внесения оперативных правок в логику и внешний вид отчетов.
Система должна иметь возможность проваливаться вглубь показателей, возможность показывать данные в графическом и табличном виде.
Решение заключается в следующем.
Мы располагаем нашу платформу Falcon Space рядом с учетной базой SQL Server, даем необходимые доступы и можем напрямую обращаться к данным этой базы, но выводить их в личном кабинете пользователя.
Как вариант, можно давать не прямой доступ к БД учетной системы, а только к слою некоторых Views или хранимых процедур.
Falcon Space позволяет легко построить таблицу, форму, график, диаграмму и другие элементы на основе SQL кода. Для создания отчетов нужно знать только SQL и чуть HTML (разметка на Bootstrap).
Как может выглядеть таблица?
Эта таблица внедрена прямо в статью (для ее вставки требуется только добавить небольшой сниппет, а в целом она используется на демостенде - /tst-customers):
<div class="as-table" data-code="tst-customers" data-itemid="0"></div>
Для работы этой таблицы требуется написать вот такую хранимую процедуру (она создается и пишется по шаблону) - https://pastebin.com/Vc9ZB5E4
Кратко о возможностях платформы в плане создания красивых и функциональных отчетов:
Вы можете посмотреть возможности компонентов и примеры кода на техническом демостенде платформы - https://demo.web-automation.ru/list/watch
Таким образом, вы можете поставить приложение Falcon Space на свой сервер, хостинг или в локальную сеть и дать возможность пользователям входить в свой личный кабинет по логину и паролю и работать с отчетами. Данные будут подгружаться из базы данных SQL Server вашей учетной системы.
Также есть возможность создавать отчеты и для других баз данных, например отчеты MySQL или отчетность для PostgreSQL. В этом случае запросы SQL будут писаться через технологию Linked Server.
Пример подобного использования для создания отчета MySQL - /tst-mysql.
Далее вы можете добавлять отслеживание действий пользователей. Кто какие отчеты смотрит, возможность давать комментарии по отчетам, создавать задачи на базе отчетов для других сотрудников.
Вы можете постепенно добавлять в систему отчетности помимо просто анализа данных активные действия - создание задач, смена статусов сущностей и т.д. Таким образом личный кабинет может служить и для других задач помимо отчетности SQL.
При этом не требуется сразу создавать большую систему - вы можете начать с простых 3-5 отчетов и постепенно добавлять новые отчеты, создавать новый функционал параллельно с использованием системы.
Все таблицы, формы, графики создаются прямо в личном кабинете администратора. Изменения кода SQL по отчетам мгновенно доставляются пользователям без длительного цикла деплоя.
Согласен, есть риски внесения ошибок, но при этом также есть и возможность быстрых правок и улучшений.
Система создается и используется параллельно. Невозможно на начальном этапе становления системы знать, что нам потребуется завтра. Важна возможность быстрой адаптации и шлифовки системы под вновь возникающие потребности бизнеса.
Система имеет множество различных возможностей (см. каталог возможностей компонентов веб-платформы с примерами кода), их можно постепенно внедрять. Для большинства возможностей требуется знать только SQL и основы HTML.
Некоторые из них потребуют знания JSON, Java Script.
Мы проектировали платформу с учетом того, что 95% функционала будет создаваться с использованием только связки SQL + HTML, чтобы снизить нагрузку на прикладного программиста и максимально уменьшить трудоемкость сопровождения решения на Falcon Space, а значит и себестоимость работ.
Также смотрите статью из документации Falcon Space - как создать интерактивный аналитический отчет.
Стоимость платформы и условия покупки описаны здесь - /prices
Вы можете самостоятельно развивать свою систему личных кабинетов для отчетности SQL Server, либо возможен вариант подряда по работам над вашей системой.
Важно понимать, что у вас будет полный контроль над своим экземпляром Falcon Space. Это не SAAS решение. Приложение лежит на вашем сервере, и оно никак не "общается" с "центром", т.е. работает полностью независимо от внешней среды.
Все, что ему нужно - это локальная или удаленная база SQL Server.
Для работы Falcon Space более чем достаточно возможностей бесплатной версии SQL Server - SQL Server Express Edition.
Вы можете самостоятельно изучить, как работать на базе платформы. Для этого используйте техническую документацию по платформе /docs, а также смотрите обучающие ролики на Youtube #falconstart.
Отдельный вид документации - это демостенд https://demo.web-automation.ru/list/watch.
В нем приведены различные возможности компонентов в виде наглядного рабочего примера с соответствующим кодом на SQL.
Большая часть работы разработчика происходит в панели управления администратора-разработчика.
Мы используем SQL Server Management Studio только для проектирования структуры БД. Все остальное - в кабинете Falcon Space:
Платформа Falcon Space позволяет создать систему отчетности SQL для различных баз данных. Проще всего это сделать с SQL Server.
Систему отчетности на Falcon Space можно легко превратить в полноценные личные кабинеты сотрудников для автоматизации неких бизнес-процессов предприятия.
Для поддержки системы достаточно 1 технического специалиста, владеющего MS SQL и базовыми навыками HTML - это кардинально снижает затраты на развитие IT-инфраструктуры компании.
Если вас заинтересовала платформа, напишите пожалуйста в чате справа внизу на сайте.
P. S. На данный момент у нас открыта вакансия работы и подработки для программистов SQL удаленно.