Подключение power bi к 1с через odata

Обновлено: 07.07.2024

Анализ работоспособности в организации – это в первую очередь способ достижения положительных результатов, нежели работа ради работы. Информация, представленная в визуальном виде, позволит оперативно дать оценку коммерческой ситуации предприятия. Что в свою очередь даст толчок к развитию. Для визуализации аналитических данных используют различные программные продукты в список, которых входит Microsoft Power BI. Эта программа отличный помощник в построении динамических графиков или диаграмм, а также в формировании альтернативных отчетов. Power BI позволяет получать аналитику из сторонних программ по средствам подключения через интерфейс OData . Перед переходом к практической части статьи, закрепим понимание важности аналитики. Понятие «Аналитика» представляет собой искусство рассуждения логических учений об анализе проводимых операций. Проще говоря, аналитика – это, то, что нужно постоянно применять каждому руководителю подразделения или целого предприятия, чтобы развиваться в лучшую сторону. Вообще любая информация, представляемая визуально, воспринимается куда легче, поэтому практическое использование вспомогательных средств для построения диаграмм просто необходима. Часто встречаются случаи, когда в компании информацию ведется и хранится разрознено, то есть данные по сотрудникам ведутся в 1С:ЗУП 3.1, номенклатура учитывается в Excel и так далее. В таком случае использование Power BI является решением этих проблем.

Выгрузка информации из 1С в Power BI.

Так как в конфигурации «Управление IT-отделом 8» поддерживается функционал работы с интерфейсом OData, а также в программе ведется учет заявок Service Desk или номенклатуры предприятия, рассмотрим пошаговую выгрузку данных и подключение к Power BI. Сперва нужно предоставить доступ к базе данных, а также к интерфейсу OData путем публикации конфигурации. Для этого откроем программу в режиме конфигуратора, перейдем в раздел «Администрирование» -> «Публикация на веб-сервере» и установим флаг «Публиковать стандартный интерфейс OData». Если публикация базы осуществляется на веб-сервере IIS (Internet Information Service), то тогда дополнительным шагом необходимо установит флаг «Использовать аутентификацию операционной системы», что позволит использовать доменную авторизацию, при использовании интерфейса OData. После установки всех настроек, нажимаем опубликовать и при успешной публикации высветится диалоговое окно, которое сообщит об успешной публикации.

После успешного открытия доступа к интерфейсу OData через WEB, перейдем к дальнейшей настройке. Откроем конфигурацию в режиме 1С:Предприятие, перейдем в меню «Все функции» и откроем обработку «Настройка стандартного интерфейса OData».

Примечание: «Для того, чтобы включить команду «Все функции», необходимо перейти в «Настройки» -> «Параметры» и активировать чек-бокс «Отображать команду «Все функции»».

Аналитика для предприятия – это, скорее, необходимость, чем роскошь. Визуальное представление данных позволяет оперативно принимать и оценивать управленческие и коммерческие решения. Так, Microsoft Power BI является прекрасной платформой для построения динамических и интерактивных отчетов.
В статье рассмотрен вариант подключения 1С в качестве источника данных через OData.

Power BI разве не умеет работать с ms sql? продукты же одного вендора, поэтому иметь прослойку в виде кластера сервера 1С и веб сервера видется мне не разумной в вашем варианте. (1)в ms sql вроде названия таблиц/полей сложно читаемые, точнее сложно понять что это за объект метаданных.

(3) Открывать SQL мордой в интернет?
Вы серьезно?

В цивилизованном обществе такие вещи решаются через REST или еще через какие прокси, даже на чтение так делать не стоит.
К тому же Вы нарушите лицензионное соглашение в данном случае.

(2) + никто не гарантирует вам, что это "сложночитаемое" таблица/поле еще и сохранит свое наименование со временем.

