0. zhogov 150 04.10.18 14:34 Сейчас в теме

Как подружить 1С и Power BI: личный опыт визуализации управленческих данных

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

Перейти к публикации

Комментарии
Избранное Подписка Сортировка: Древо
1. kolya_tlt 11 04.10.18 14:59 Сейчас в теме
Power BI разве не умеет работать с ms sql? продукты же одного вендора, поэтому иметь прослойку в виде кластера сервера 1С и веб сервера видется мне не разумной в вашем варианте.
2. gradi 4 04.10.18 15:36 Сейчас в теме
(1)в ms sql вроде названия таблиц/полей сложно читаемые, точнее сложно понять что это за объект метаданных.
rpgshnik; JohnyDeath; zhogov; +3 Ответить
3. Xershi 650 04.10.18 16:00 Сейчас в теме
(2) если для вас это сложно, то сделайте это просто:
https://infostart.ru/public/648264/
11. 🅵🅾️🆇 05.10.18 12:08 Сейчас в теме
(3) Открывать SQL мордой в интернет?
Вы серьезно?

В цивилизованном обществе такие вещи решаются через REST или еще через какие прокси, даже на чтение так делать не стоит.
К тому же Вы нарушите лицензионное соглашение в данном случае.
zhogov; kraynev-navi; +2 Ответить
12. 🅵🅾️🆇 05.10.18 12:24 Сейчас в теме
(2) + никто не гарантирует вам, что это "сложночитаемое" таблица/поле еще и сохранит свое наименование со временем.
vadimlp77; zhogov; Fox-trot; kraynev-navi; +4 Ответить
23. kolya_tlt 11 08.10.18 22:35 Сейчас в теме
(2) так себе причина...
(4) о каких нарушениях речь?
24. spacecraft 09.10.18 07:32 Сейчас в теме
(23)
о каких нарушениях речь?

http://v8.1c.ru/predpriyatie/questions_licence.htm

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

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

Данное ограничение необходимо для обеспечения стабильности работы механизмов системы, осуществления поддержки и возможности перехода на новые версии "1С:Предприятия".
Casey1984; +1 Ответить
25. starik-2005 1866 09.10.18 17:07 Сейчас в теме
(24)
Данное ограничение необходимо для обеспечения стабильности работы механизмов системы, осуществления поддержки и возможности перехода на новые версии "1С:Предприятия".
Вот этот абзац никто и не видит из тех, кто обращает внимание на "64-й пункт (или какой он там?)лиц.соглашения"
26. spacecraft 09.10.18 17:44 Сейчас в теме
(25) вот только такие "видящие" не понимают и не хотят понимать, что это еще обусловлено возможным доступом без ключа (бесконтрольно и без ограничения) к базе.
Да и не важно, чем конкретным это обусловлено. Есть лицензионное соглашение. Есть его нарушение. Есть: "Правообладатель обладает правом заблокировать файл электронного лицензионного ключа в случае нарушения условий Лицензионного Соглашения Пользователем."
27. starik-2005 1866 09.10.18 17:51 Сейчас в теме
(26)
Да и не важно, чем конкретным это обусловлено. Есть лицензионное соглашение. Есть его нарушение. Есть: "Правообладатель обладает правом заблокировать файл электронного лицензионного ключа в случае нарушения условий Лицензионного Соглашения Пользователем."
Информация в базе данных далеко не вся принадлежит 1С. И если они начнут блокировать лицензионные ключи тех, кто обращается напрямую к SQL для доступа к данным (только чтение, чтобы ничего не пропало), то у них не останется "толстых" клиентов вообще ни одного (у кого за 1к лицензий). Так что кроме как в лес мне послать таких шустрых умников некуда.
28. spacecraft 09.10.18 18:32 Сейчас в теме
(27)
Информация в базе данных далеко не вся принадлежит 1С

