7 способов выгрузить данные из 1С для бизнес-аналитики

7 способов выгрузить данные из 1С для бизнес-аналитики

Экосистема 1С - комплекс прикладных решений для автоматизации процессов на базе платформы 1С: Предприятие. Систему используют более 1,5 млн компаний России.

Информация из 1С представляет ценность для бизнес-аналитики, так как конфигурации платформы хранят данные по разным направлениям бизнеса:

  • 1С: Бухгалтерия - данные бухгалтерского и налогового учёта
  • 1С: ERP Управление – данные о производственных процессах
  • 1С: УТ - об оптовой, оптово-розничной или дистанционной торговле
  • Далион и Астор – данные учета в торговых сетях
  • 1С: WMS – информация о процессах логистики и складских процессах

При загрузке этих данных во внешнюю BI-платформу возникают трудности. 1C – закрытая проприетарная система, подключиться к которой напрямую и просто выгрузить данные без нарушения лицензионной политики нельзя.

1С предлагает собственный продукт для бизнес-аналитики – BI-систему 1С: Аналитика. Однако, встроенная конфигурация имеет существенные ограничения в функциональных возможностях, гибкости настроек и разнообразии визуализаций.

К тому же, для анализа будут доступны только данные из 1С, и, если для отчетов нужна информация из других источников, подгрузить ее в 1С: Аналитику нельзя.

7 способов выгрузить данные из 1С для бизнес-аналитики

Подробно сравнили 1С:Аналитику и PIX BI

В статье рассматриваем 7 самых популярных способов извлечения данных из 1С для бизнес-аналитики и выбираем лучший.

1. Подключиться напрямую к SQL-базе в 1С

Информация в 1С хранится в связанных таблицах СУБД MS SQL или PostgreSQL. Если разобраться в структуре таблиц, то в дальнейшем можно получать метаданные из 1С с помощью подключения к рабочей базе без использования стороннего ПО.

У способа есть ряд минусов:

  • Способ запрещен действующей лицензионной политикой 1С

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

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

Для этого существуют бесплатные разработки и платные коннекторы-генераторы представлений (view), или придется искать программиста 1С с такими навыками.

7 способов выгрузить данные из 1С для бизнес-аналитики
  • Невозможно отследить изменения данных

Каждый раз при внесении изменений придется повторять запрос к БД и выгружать все целиком

2. Построить свою аналитическую SQL-базу

Данные выгружаются в SQL-таблицы в промежуточной БД с помощью предварительно созданных запросов к базе 1С.

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

Минусы способа:

  • Как и первый способ, нарушает действующую лицензионную политику 1С
  • Нужны специалисты 1С и аналитики, которые смогут написать уникальные запросы и подготовить SQL-таблицы для каждого объекта - документа, регистра, справочника
  • Требует постоянной поддержки и изменений при обновлении структуры данных или версий 1С
  • Высокий риск ошибок и некорректных результатов в BI-системе из-за большого объема ручного труда и изменения типов данных в промежуточной БД
  • Самый сложный технически и затратный финансово способ, бюджеты для крупных компаний с большим объемом данных могут быть миллионными

Использовать ли первые два способа, нарушающих лицензионную политику 1С, или нет – самостоятельный выбор каждого, но Qlever Solutions призывает подходить к вопросу, учитывая все перечисленные риски.

3. Вручную выгрузить файлы XLS/CSV/XML

Способ поможет быстро и просто получить данные из 1С, в этом поможет функция «Рассылка отчетов». Для выгрузки формируется Универсальный отчет, где настраиваются все нужные поля и период.

В инструменте Рассылка отчётов указывается нужный отчет, формат (Excel, CSV или XML), расписание рассылки и место выгрузки: локальная папка или FTP-сервер.

7 способов выгрузить данные из 1С для бизнес-аналитики

Минусы способа:

  • Ручной труд, занимающий время сотрудника и повышающий вероятность ошибок, связанных с форматированием и потерей данных
  • Если нужного отчета в 1С нет, придется привлекать программиста 1С, чтобы он сформировал его в системе перед выгрузкой
  • При обновлении информации в 1С придется каждый раз выгружать Excel-файл, который перезаписывается поверх старого. Архивные версии не сохраняются, становится невозможно обеспечить версионность данных
  • Инкрементальная загрузка при таком способе невозможна, выгружается сразу большой объем данных, и приходится отдельно организовывать расписание выгрузки для разных периодов
  • Такой способ может подойти как временное решение для небольших объемов данных. С ростом количества и разнообразия отчетов он с большой вероятностью приведет к ошибкам.

4. Загрузить данные по протоколу OData

OData (Open Data Protocol) — это протокол, который позволяет выполнять операции с данными с помощью HTTP-команд вида

http://<имя сервера>:<порт>/<имя публикации>/odata/standard.odata/<имя ресурса><формат полученных данных>

и получать файлы в форматах ХМL или JSON со всеми реквизитами и значениями справочника.

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

Минусы способа:

  • Нужно опубликовать базу 1С на веб-сервере

При публикации данных в интернете всегда существует риск их утечки, способ не подойдет компаниям с жесткой политикой безопасности

  • В длине запросов есть ограничения

Сервис не позволит обработать запросы со сложной логикой или большим количеством фильтров

  • Скорость подключения небольшая, работа сервиса нестабильная

И чем больше объем данных, тем медленнее работает инструмент. При большом объеме данных и количестве отчетов способ не будет эффективным.

5. Использовать COM-соединение

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