Лицензионное соглашение не позволяет использовать недокументированные фирмой "1С" средства для построения решений на платформе 1С:Предприятие. Это означает, что средства СУБД (или любые другие внесистемные средства) можно использовать только в том случае, если документация по продуктам линейки "1С:Предприятие" (включая 1С:ИТС) содержит явную рекомендацию использовать данное средство для решения данной задачи.

Во всех остальных случаях лицензионное соглашение позволяет использовать для построения решений только штатные средства платформы. В частности, можно обращаться к данным информационной базы только при помощи объектов "1С:Предприятия", специально предназначенных для работы с данными (запросы, справочники, документы и т.д.). Нельзя обращаться к данным информационной базы напрямую, минуя уровень объектов работы с данными "1С:Предприятия" - например при помощи средств СУБД или при помощи внешних компонент, которые реализуют прямой доступ к СУБД. Это ограничение распространяется на любые действия с данными, в том числе на изменение их структуры, а так же на чтение или изменение самих данных информационной базы или служебных данных "1С:Предприятия".

Данное ограничение необходимо для обеспечения стабильности работы механизмов системы, осуществления поддержки и возможности перехода на новые версии "1С:Предприятия".

Данное ограничение необходимо для обеспечения стабильности работы механизмов системы, осуществления поддержки и возможности перехода на новые версии "1С:Предприятия". Вот этот абзац никто и не видит из тех, кто обращает внимание на "64-й пункт (или какой он там?)лиц.соглашения" (25) вот только такие "видящие" не понимают и не хотят понимать, что это еще обусловлено возможным доступом без ключа (бесконтрольно и без ограничения) к базе.
Да и не важно, чем конкретным это обусловлено. Есть лицензионное соглашение. Есть его нарушение. Есть: "Правообладатель обладает правом заблокировать файл электронного лицензионного ключа в случае нарушения условий Лицензионного Соглашения Пользователем." Да и не важно, чем конкретным это обусловлено. Есть лицензионное соглашение. Есть его нарушение. Есть: "Правообладатель обладает правом заблокировать файл электронного лицензионного ключа в случае нарушения условий Лицензионного Соглашения Пользователем." Информация в базе данных далеко не вся принадлежит 1С. И если они начнут блокировать лицензионные ключи тех, кто обращается напрямую к SQL для доступа к данным (только чтение, чтобы ничего не пропало), то у них не останется "толстых" клиентов вообще ни одного (у кого за 1к лицензий). Так что кроме как в лес мне послать таких шустрых умников некуда. Информация в базе данных далеко не вся принадлежит 1С
Сама информация в таком виде не регламентируется в рассматриваемом случае (служебную информации не рассматриваем). Регламентируется доступ к этой информации. Это несколько разные вещи.
И открыто призывать к нарушению лицензионного соглашение не делает вам чести. И открыто призывать к нарушению лицензионного соглашение не делает вам чести. Говорю ровно то, что говорят на курсах подготовки экспертов по технологическим вопросам. 80% крупных организаций между 1С и СУБД имеют какие-то прокладки, которые на ИТС ни разу не описаны.

(4) даже на курсах экспертов открытым текстом говорят, что "нарушайте лицензионное соглашение" как можно чаще - и жить вам станет гораздо лучше.

Но по поводу OData - это нормальная тема, оно здесь абсолютно к месту. Автору респект и уважуха.

(5) Мы сейчас у себя активно все оперативные отчеты и показатели переводим в Power BI. А так как 1С является центральной учетной системой - используем OData, что бы не отрывать данные от бизнес-логики. (6) Только для ODATA в силу ограничения возможностей протокола надо подготоавливать массивы данных в виде кучи дополнительных регистров накопления и сведений, этакие кубы. Сложность в том, что эти самые кубы надо актуализировать. (1) Мы тут с коллегами долго обсуждали.
Мысль сформировалась следующая:
Использование OData дает гарантию кросс-платформенности. Вы же можете в качестве СУБД использовать не только MS SQL, но и PostgreSQL или даже файловый режим. Так что, брать данные через OData корректнее, чем напрямую обращаться в БД.