Сама информация в таком виде не регламентируется в рассматриваемом случае (служебную информации не рассматриваем). Регламентируется доступ к этой информации. Это несколько разные вещи.
И открыто призывать к нарушению лицензионного соглашение не делает вам чести.
29. starik-2005 1866 09.10.18 22:22 Сейчас в теме
(28)
И открыто призывать к нарушению лицензионного соглашение не делает вам чести.
Говорю ровно то, что говорят на курсах подготовки экспертов по технологическим вопросам. 80% крупных организаций между 1С и СУБД имеют какие-то прокладки, которые на ИТС ни разу не описаны.
4. spacecraft 04.10.18 16:54 Сейчас в теме
(1) и нарваться на нарушение лицензии 1С?
kraynev-navi; 🅵🅾️🆇; rpgshnik; zhogov; +4 1 Ответить
5. starik-2005 1866 04.10.18 17:06 Сейчас в теме
(4) даже на курсах экспертов открытым текстом говорят, что "нарушайте лицензионное соглашение" как можно чаще - и жить вам станет гораздо лучше.

Но по поводу OData - это нормальная тема, оно здесь абсолютно к месту. Автору респект и уважуха.
TreeDogNight; 🅵🅾️🆇; JohnyDeath; zhogov; +4 1 Ответить
6. zhogov 150 04.10.18 17:12 Сейчас в теме
(5) Мы сейчас у себя активно все оперативные отчеты и показатели переводим в Power BI. А так как 1С является центральной учетной системой - используем OData, что бы не отрывать данные от бизнес-логики.
TreeDogNight; 🅵🅾️🆇; rpgshnik; vrednyi_glavred; +4 Ответить
35. zhogov 150 12.10.18 17:59 Сейчас в теме
(1) Мы тут с коллегами долго обсуждали.
Мысль сформировалась следующая:
Использование OData дает гарантию кросс-платформенности. Вы же можете в качестве СУБД использовать не только MS SQL, но и PostgreSQL или даже файловый режим. Так что, брать данные через OData корректнее, чем напрямую обращаться в БД.
Dimka74; acanta; +2 Ответить
7. user612295_death4321 05.10.18 06:36 Сейчас в теме
Я тоже начал для себя открывать этот чудесный продукт.

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

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

В планах еще создать дашбоард по подробной детализации блокировок и может быть еще какие мысли будут.
Прикрепленные файлы:
TreeDogNight; zhogov; kraynev-navi; vrednyi_glavred; +4 Ответить
8. Man4kin 05.10.18 07:35 Сейчас в теме
(7)
Стал мониторить конфликты блокировок + длительные или трудоемкие запросы.

Почему не используете Гилевский сервис по длительным запросам и по блокировкам ?
9. user612295_death4321 05.10.18 10:18 Сейчас в теме
(8) Когда то давно использовал, но время прошло, скилы качаются :)

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

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

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

1. Идеей регулярных выражений (здесь спасибо Виктору Богачёву), именно с его помощью я получил толчок в этом направлении.
2. Случайным разговором с Лустиным Алексеем который донес до меня мысль, что руки-ноги-голова есть, заббикс есть, SQL profiler есть, технологический журнал есть - зачем платить большие деньги за дорогой софт или отдавать свои данные в облако - непонятно.
TreeDogNight; AlX0id; starik-2005; +3 Ответить
13. kraynev-navi 405 05.10.18 13:48 Сейчас в теме
15. user612295_death4321 05.10.18 14:18 Сейчас в теме
(13) Да кому оно интересно))))
17. kraynev-navi 405 06.10.18 21:23 Сейчас в теме
(15) не-не-не.. Надо себя заставить. Главное, нАчать. Буду первым плюсанувшим.
10. cj512 28 05.10.18 11:08 Сейчас в теме
А возможно опубликовать какой-то отчет?

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

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

Как было лучше сделать?
14. 🅵🅾️🆇 05.10.18 13:52 Сейчас в теме
(10)

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

Если вы хотите посчитать в 1с и отдать простой таблицей в PowerBI, то Я бы попробывал пойти 2 способами:
1) Регламентным заданием (ну или при изменении некого документа) формировать регистр сведений и отдавать уже его (возможно тут стоит применять регистры расчета, но Я в них не умею)
2) Опубликовать не OData, а http сервис (REST) и уже отдавать с помощью него.
18. zhogov 150 07.10.18 10:27 Сейчас в теме
(10)
А возможно опубликовать какой-то отчет?

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

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

Тоже самое через PowerBI будет в режиме реального времени и без промежуточных файлов. :)
19. cj512 28 08.10.18 12:50 Сейчас в теме
(18)
Тоже самое через PowerBI будет в режиме реального времени