Минусы способа:

  • Привязка сервиса к ОС Windows
  • На каждое COM-соединение тратится 1 клиентская лицензия 1С, что критично при ограниченном количестве лицензий
  • При внесении изменений в данные или обновлениях конфигураций 1С нужно перерегистрировать COM-объект
  • Для подключения к базе данных необходима установка клиента 1С той же разрядности, что и разрядность приложения/сервера источника
  • Для написания кода нужны специалисты с навыками программирования на языке 1С и пониманием синтаксиса языка, который используется в BI
  • Время соединения и выгрузки зависит от объема базы 1С, так как в момент соединения база подгружается полностью

6. Внедрить 1C:Шину

1С предлагает собственное программное решение класса «Сервисная шина предприятия» (Enterprise Service Bus, ESB) для обмена сообщениями между различными информационными системами - 1C:Шину.

7 способов выгрузить данные из 1С для бизнес-аналитики

Основной компонент 1С:Шины — сервер, который исполняет приложения. Каждое приложение передает сообщения от информационных систем-источников к информационным системам-приемниками.

Шина содержит интерфейсы для взаимодействия с разными информационными системами по различным протоколам: SOAP, AMQP, JDBC, FTP, HTTP, JMS, RabbitMQ.

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

Минусы использования 1С:Шины:

  • Интеграция возможна только с теми системами, к которым в Шине предусмотрены коннекторы
  • 1С Шина не является готовым источником данных для BI-систем
  • Затраты на приобретение, внедрение и поддержку Шины довольно высоки и оправданы только в случае, если количество интеграций в компании более десятка
  • Шина не обладает волшебной кнопкой "Интегрировать все!". Всю механику обмена и нюансы перетекания данных из одной системы в другие все равно реализуют и поддерживают разработчики, что требует дополнительных затрат времени и бюджетов

7. Использовать коннектор или экстрактор для 1С

На рынке существуют и сторонние готовые решения для автоматической выгрузки данных из 1С в базу данных ClickHouse, PostgreSQL или Microsoft SQL, которые ускоряют интеграцию и снижают затраты на поддержку баз.

ATK BIView

7 способов выгрузить данные из 1С для бизнес-аналитики

Коннектор для генерации модели данных из 1С и дальнейшего использования в BI-системах и хранилищах данных.

Предоставляет автоматическую генерацию SQL-представлений с нужными для BI преобразованиями (переименованием полей, разрешением ссылочных полей, преобразованием дат и тд).

  • Работает с не файловыми версиями 1С от 8.1 и выше и с любой BI-системой с возможностью подключения к SQL-серверу
  • За счет прямого чтения базы данных SQL и режима инкрементальной загрузки не тормозит работу 1С и BI-систему
  • Экономит время на поиск соответствий названий таблиц и полей 1С и SQL и их переименование, что особенно удобно при необходимости выгрузки из нескольких баз 1С
  • Почти не требует поддержки, так как в повседневной работе используются уже созданные SQL-представления, запуск нужен только при внесении изменений в 1С
  • Стоимость зависит от количества баз 1С для подключения

Коннектор нарушает действующую лицензионную политику 1С, так как взаимодействует с корневой рабочей базой системы.

Единственное внешнее ПО, не нарушающее политику - Экстрактор от Денвик.

Экстрактор 1С в BI от Денвик

7 способов выгрузить данные из 1С для бизнес-аналитики

Инструмент, который автоматизирует получение всех данных из 1С и их доставку в таблицы БД ClickHouse или MS SQL.

Экстрактор достает данные из 1С и выгружает их во внешнюю базу без использования таблиц Excel или внешних сервисов.

7 способов выгрузить данные из 1С для бизнес-аналитики

Преимущества экстрактора:

  • Работает как с клиент-серверными, так и с файловыми базами 1С версий 8.2 и 8.3 и любыми BI-системами: PIX BI, Visology, Power BI, Qlik Sense, Yandex Datalens, Apache SuperSet
  • Позволяет манипулировать не только запросами 1С, но и дополнительными вычислениями над набором данных
7 способов выгрузить данные из 1С для бизнес-аналитики
  • Надстройка в привычном интерфейсе 1С, self-service решение, которое не требует навыков программирования, опыта работы с БД и привлечения ИТ-специалистов
7 способов выгрузить данные из 1С для бизнес-аналитики
  • Предоставляет возможность инкрементальной загрузки - отслеживает и регистрирует все изменения в базе 1С, автоматически выгружает их во внешнее хранилище. Можно настроить выгрузку по расписанию
7 способов выгрузить данные из 1С для бизнес-аналитики
  • Работает в режиме многопоточности (12 параллельных потоков) и обеспечивает быструю выгрузку объемных данных - 4346 записей в секунду
  • Включен в Реестр Российского ПО, реестровая запись №18295 от 12.07.2023

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

  • Проводки по плану счетов в разрезе субконто
  • Остатки на произвольную дату
  • Дополнительные реквизиты
  • Текстовые представления документов-регистраторов в регистрах сведений, регистрах накопления и бухгалтерских регистрах
  • Произвольные запросы (СКД) с использованием вложенных запросов, виртуальных таблиц и т. д.
  • Можно добавить вычисляемые поля (на языке 1С), пред- и постобработчики

Итак, мы рассмотрели основные способы извлечения данных из 1С для их использования в BI.

Выгрузки в формате Excel или подключение по протоколу OData – хорошие и простые для реализации способы, но они не закроют проблему при использовании разных конфигураций 1С, большом количестве баз 1С, большом объеме данных и разнообразии отчетов.

Для крупных компаний оптимальным вариантом становится использование экстрактора, который поможет настроить и автоматизировать непрерывную выгрузку данных и сократить затраты на поддержку БД.

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

Не знаете, как проще реализовать выгрузку данных из 1С?

Начать дискуссию