Я тоже начал для себя открывать этот чудесный продукт.

Изучение его нажал с того, что прикрутил к нему логи технологического журнала + файлы трассировок СУБД.

Стал мониторить конфликты блокировок + длительные или трудоемкие запросы.

В планах еще создать дашбоард по подробной детализации блокировок и может быть еще какие мысли будут.

байт; TreeDogNight; zhogov; kraynev-navi; vrednyi_glavred; + 5 – Ответить Стал мониторить конфликты блокировок + длительные или трудоемкие запросы.
Почему не используете Гилевский сервис по длительным запросам и по блокировкам ?

(8) Когда то давно использовал, но время прошло, скилы качаются :)

- Не нужно лить данные в облако, все можно получить в реалтайме.
- Очень удобнейшая визуализация с очень гибкими отборами при изменении которых все диаграммы сразу меняются.
- Вывод информации в том виде, в котором хочешь ты.

Вообще я разные сервисы для мониторинга производительности использовал, Гилевские например, затем PERFEXPERT от софтпойнта.

В конечном итоге я вдохновился 2 моментами:

1. Идеей регулярных выражений (здесь спасибо Виктору Богачёву), именно с его помощью я получил толчок в этом направлении.
2. Случайным разговором с Лустиным Алексеем который донес до меня мысль, что руки-ноги-голова есть, заббикс есть, SQL profiler есть, технологический журнал есть - зачем платить большие деньги за дорогой софт или отдавать свои данные в облако - непонятно.

(15) не-не-не.. Надо себя заставить. Главное, нАчать. Буду первым плюсанувшим. (15) тоже подпишусь подожду статью)
А вот вопрос: эту настройку можно как-то шаблоном перенести и настроить в другом месте, чтобы было все визуально так же?

А возможно опубликовать какой-то отчет?

Мы пошли по пути делитантов, а именно регламентным заданием формирует отчет СКД и выгружаем его в Excel. Далее PowerBI вытаскивает данные из файла.

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

Как было лучше сделать?

Power BI по сути и является СКД.
Такая задача будет скоро стоять.

Конечно можно. Можно и встроить данные куда-то на веб.

Мы пошли по пути делитантов, а именно регламентным заданием формирует отчет СКД и выгружаем его в Excel. Далее PowerBI вытаскивает данные из файла.
Тоже самое через PowerBI будет в режиме реального времени и без промежуточных файлов. :) Тоже самое через PowerBI будет в режиме реального времени

Одной из причин такой реализации - это не делать множественного обращения к базе для формирования этого отчета, т.к. является достаточно тяжеловестным.

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

(21) Не выходит каменная чаша. Сделал запрос, в предпросмотре все данные вижу, а вот при попытке "применить" выскакивает на загрузке данных в модель "Не удалось сохранить изменения на сервере. Возвращена ошибка "Ошибка OLE DB или ODBC : [DataSource.NotFound] OData: Ошибка запроса (404): Удаленный сервер возвратил ошибку: (404) Не найден. (Not Found)."

В расширенном запросе let
Источник = OData.Feed("http://1c-web.NashaRusha.ru/NashaRusha/odata/standard.odata/Catalog_Организации", null, [Implementation="2.0"])
in
Источник

В настройках источника уровень конфиденциальности весь перепробовал.

(30)
Подскажите как решить данную ошибку при загрузке данных?
Канал OData
1С 8.3.13.1576
УНФ 1.6.16.132
Power BI Desktop 2.64 (44) А публиковали эту конкретную таблицу через обработку? Через браузер к данному источнику подключаетесь? (45)
Обработка «Настройка автоматического REST-сервиса».
Публикация через IIS.
В браузере все загружается.
Если в Power BI загружать не весь справочник, а делать выборку только по нескольким столбцам, все ОК.
Скорей всего проглотить такой объем данных, Power BI не может. (22) "за время пути собачка могла подрасти". Статья отличная, а вот интерфейс не тот кардинально
В той статье рассматривался Power BI из магазина Windows-приложений.
Они отличаются. (33) Я качал из MS Store -ничем не отличается от того что в вашей статье. Потом уже увидел "Стрелочку" загрузок в кабинете