Одной из причин такой реализации - это не делать множественного обращения к базе для формирования этого отчета, т.к. является достаточно тяжеловестным.
20. zhogov 150 08.10.18 13:38 Сейчас в теме
(19)
Одной из причин такой реализации - это не делать множественного обращения к базе для формирования этого отчета, т.к. является достаточно тяжеловестным.

Power BI кэширует данные. Периодичность обновления можно регулировать.
+ он может делать вычисления со своей стороны, а следовательно можно облегчить работу 1С.
16. kembrik 2 05.10.18 15:39 Сейчас в теме
Интересная какая штукенция. Надо попробовать на ней визуализировать состояние обменов данных
zhogov; ekolyev; +2 Ответить
21. zhogov 150 08.10.18 13:38 Сейчас в теме
(16) Ссылочку на триал надо? :)
30. kembrik 2 10.10.18 12:08 Сейчас в теме
(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
Источник

В настройках источника уровень конфиденциальности весь перепробовал.
TreeDogNight; +1 Ответить
44. mapt 22.11.18 20:19 Сейчас в теме
(30)
Подскажите как решить данную ошибку при загрузке данных?
Канал OData
1С 8.3.13.1576
УНФ 1.6.16.132
Power BI Desktop 2.64
Прикрепленные файлы:
45. kembrik 2 23.11.18 18:53 Сейчас в теме
(44) А публиковали эту конкретную таблицу через обработку? Через браузер к данному источнику подключаетесь?
46. mapt 25.11.18 22:25 Сейчас в теме
(45)
Обработка «Настройка автоматического REST-сервиса».
Публикация через IIS.
В браузере все загружается.
Если в Power BI загружать не весь справочник, а делать выборку только по нескольким столбцам, все ОК.
Скорей всего проглотить такой объем данных, Power BI не может.
22. DitriX 1690 08.10.18 16:42 Сейчас в теме
(0) Не увидел отличий от статьи 3х летней давности :)
https://infostart.ru/public/360077/
Поиском по статьям проходите перед публикацией.
Yakud3a; pbazeliuk; +2 Ответить
32. kembrik 2 10.10.18 19:15 Сейчас в теме
(22) "за время пути собачка могла подрасти". Статья отличная, а вот интерфейс не тот кардинально
33. zhogov 150 12.10.18 17:53 Сейчас в теме
(32)
а вот интерфейс не тот кардинально

В той статье рассматривался Power BI из магазина Windows-приложений.
Они отличаются.
37. kembrik 2 15.10.18 13:51 Сейчас в теме
(33) Я качал из MS Store -ничем не отличается от того что в вашей статье. Потом уже увидел "Стрелочку" загрузок в кабинете
31. kembrik 2 10.10.18 19:12 Сейчас в теме
Начал рисовать на BI мониторинг обменов данных. Из тех граблей, на которые успел наступить - в типовой УТ нет обработки "«Настройка автоматического REST-сервиса" - пришлось тащить из Бухи, заодно переделал роль соответствующему пользователю только на чтение объектов, чтобы "ни ни".

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

Продолжаю есть кактус
34. zhogov 150 12.10.18 17:55 Сейчас в теме
(31)
Настройка шлюза и собственно обновление данных - отдельное эротическое приключение, достойное статьи. Но без шлюза об регулярном обновлении можно забыть конечно.


Ну мы пошли по пути наименьшего сопротивления - доступ к OData есть из вне - 1С в Azure Болтается.
Далее. в рамках подписки Power BI Pro настроили автообновление.
36. kembrik 2 15.10.18 13:49 Сейчас в теме
(34) Вариант так сказать не самый дешевый. Мы решили сначала вытащить максимум из бесплатных вариантов а потом уже выбивать бюджет. Не очень получается если честно - УТ с добавленным функционалом ведёт себя весьма капризно и на OData плюнули как на ненадежный вариант, грузим подписками инфу в отдельную mssql базу а там уже цепляем к визуализации.
38. ak0710 135 20.10.18 00:27 Сейчас в теме
Работал с этим программным продуктом в прошлом году, столкнулся с проблемой при прямой выгрузке из SQL базы данных 1С, в том что PowerBI не чувствителен к регистру. 1С может записать одинаковые уникальные идентификаторы (GUID) в реляционную СУБД в одной таблице но с разным регистром. Приходилось использовать дополнительные ключи. Изначально интересовала идея быстро выгрузить данные и связать с помощью уникальных идентификаторов.

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

