29.11.23

Как добывать данные из 1С для BI-аналитики?

Каждый аналитик рано или поздно сталкивается с тем, что работать со встроенными отчетами 1С ему становится не удобно. И он начинает искать решение, которое позволит анализировать данные из 1С в более удобном инструменте. На помощь ему приходят BI-системы, которых сейчас бесчисленное множество на нашем рынке, бесплатные и дорогостоящие.

Но возникает другая проблема. Мало купить или установить BI-систему, необходимо в нее еще загружать данные из вашей 1С. Способов много, от простой выгрузки текущего отчета в 1С в Excel до прямого доступа в базу данных, минуя 1С. получение данных 1С.png

Прямой доступ в базу SQL

Раньше разработчики BI-систем, работая с 1С, залезали внутрь базы данных и напрямую пытались вытаскивать данные. Дело было непростое: в базе 1С данные хранятся в виде таблиц и полей с «машинными» наименованиями.

базы 1с.png

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

Представителями таких платных коннекторов являются:

  • Генератор View 1С к MS SQL/PostgreSQL от «Денвик»
  • ATK BIView

Как работают такие коннекторы?

Схематически их работу можно представить таким образом.

схема работы коннектора 1с.png

Что получается? «Коннектор» переводит машиночитаемые физические таблицы SQL в «человекочитаемые» виртуальные таблицы. Благодаря этому через BI-систему можно спокойно обратиться к данным. Ведь все данные представлены в понятном человеку виде.

базы 1с.png

Есть ли у этого метода подводные камни, ограничения? Да, и много:
  1. Обращаясь к "Представлению" (View), вы запрашиваете данные напрямую из физических таблиц SQL 1С в рабочей базе, что создает дополнительную нагрузку на SQL Server
    1. Тем более, что BI-системы делают большие аналитические запросы к SQL, с группировками, join, агрегированием данных. 
    2. А для таких аналитических выборок транзакционная модель 1С не очень предназначена;
  2. Делая выборку данных из прямых "Представлений" (View) к SQL 1С, вы вынуждены:
    1. или вычитывать полностью все данные из каждой таблицы;
    2. или выбираете данные за ограниченный период (полгода, год...);
    3. Это может быть проблемой, если данных в таблицах у вас много (сотни тысяч, миллионы транзакций);
  3. Такие коннекторы не умеют отслеживать изменения в 1С, поэтому вы всегда вынуждены выбирать данные "с запасом";
  4. Такие коннекторы работают только с "физическим слоем" SQL в 1С, а значит вам недоступны: 
    1. срезы последних (к примеру срез цен на каждую дату);
    2. остатки подневные или ежемесячные;
    3. Движения Субконто;
    4. обращение к данным "через точку";
    5. информация о документах-регистраторах;
    6. и многое другое;
  5. Такие коннекторы используют явно запрещенный Лицензионной политикой 1С - способ доступа к данным (и если вы заботитесь о лицензионной чистоте, то использование подобных коннекторов с прямым доступом к SQL-базе является недопустимым;
  6. Вам недоступна работа с функциями 1С на этапе выгрузки данных;
  7. Вам недоступна работа с объектной моделью 1С;
  8. модель данных, связи между таблицами вам придется собирать "извне" 1С, что часто бывает очень и очень сложно;
  9. Добиться аналогичных данных "как в ... (таком-то) отчете 1С" бывает крайне сложно, так как у 1С может быть своя логика (часто достаточно сложная логика) построения отчетов и выборки данных;
Мы крайне рекомендуем использовать современное ETL-решение по извлечению данных из 1С - "Экстрактор 1С в BI"

Пример отказа от коннектора SQL и переход к использованию Экстрактора 1С

Мы сталкиваемся с частым кейсом, когда Заказчики переходят с прямого доступа к таблицам SQL 1C yf "Экстрактор 1С в BI".

Пример - это крупная розничная сеть магазинов обуви (порядка 1000 магазинов по всей стране
Использовали:
  1. ATK BIView
  2. Одну из западных BI-систем
Столкнулись с проблемами:
  1. Сложность извлечения данных средствами ATK BIView данных по остаткам, ценам, детализации данных до документа
  2. Выгрузка данных возможна была только раз в ночь (в технологическое окно)
  3. Так как все расчеты необходимо было вести на стороне DWH, то цикл разработки отчетности растягивался на недели
    1. Подготовить техзадание на разработку для команды DWH
    2. Согласовать данное техзадание
    3. Встать в очередь на разработку
  4. Длинный цикл разработки не позволял оперативно разрабатывать требуемую отчетность и отрабатывать гипотезы аналитиков и затруднял их работу
Переход на Экстрактор 1С позволил:
  1. Перейти на выгрузку данных из 1С с расписанием несколько раз ведь (за счет системы отслеживания изменений, которая есть в Экстракторе 1С)
  2. Аналитик получили систему "самообслуживания", когда они без участия внешней команды, могут сами наполнять свое Хранилище данными из 1С в оперативном режиме
  3. Стали доступны расчетные показатели, ранее сложно достижимые на стороне DWH
  4. Цикл отработки гипотез Аналитиками значительно сократился


Оставляйте заявку и получите бесплатный демо-доступ к Экстрактору 1С на 10 дней. Протестируйте нашу разработку на своей базе до приобретения лицензии.
Оставить заявку

Что хотят BI-аналитики?

запросы аналитиков.png

А лучше спросить, чего не хотят аналитики.

  • Они не хотят соединять сотни физических таблиц в SQL между собой;
  • Не хотят разбираться в хитросплетении и нагромождении сотен таблиц в базе SQL;
  • Не хотят открывать доступ к базе 1С снаружи (Для BI-системы нужно открыть доступ внутрь SQL вашей 1С, что не всегда безопасно).

И вишенка на торте: доступ в физические таблицы SQL не гарантирует, что вы достанете из 1С все данные, какие захотите.

В результате работы с коннектором:

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

Не вкусно? А какие есть альтернативы?

Как работает 1С Экстрактор?


схема работы 1с экстрактора.png

Чтобы решить проблемы BI-аналитиков, мы разработали «Экстрактор данных 1С в BI». Этот продукт:

  • Сделан на 1С;
  • Работает изнутри 1С;
  • Быстр, так как умеет распараллеливать выгрузку;
  • Экономичен, так как умеет следить за изменениями в 1С и выгружать только то, что изменилось, добавилось, удалилось;
  • Эргономичен. С ним легко работают программисты, аналитики, финансовые директора и бухгалтеры.


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

1с экстрактор.png

Если у вас остались вопросы по работе 1С Экстрактора, оставляйте заявку на сайте. Наш менеджер свяжется с вами и подробно расскажет о продукте!



Оставить заявку
Наши менеджеры ответят на все вопросы, произведут расчет стоимости услуг и подготовят коммерческое предложение!
Заказать проект

Это интересно