Начал рисовать на BI мониторинг обменов данных. Из тех граблей, на которые успел наступить - в типовой УТ нет обработки "«Настройка автоматического REST-сервиса" - пришлось тащить из Бухи, заодно переделал роль соответствующему пользователю только на чтение объектов, чтобы "ни ни".

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

Продолжаю есть кактус

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

Ну мы пошли по пути наименьшего сопротивления - доступ к OData есть из вне - 1С в Azure Болтается.
Далее. в рамках подписки Power BI Pro настроили автообновление.

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

Через OData при больших объемах данных выгружается продолжительное время.

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

А как будет выглядеть получение данных об оборотах и остатках из виртуальных таблиц 1С? (39) Что именно Вас интересует - визуализация или техническая сторона? Да в принципе все интересно т.к только начал погружаться в power bi) но больше конечно техническая часть.

(41) Ну техническая часть описана в статье. :)
Логика взаимосвязей данных может быть реализована в Power Bi.

Если есть конкретные вопросы - пишите в ЛС.

Всем доброго времени суток! Подскажите, в чём может быть причина этой проблемы? Пытаюсь подключиться через Канал OData, в Excell подключается спокойно, а в PowerBI выходит ошибка (прикрепил скриншот).

В предварительном просмотре данные отображаются, ошибка выходит после нажатия кнопки Загрузить.

Какие способы подключения Power BI к 1С существуют?

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

Мой опыт программиста позволяет использовать 4 способа подключения Power BI к 1С.
Разберу по порядку:
-выгрузка данных 1С в Excel файлы
-публикация базы на веб-сервере, подключение к ней через OData
-подключение к SQL базе 1С напрямую
-построение собственного аналитического хранилища.

Выгрузка данных 1С в Excel файлы

Люблю этот способ, часто практикую, когда у клиентов нет денег или нужно быстро запуститься.

Аналитик изучает файлы Excel и использует в работе, пока разрабатываются продвинутые способы подключения Power BI к 1С.

Не все знают, но можно не только вручную выгружать информацию в Excel файлы, но также наладить выгрузку файлов в автоматическом режиме. Выбираете какие документы, справочники, регистры требуется выгрузить, настраиваете расписание, папку на сервере. Ночью, данные выгрузятся и отчет Power BI заберет их в автоматическом режиме.

У этого способа свои нюансы. с такими выгрузками тяжело поддерживать поэтапное добавление данных. Например каждый день выгружать новый файл за прошлый день. А вдруг бухгалтер провел документы задним числом? А вдруг переименовали контрагента, номенклатуру и нужно заново сделать выгрузку? Эти вопросы сложно решаются и практически единственный путь — ночью перезаписывать файлы Excel целиком.

Сохранение данных 1С в Excel файл

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

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

Кто может сделать? Штатный бухгалтер или программист. Подробную техническую инструкцию найдете в статье Настройка выгрузок в Excel из 1С и Автоматизация выгрузок в Excel из 1С с помощью Рассылки отчетов.

Подключение к веб-базе 1С через OData

Веб-база — это такая база, к которой подключаются через браузер, не устанавливая программу 1С на локальный компьютер.

Существует много облачных сервисов, большинство компаний уже используют облачные технологии. Поэтому технически такая возможность либо уже есть, либо реализуема. Тут главное понять принцип — публикуете базу в интернете, присваиваете доменное имя (как сайту) и зная это имя, логин, пароль работаете в 1С. Для безопасности прописываете список IP адресов, кому разрешено подключаться к базе. Способ неплохой, но есть плюсы и минусы.

Подключение к 1С через OData

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

