Предпочитаете использовать красивый Dashboard? Руководитель не хочет заходить в 1С, чтобы просматривать отчеты? Отчеты должны выглядеть «живыми»? Тогда эта статья может оказаться вам полезной.
Чем же плохи отчеты в 1С?
В последних версиях платформы 1С достаточно удобная и развитая система отчетности. Так называемая Система Компоновки Данных, или СКД, является удобным и мощным инструментом быстрой разработки отчетных форм. Но остаются вопросы итогового представления результата работы СКД.
Как правило, это обычный «Табличный документ» 1С, возможности которого не претерпевали существенных изменений еще со времен версии 1С 7.7. Универсальность данного элемента, конечно, вызывает уважение, но, так или иначе, графические возможности современных пакетов построения отчетности существенно превзошли то, что «можно выжать» из табличного документа.
Вторая проблема — это тот факт, что веб-технологии плотно укрепились в нашей жизни. Если для повседневной работы и ввода большого количества информации данные технологии не всегда удобны, то их графические возможности для оформления отчетов поражают воображение.
В 1С есть веб-клиент, но его принципиальные особенности в том, что все оформительские функции и возможности интерфейса инкапсулированы от прикладного разработчика. Кроме того, веб-приложение 1С все-таки построено по принципу полноценного клиента, а не набора отдельных модулей.
Это принципиально отличает его от большинства современных систем отчетности. Если вы, к примеру, хотите посмотреть отчет по продажам, то вы запустите полноценный клиент 1С, затем нажмете кнопку «сформировать» и только потом увидите результат отчета в том же окне клиента 1С. Представителей бизнеса, конечно, это не всегда устраивает.
Итак, получается, для того, чтобы видеть красивые, быстрые и независимые от 1С отчеты, необходимо использовать сторонний инструментарий. Но любому инструментарию построения отчетности, так или иначе, нужны данные, которые с его помощью будут представлены в удобном для пользователя виде. Поэтому нам с вами прежде всего необходимо разобраться, каким образом эти данные из 1С получить.
Способы получения данных из систем на базе 1С
На эту тему написаны тома литературы. Вариантов бывает великое множество. Но все они, по сути, сводятся к пяти базовым технологиям:
- 1С выгружает данные в XML/CSV/JSON/DBF/XLS и прочее, система отчетности получает данные из файлов и загружает их в память/свою БД.
- Создается DWH. 1С наполняет его данными, система отчетности использует для построения кубов и из них уже отчетов.
- Система отчетности создает COM объект клиента 1С и получает из 1С данные «нативными» средствами.
- Система отчетности получает данные из 1С посредством обращения к веб-сервисам, экспортируемым 1С.
- Система отчетности получает данные из 1С посредством прямого обращения к БД 1C на уровне СУБД
Рисунок 1. Отчет, созданный с помощью MS Reporting Services
Рисунок 2. Отчет, созданный с помощью SAP Crystal Reports
Рисунок 3. Внешний вид отчетов QlikView
Чтобы видеть красивые, быстрые и независимые от 1С отчеты, нужно использовать сторонний инструментарий
Давате постараемся сравнить их основные достоинства и недостатки. Результаты моего сравнения приведены в таблице 1.
Итак, выбор технологии неочевиден и зачастую зависит от многих факторов, будь то необходимость получения данных online и анализа больших объемов данных, требования к ОС и лицензиям.
На мой взгляд, наиболее универсальным является последний вариант, хотя и расходится с основной методологией 1С. Конечно, в случае небольших объемов данных гораздо практичнее использовать веб-сервисы, в случае очень больших — создавать DWH, а если нет компетенции по SQL в компании, то прямой доступ можно заменить на COM.
После того, как мы с вами определились с получением данных, самое время решить, какой «движок» отчетности использовать.
Наиболее популярные системы отчетности
Итак, какие системы отчетности мы с вами сможем использовать? Вариантов не так много, как кажется на первый взгляд:
- MS Reporting Services
- SAP Crystal Reports
- Qlik View, MS Power BI (Desktop OLAP)
- JavaScript-библиотеки: YARG — для отчетов, Amcharts и Hightcharts — для диаграмм.
Вариант |
Достоинства |
Недостатки |
Выгрузка в файл |
> Простота разработки на стороне 1С |
> Данные получаются не оп!ге > На стороне системы отчетности нужна отдельная БД > Необходима отдельная процедура загрузки данных в систему отчетности > Сложность модификации подобной системы |
DWH |
> Сложность и дороговизна разработки > Данные получаются не оп!ге |
> Высокая скорость работы с большими объемами данных > Независимость от архитектуры корпоративной информационной системы |
COM доступ |
> Со стороны 1С нет необходимости разработки > Использование для получения данных средств самой 1С > Достаточно высокая скорость доступа к данным > Получение данных оп!ге |
> Необходимость создавать COM объект, поддерживать соединение > Использует лицензию 1С > Только для ОС Windows |
Веб-сервисы |
> Универсальный протокол, поддерживаемый большинством систем отчетности > Возможность использования протокола ODATA для доступа к данным |
> Внутри используются протоколы HTTP и XML при больших объемах передаваемых данных могут быть проблемы > Большие объемы передаваемых вспомогательных данных > Расходуются лицензии 1С > При каждом вызове происходит установка соединения с 1С, что занимает время и ресурсы |
Прямой доступ SQL |
> Высокая скорость получения данных > Данные получаются оп!ге > Разработка только на уровне системы отчетности > Нет необходимости в дополнительных установках соединений и лицензиях |
> При изменении структуры метаданных системы необходимо модифицировать систему отчетности > Достаточно существенно привязана к существующей корпоративной информационной системе |
Полноценные «большие» OLAP-системы вида SAP BO, IBM Cognos и MS Analysis Services в данном случае мы рассматривать не будем, т.к. едва ли их можно называть «системами отчетности». Все-таки задачи внедрения BI-системы и построения красивых отчетов для руководства нужно разделять.
Рассмотрим их более детально по порядку.
Если есть время, ресурсы и соответствующие компетенции, то можно использовать бесплатные библиотеки и рисовать отчеты, до которых «готовым» системам еще далеко
MS Reporting Services
Поставляется как один из компонентов MS SQL Server. Данная система отчетности используется практически во всех современных продуктах Microsoft, включая MS Dynamics Ax и MS Dynamics CRM. Внешний вид отчета, созданного с помощью MS Reporting Services, представлен на рис 1.
В состав MS Reporting Services входит достаточно удобный и простой инструмент MS Report Builder, который позволяет создавать основные виды отчетов. Отчеты также можно создавать с помощью MS Visual Studio, где уже доступны расширенные средства.
Официальный сайт — [1]. Последняя версия использует все возможности HTML 5, в целом отчеты выглядят очень даже симпатично и в общем стиле Microsoft. Естественно, интегрируется с MS Power BI и MS SharePoint Server. Есть мобильная версия.
SAP Crystal Reports
Давно всем известная система отчетности. Пожалуй, одна из первых, что появились на свет. В 2003 году была куплена компанией Business Objects, которая, в свою очередь, в 2011-м была куплена компанией SAP.
Выглядят отчеты тоже достаточно симпатично (см. рис. 2).
Так же, как и для Microsoft Reporting Services, есть дизайнер отчетов и интеграционные дополнения для MS Visual Studio. В последней версии поддерживается HTML 5, есть мобильная версия. В общем, все, что нужно для полноценной системы отчетности. Разница лишь в цене. Если для пользователей MS SQL Server — Reporting Services, по сути, бесплатное дополнение, то Crystal Reports очень даже платная. Официальный сайт [2] сразу перенаправляет нас на страницу «SAP магазина».
Системы Desktop OLAP
MS Power BI и QlikView представляют собой один класс систем. Суть их работы заключается в создании куба «на лету» в оперативной памяти, что позволяет использовать как преимущества OLAP для анализа данных, так и достоинства получения данных непосредственно из источников, без создания DWH. Внешний вид отчетов Power BI соответствует отчетам MS Reporting Services. Внешний вид отчетов QlikView представлен на рис. 3.
Главный минус данных систем отчетности заключается в отсутствии развитых средств кастомизации итоговых отчетов. Выражаясь простым языком, эти системы — инструмент аналитика для анализа данных и предоставления руководству уже итогового результата. Официальный сайт
Рисунок 4. Внешний вид диаграмм HightCharts
Qlik — [3], Power BI — [4]. Обе системы достаточно недороги, кроме того, существуют бесплатные версии на одного пользователя.
Библиотеки JavaScript
Сразу стоит оговориться, что библиотеки JavaScript -это не готовые системы построения отчетности, в отличие от рассмотренных выше. Но в качестве отчетов для 1С они используются очень часто. Программный интерфейс данных библиотек достаточно удобен, что делает разработку отчетов с их помощью не таким трудоемким занятием, как может показаться на первый взгляд. Основные библиотеки можно назвать три:
> AmCharts [5]
> HightCharts [6]
> YARG [7]
На рис. 4 представлен внешний вид части диаграмм HightCharts, а на рис. 5 соответственно AmCharts. Как по мне, так внешний вид этих диаграмм даже симпатичнее, чем у SAP или Microsoft. И, что самое интересное, все это абсолютно открыто и бесплатно.
Удобного конструктора отчетности в этом случае, конечно же, нет, никакой штатной интеграции, естественно, тоже. Но возможности ничуть не уступают дорогим системам отчетности. Данные библиотеки уже нередко используются внутри решений 1С для придания отчетам 1С соответствующего внешнего вида [8].
Итак, выводы по системам отчетности тоже могут быть весьма разнообразными. Однозначного решения нет. Если есть время, ресурсы и соответствующие компетенции, то, конечно, можно использовать бесплатные библиотеки и рисовать отчеты, до которых «готовым» системам еще далеко. Но если есть ограничение во времени/ресурсах/финансах, а в компании повсеместно используются продукты Microsoft, то выбор тоже достаточно очевиден. Если же есть «специально обученный аналитик» и вся отчетность замкнута на нем, то ему в руки нужно всего лишь дать полноценный инструмент
[1] Официальная информация об MS Reporting Services — msdn.microsoft.com/ru-ru/library/ms159106(v=sql.120).aspx.
[2] Официальный сайт SAP Crystal Reports crystalreports.com
[3] Официальный сайт Qlik — http://global.qlik.com/ru
[4] Официальный сайт MS Power BI — https://powerbi.microsoft.com/ru-ru
[5] JavaScript-библиотека Amcharts — https://www.amcharts.com
[6] JavaScript-библиотека HightCharts — http://www.highcharts.com
[7] JavaScript-библиотека генерации отчетов YARG — https://github.com/Haulmont/yarg
[8] Пример использования библиотеки AmCharts для построения красивых диаграмм в отчетах из 1С — http://infostart.ru/public/225601
Источник: Журнал Системный администратор апрель 2016