Зачем пользователям 1С нужны внешние BI-системы? Ведь 1С разрабатывалась как самостоятельная программа для организации бизнес-процессов. 

В 1С уже есть возможность создавать:

  • быстрые отчеты, причем с конструкторами настроек (довольно сложными и гибкими);

  • диаграммы (для тех, кому мало таблиц);

  • преднастроенные отчеты.

В 1С есть все, что требуется для работы. Что же заставляет пользователей внедрять внешние BI-системы, используя 1С только как источник данных? Для этого есть несколько объективных причин.

Почему пользователи 1С обращаются к внешним BI-системам?

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

  2. Данные 1С не всегда представлены в том виде, в каком их можно использовать для аналитики, поэтому анализ данных выполняют в внешних BI-системах

  3. Иногда требуется бизнес-логика, которой нет в 1С.

  4. Необходима генерация данных: прогнозы, обогащение и т.д.

  5. Производительность 1С недостаточна для исследования в режиме реального времени.

  6. Трудоемкость некоторых подсчетов, крайне сложно реализуемая в 1С.

Если подвести итог, 1С — система для учета, а не анализа. Системы учета умеют генерировать отчеты лишь с номинальным аналитическим смыслом. По сути, последний, т.е. завершающий уровень BI в 1С, и есть отчет. На этом аналитические возможности 1С иссякают.

Что мешает полноценной работе 1С с BI?


1С — это закрытая экосистема, в которой нет места для внешних инструментов. Компания 1С ставит своей целью реализовать все, что возможно, внутри самой программы:

  • Транзакционная система (OLTP);

  • Акселераторы (пред агрегация) для быстрого получения, извлечения данных;

  • Собственный продукт 1С-Аналитика;

  • Собственный конструктор для разработки Мобильных приложений.

И никаких “внешних” источников. Чтобы анализировать данные снаружи (Excel, другие базы данных, данные интернет-магазин, CRM...), нужно загрузить (или подключить) эти данные в 1С.

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

Какие есть варианты работы с BI?

Чтобы решить эту проблему, существуют два пути. Можно пойти напрямую в физические таблицы Базы данных 1С (MS SQL/ PostgreSQL), что является способом добывать данные «через черный ход». Либо выталкивать данные из 1С изнутри.

Решение проблемы с 1С от компании Денвик

Мы реализовали оба подхода в своих программных продуктах.

  • Генератор View (способ снаружи посмотреть на данные в понятном формате).

  • Экстрактор данных 1С в BI (способ выталкивания данных 1С изнутри).

Сегодня рассказываем про Экстрактор 1С.

Предыстория Экстрактора данных 1С в BI

Этот продукт вырос из реального и достаточно сложного проекта, в котором прямого доступа к физическим таблицам БД 1С было недостаточно. Мы сконцентрировались на том, чтобы максимально быстро, просто и надежно извлекать данные из 1С 8 в СУБД Clickhouse.

Есть несколько особенностей 1С, которые необходимо было учитывать:

  • Пользователи любят (могут/вынуждены) править данные в 1С «задним» числом. А значит, необходимо следить за этими изменениями документов.

  • У 1С существует множество конфигураций, как тиражных, так и совершенно кастомных. А значит, решение должно быть универсальным и уметь работать со всеми моделями 1С.

  • В 1С есть такие понятия как «Проведение по партиям» и «Закрытие месяца» — когда данные массово пересчитываются за календарный период, затрагивая множество документов и регистров. Значит, инструмент должен справляться с большими объемами данных.

  • Далеко не все Заказчики работают на последних платформах 1С, а значит, необходимо обеспечивать обратную совместимость.

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

Экстрактор данных 1С в BI — это попытка создать такую «зеленую кнопку» для тех, кому BI нужен вне 1С. Перечисленные задачи мы решили при разработке Экстрактора. И, конечно же, добавили функционал для тех, кто хотел бы глубже погрузиться в тему извлечения данных из 1С в BI.

Почему мы выбрали Clickhouse?

Преимущества СУБД Clickhouse мы не станем подробно расписывать. Clickhouse — это open source продукт от Яндекса, аналитическая колоночная база. Clickhouse активно используется во многих проектах в крупных и не очень компаниях, не только в России, но и по всему миру.

В СУБД Clickhouse нам нравится несколько характеристик, за которые мы зацепились при разработке Экстрактора 1С.

  • Отсутствие блокировок на таблицу при параллельной записи.

  • Компактное хранение данных в файловой системе.

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

  • В Clickhouse есть понятие "партиции" — это некий логический раздел таблицы. Например, год, год и месяц, месяц, день, час, первая буква наименования товара, некий хэш — да что угодно. Партицию можно очень быстро вырезать и на ее место загрузить новую порцию данных.

Собственно, Экстрактор 1С как раз вращается вокруг идеи работы с данными не на уровне отдельных транзакций, а работы на уровне пакетов, срезов (тех самых партиций).

Насколько Экстрактор упрощает работу с 1С?

Так как в основе формирования Наборов данных Экстрактора лежит Конструктор запросов 1С, то пользователь с опытом работы в 1С может выгрузить базовые данные в СУБД Clickhouse без особой подготовки. 

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

Бизнес-аналитику остается только распоряжаться полученными данными и визуализировать их при помощи BI-систем.

Комментарии (2)


  1. Ildarovich
    20.09.2023 08:55
    +1

    Странно, почему в статье не упомянута 1С:Аналитика. Большинство указанных проблем она решает "из коробки". Во всяком случае, новое решение нужно сравнивать именно с ней.


    1. uuger
      20.09.2023 08:55
      +1

      Упомянута, вроде как:

      Hidden text

      Но, как мне кажется, внешние BI выполняют одну очень важную функцию: посмотреть данные 1С, не заходя в саму 1С. Многие пользователи будут невероятно рады минимизировать или свести к нулю время, которое они тратят на общение с "ОдинЦэ"