Во вторых, подключение через браузер это тоже обмен файлами. Power BI делает запрос к 1С, получает ответ в виде набора данных - файла формата JSON. Если данных много, файл большой, скорость интернета низкая — произойдет обрыв соединения. Поэтому этот способ техничнее чем Excel выгрузки, но по производительности такой же. Для небольших компаний и небольших объемов. Ритейлу, банкам, крупному бизнесу он не подойдет

По стоимости — оплатить 1 день работы программиста 1С и 1 день работы аналитика — забрать, обработать данные.

Подключение к базе SQL 1C напрямую

Когда информации становится много, 1С уже становится не файловой базой, а использует промышленную базу данных SQL - это платная редакция Microsoft SQL или бесплатная PostgreSQL.

Тут 2 проблемы. Информация в SQL базе хранится в зашифрованном виде в виде метаданных. Регистр бухгалтерии это не одна таблица с русскими названиями, а десяток таблиц с ключами, кодами, непонятными значениями.

Вторая проблема — лицензионная политика 1С запрещает подключение напрямую к этой базе.

Сохранение данных 1С в Excel файл

Решаем эти проблемы следующим образом.
Делаем копию SQL базы, программисты настраивают синхронизацию боевой базы 1С и этой копии (по расписанию), подключаемся к этой копии и разбираем эти метаданные. Существуют специальные обработки, которые позволяют из этого хаоса найти нужные таблицы и вместо метаданных получить таблицу как в Excel. Но нужно время, трудозатраты уже составляют неделю работы специалиста. Поэтому рекомендую 100 000 рублей заложить в бюджет проекта.

Такой способ хорош, когда данных много, их нельзя получить через Excel или веб-файлы. Через SQL десятки миллионов строчек прогрузятся в Power BI за пару минут. Скорость обновления отчетов Power BI будет быстрой.

Готовых статей — инструкций по этому способу у меня нет. Мой опыт программиста 1С позволяет в этом разобраться, а вот клиенты уже не могут. Используем этот способ в больших проектах.

Построение собственной аналитической базы

Построить собственную аналитическую базу SQL, где хранятся все данные компании для анализа.

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

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

Аналогичная задача ставится программистам других сервисов. Информация загружается на первый уровень, это сырые данные. Система проверяет, что данные загружены, запускает механизм обновления — на лету чистит, обрезает, модифицирует, обновляет главные таблицы. Обеспечивается поэтапное добавление и контроль целостности данных.

Сохранение данных 1С в Excel файл

Делают и третий уровень таблиц — аналитические. Например, проводки выгружаются за каждый день в разрезе документов, их слишком много. Можно на лету агрегировать информацию помесячно и ее станет в сотни раз меньше.

Стоимость. Сильно зависит от трудозатрат. Это не 1 месяц работы программиста-аналитика. Сразу нельзя предусмотреть все варианты, начнете с базовых таблиц 1С, потом постепенно добавите другие сервисы. Потом поймете, какие изменения нужно сделать в этой базе, потому что Power BI не справляется с текущей архитектурой. Это сотни часов работы аналитиков и программистов. В крупном холдинге или компании это занимает не один год.

Тоже скажу — знаю, умею, но не берусь. Мы делаем проекты по аналитике от 100 000 руб. до 300 000 руб., иногда дороже, если растянуты по времени. А тут смета на хранилище начнется только от 300 000 руб. за 1-2 месяца работы, а этого может не хватить для большой компании.

Но если все по-взрослому, серьезно, надолго — это лучший вариант. Мерседес, если сравнивать с машинами. Но не всем нужно.

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

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


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

Получать данные из 1С можно двумя способами. Подключаясь напрямую, через протокол oData, либо выгружая данные в SQL базу данных и от туда уже получать их Power BI.

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

Примеры видео из курса.

Первый урок из нового курса по интеграции 1С. Это вводное видео, в котором мы настроим рабочую среду для дальнейшей интеграции с 1С. Интеграцию я буду проводить разными способами. Данные в POWER BI будем получать из локально установленного SQL сервера, из облачного SQL сервера MS AZURE и непосредственно из базы 1С через ODATA.