В данный момент используем QlikView для BI задач предприятия. Из плюсов можно получать данные из 1С в любом формате (я использую прямые запросы SQL), их структурировать и обрабатывать как угодно на стороне QV и выдавать результат. Минусы дороговизна лицензий.
39. leobrn 178 29.10.18 13:41 Сейчас в теме
А как будет выглядеть получение данных об оборотах и остатках из виртуальных таблиц 1С?
40. zhogov 150 01.11.18 16:37 Сейчас в теме
(39) Что именно Вас интересует - визуализация или техническая сторона?
41. leobrn 178 01.11.18 19:26 Сейчас в теме
Да в принципе все интересно т.к только начал погружаться в power bi) но больше конечно техническая часть.
42. zhogov 150 05.11.18 12:35 Сейчас в теме
(41) Ну техническая часть описана в статье. :)
Логика взаимосвязей данных может быть реализована в Power Bi.

Если есть конкретные вопросы - пишите в ЛС.
47. TreeDogNight 15 31.01.19 07:33 Сейчас в теме
Всем доброго времени суток! Подскажите, в чём может быть причина этой проблемы? Пытаюсь подключиться через Канал OData, в Excell подключается спокойно, а в PowerBI выходит ошибка (прикрепил скриншот).

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

В подробных сведениях написано следующее:

Feedback Type: Frown (Error) Timestamp: 2019-01-28T05:01:59.2000562Z Local Time: 2019-01-28T10:01:59.2000562+05:00 Session ID: 8e878905-5280-41af-a9c8-64af4e367341 Release: December, 2018 Product Version: 2.65.5313.1381 (18.12) (x64) Error Message: Не удалось загрузить схему модели. OS Version: Microsoft Windows NT 6.1.7601 Service Pack 1 (x64 ru-RU) CLR Version: 4.5 or later [Release Number = 378389] Peak Virtual Memory: 1.91 GB Private Memory: 358 MB Peak Working Set: 472 MB IE Version: 9.0.8112.16421 User ID: ae499a53-f32b-4914-9337-f474881fc5a1 Workbook Package Info: 1* - ru-RU, Query Groups: 0, fastCombine: Disabled, runBackgroundAnalysis: True. Telemetry Enabled: True Model Default Mode: Import Snapshot Trace Logs: C:\Users\ILYA\AppData\Local\Microsoft\Power BI Desktop\FrownSnapShot812566119.zip Performance Trace Logs: C:\Users\ILYA\AppData\Local\Microsoft\Power BI Desktop\PerformanceTraces.zip Disabled Preview Features: PBI_shapeMapVisualEnabled MIntellisense PBI_SpanishLinguisticsEnabled PBI_PdfImport PBI_ColumnProfiling PBI_variationUIChange PBI_PythonSupportEnabled PBI_showIncrementalRefreshPolicy PBI_showManageAggregations PBI_FuzzyMatching PBI_EnableWebDiagramView PBI_improvedFilterExperience PBI_qnaLiveConnect Disabled DirectQuery Options: PBI_DirectQuery_Unrestricted TreatHanaAsRelationalSource Cloud: GlobalCloud DPI Scale: 100% Supported Services: Power BI Formulas: section Section1; shared Запрос1 = let Источник = OData.Feed("localhost/NorthFoam/odata/standard.odata/AccumulationRegister_НачисленияСотрудников_RecordType?allowedOnly=true&$select=Period,Сотрудник,Подразделение_Key,Сумма", null, [Implementation="2.0"]) in Источник; shared Запрос2 = let Источник = OData.Feed("localhost/NorthFoam/odata/standard.odata/Catalog_Сотрудники?allowedOnly=true&$select=Ref_Key,Description", null, [Implementation="2.0"]) in Источник;
Прикрепленные файлы:
48. Semenoff2017 18.04.19 14:47 Сейчас в теме
День добрый!
В конторе используется 1С7.7 (УТ) переписанная до невозможности. В настоящее время переход на 8.3 ведется, но небыстро. Вся аналитика в 7-ке. А механизм есть - подружить Power Bi и 7.7?
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Бизнес-аналитик 1С
Санкт-Петербург
зарплата от 120 000 руб.
Полный день

Программист 1С
Москва
Полный день

Консультант-аналитик 1С
Москва
Полный день

Консультант ERP-систем
Москва
Временный (на проект)

Программист 1С
Москва
зарплата от 140 000 руб.
Полный день