Второй урок по интеграции 1С. В данном видео мы выполним подключение к 1С через ODATA. Используя интеграцию с 1С мы получим данные продаж и отобразим их в виде интерактивного отчета «Анализ продаж». Так же выполним публикацию нашего отчета в облачный сервис Power BI и посмотрим наш отчет на мобильном устройстве.

Изучить документацию на диске ИТС вы можете по ссылке.

Так же вы можете посмотреть полный курс по интеграции 1С по ссылке.

Как получить данные 1С в Power BI?

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

  • выгрузка файлов Excel/XML в папку;
  • коммерческий коннектор (АТК, BI Consult, Первый Бит);
  • публикация базы 1С в вебе и подключение к ней по протоколу oData;
  • построение собственной аналитической базы SQL и наполнение ее выгрузками из 1С;
  • подключение напрямую к рабочей базе SQL 1С и разбор метаданных.

1. Выгрузка файлов Excel в папку или на FTP сервер

Отличный способ, когда нужно максимально быстро и просто получить обновляемые файлы из базы 1С. С помощью штатного инструмента 1С Рассылка отчетов вы можете выложить файлы в общую папку на сервере/FTP ресурс/облачный диск. Программисты 1С вместо Excel файлов могут использовать XML файлы, которые используют при обменах между базами 1С.

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

Как получить данные 1С в Power BI?

Далее вам нужно воспользоваться инструментом Рассылка отчетов . Вы указываете подходящий Вариант отчета , настраиваете расписание, формат выходного файла и его местоположение.

Как получить данные 1С в Power BI?

Вы можете задать локальную папку, сетевую или FTP ресурс.

Как получить данные 1С в Power BI?

Наверно, самым большим ограничением данного способа, является то, что сложно обеспечить добавление данных и обычно предполагается, что каждый файл перезатирает предыдущий. Таким образом поддерживается достоверность данных.

Конечно, такой способ отлично работает когда файлов относительно немного. Если речь пойдет о сотнях файлов со сложной структурой и расписанием, то наверно из этого способа вы уже выросли и стоит перейти к следующим.

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

2. Коммерческие коннекторы (АКТ, BI Consult, Первый Бит и другие)

Крупные игроки на рынке BI аналитики Qlik разработали собственные коммерческие коннекторы к 1С. Мы тестировали коннектор от АТК, поэтому мои дальнейшие выводы основаны на его использовании.

Реализация коннектора будет зависеть от используемой базы SQL под 1С. Если используется Microsoft SQL то коннектор работает в полном режиме, создает SQL базу, в которой будут специальные представления View, которые представляют собой уже расшифрованные в удобном для аналитике виде данные 1С.

Как получить данные 1С в Power BI?

В режиме Postgre SQL коннектор работает гораздо проще, не может создать представление View, а просто генерирует текстовые файлы запросов, которые можно использовать в BI системе. То есть запрос на рисунке выше вы сможете использовать напрямую в Power BI.

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

Как получить данные 1С в Power BI?

Именно в этой SQL базе, но в собственной схеме коннектор и будет делать представления данных View, которые будут создаваться после успешного подключения к данным.

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

Как получить данные 1С в Power BI?

Стоит отметить, что в выходных таблицах View коннектора он сразу может преобразовывать многочисленные ключи справочников в их значения. То есть простой документ может уже сразу содержать нужные наименования Организации, Номенклатуры, Контрагента и так далее и нет нужды тянуть к документу еще пару десятков справочников.

Таким образом, коннектор помогает аналитику выбрать подходящие объекты конфигурации, сразу увидеть их значения и подключить BI систему к базе SQL. Это экономит десятки часов по раскодированию/расшифрове метаданных 1С. Это одно из главных преимуществ коннектора, возможность развернуть его за 1 рабочий день аналитика и почти сразу получать нужные данные из 1С.

Из минусов коннектора отметим, что в режиме PostgreSQL он может генерировать только текстовые файлы-запросы, которые мог бы нам сделать и обычный программист 1С. Поэтому рекомендуется использовать Microsoft SQl для полного функционала коннектора. Также сторонников безопасности может насторожить тот факт, что коннектору нужен доступ на запись в рабочую базу SQL 1C для создания представлений View (но в другой схеме).

Примерные трудозатраты и бюджет : от 60 000 рублей за 1 базу 1С, в рамках 1 рабочего дня программиста 1С на подключение.

3. Публикация базы 1С в вебе и подключение к ней по протоколу oData

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

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

Как получить данные 1С в Power BI?

На выходе получается файл json со всеми реквизитами и значениями справочника.

Так в чем же проблема этого метода? Проблем я вижу две.

Первое, подключение к Odata довольно медленное, если файл будет содержать сотни тысяч записей, а то и миллионы (а для регистра бухгалтерии это довольно обычный объем), то файлы будут запрашиваться по 5-10-15 минут, могут возникнуть обрывы подключения. Каждый новый документ и справочник потребует генерации нового источника данных и нового файла. В итоге при большом объеме данных этот способ не сильно будет отличаться от выгрузок Excel файлов.

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

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

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

4. Построение собственной аналитической базы SQL и наполнение ее выгрузками из 1С

Думаю, что если скажу, что для серьезной аналитики с большими данными нужна своя аналитическая база SQL, то большинство аналитиков со мной согласится.

Работая с файлами Excel/Json вы столкнетесь с проблемами производительности и сложностью администрирования и технической поддержки. Пытаясь разобраться в структуре данных SQL 1C базы, вы столкнетесь с тем, что она проектировалась для оптимизации работы 1С, а не для аналитиков. Простой документ может потянуть за собой десяток справочников, а каждый справочник может использовать дочерние справочники, а дочерние справочники какие-нибудь перечисления и так далее. Можно легко получить 3-5 уровней нормализации данных, что также не всегда нужно аналитику.

Поэтому для больших проектов мы будем предлагать этот вариант, хотя он самый трудозатратный и дорогой.

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

Мы получали данные из различных источников:

  • 1С УПП
  • веб-сервис ГИС с геоданными
  • база данных производственной программы
  • ряд Excel файлов финансовой службы.

Как получить данные 1С в Power BI?

Во вторых, внутри этой базы вы можете разложить свои данные на несколько уровней. Аналитики различают несколько уровней и преобразований данных:

Данные, которые без изменений приходят из различных источников

На этом уровне происходит фильтрация ошибочных значений, обновление данных, приведение их к единому формату, обогащение данных доп. информацией

На этом уровне происходит агрегирование данных, представление данных в удобном для аналитике виде.

Как получить данные 1С в Power BI?

Таким образом внутри аналитической базы вы сможете проводить расчеты любой степени сложности. Данные расчеты могут быть выполнены быстрее, чем к примеру в Power Query от Power BI.

А как же наполнять эти данные выгрузками из 1С? Скорей всего вам придется самостоятельно написать нужные обработки и регламентные задания, которые представляют собой запросы к базе 1С и выгрузку результатов этих запросов в заранее созданные SQL таблицы. Вот пример подобного запроса:

Как получить данные 1С в Power BI?

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

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

Примерные трудозатраты и бюджет : от 1 недели до 1 года в зависимости от объема данных, количества источников, совместимости данных друг с другом и множества других факторов. Бюджет от 100 000 рублей до нескольких миллионов для крупных компаний.

5. Подключение напрямую к рабочей базе SQL 1С и разбор метаданных

Честно говоря, я никогда не рассматривал этот способ всерьез. У него есть несколько существенных минусов.

Во первых, это запрещено лицензионной политикой 1С.

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

Во вторых, подключившись к таблице документа мы увидим что-то подобное:

Как получить данные 1С в Power BI?

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

Примерные трудозатраты и бюджет : условно бесплатно, необходимо участие программиста 1С, настраивается примерно за 1 неделю.

Читайте также: