Microsoft Power BI + 1С. Зачем и как?

69 Comments

  1. davdykin

    Спасибо, интересна как потенциальная возможность.

    Reply
  2. Dach

    Очень здорово! А я правильно понял, что эта среда (Power BI) позволяет скомпилить андроид-приложение, которое например будет коннектиться к базе 1С по вебу и тоже строить графики?

    Reply
  3. DoctorRoza

    Конечно, тут нужно смотреть более детально, только (ИМХО) и штатная СКД ТАКОЕ выведет. Тут интересны больше воронки, пирамидки и т. п. фигуры и, обязательно, с цветовой гаммой. До кучи. чтобы были кликабельны с расшифровкой. И совсем полный абзац, если можно строить кубы-данных. А если нет, то .. ну с пивом потянет! 🙂

    Reply
  4. DitriX

    (2) нет, это что то типо тонкого клиента, т.е. вы ставите с маркета приложение (под андроид пока нет, но есть под iOS) подключаете учетку и вперед. Т.е. ничего компилить не надо в этом и весь прикол 🙂

    (3) ну так вот тут все это можно, и делается это все просто, а в скд — это на все надо вешать обработчики.

    Reply
  5. yyb

    Поднял IIS на windows 8.1, опубликовал базу (УТ 10.3 платформа 8.3.6.2014) на вэб сервере. Вэб клиент работает, «все функции» работают. При запросе данных odata http://localhos/<имябазы>/odata/standard.odata запрашивает имя/пароль. Имя пользователя/пароль базы 1С не проходит. В чем может быть проблема?

    Reply
  6. DoctorRoza

    (5) yyb, очень возможно, что нужно создать пользователя и пароль на латинице.

    Reply
  7. DitriX

    (5) таки да, первое правило — это латиница в логине и пароле 🙂

    Reply
  8. Franco

    Если затребует логин/пароль к

    http://apps.1c-dn.com/sb/odata/standard.odata/

    то введите Demo и пустой пароль

    Reply
  9. yyb

    Проблема решена путем создания пустых папок OdataStandard.odata в папке inetpubwwwroot<имя базы>.

    Reply
  10. detec

    ИМХО, показуха для презентаций. 1С 8 — это не просто база данных, а виртуальные таблицы для регистров накопления. там, где их нет, отчёт будет строиться очень долго. Тем более, когда записи будут тянуться через веб-сервер в текстовом формате куда-то в облако и возвращаться в сгруппированном виде.

    Reply
  11. DitriX

    (10) открою секрет — тут их нет 🙂 через OData не тянуться виртуальные таблицы. Только если их брать через скуль, на сколько я понял.

    Та и в целом, там где их нет — и 1с будет долго строить отчеты.

    А вообще — это просто идеальный вариант отчета руководителю. 🙂

    Reply
  12. xzorkiix

    (11) воу-воу любезный, через oData всё тянется

    В REST интерфейсе доступны реквизиты объектов конфигурации, доступны операции создания, чтения, модификации и удаления данных, а также некоторые методы встроенного языка. Например:

    Для документа — проведение и отмена проведения;

    Для задачи — выполнение;

    Для бизнес-процесса — старт;

    Для регистра сведений — получение среза первых и среза последних;

    Для регистра накопления и регистра бухгалтерии — получение остатков, оборотов, остатков и оборотов;

    Для регистра расчета — получение данных графика, фактического периода действия, перерасчета и базы.

    пруф 1

    В REST интерфейсе доступны реквизиты объектов конфигурации, доступны операции создания, чтения, модификации и удаления данных, а также некоторые методы встроенного языка. Например:

    Для документа — Post() и Unpost();

    Для задачи — ExecuteTask();

    Для бизнес-процесса — Start();

    Для регистра сведений — SliceLast() и SliceFirst();

    Для регистра накопления и регистра бухгалтерии — Balance(), Turnovers() и BalanceAndTurnovers();

    Для регистра расчета — ScheduleData(), ActualActionPeriod(), <ИмяПерерасчета>() и Base<Имя базового регистра расчета>().

    пруф 2

    Reply
  13. DitriX

    (12) И действительно. век живи — два учись. Как то оно мне не надо было, и вообще пропустил что такое есть 🙂

    Для остальных — писать надо так:

    http://apps.1c-dn.com/sb/odata/standard.odata/AccumulationRegister_Sales/Turnovers()

    Т.е. в конце через слеш добавляем тип виртуальной таблицы.

    Reply
  14. tormozit

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

    Reply
  15. DitriX

    ну так в самом мост запросе, сам протокол поддерживает отборы, например, вот:

    http://host/odata/standard.odata/Catalog_Товары?$filter=Имя eq ‘Молоко’ and Цена lt 2500

    В итс это разжевано

    Reply
  16. tormozit

    (15) Так а этот BI умеет такие фильтры дописывать исходя от настроек заданных пользователем? Это ж вроде не относится к стандарту OData.

    Reply
  17. DitriX

    (16) не, суть его в том, что в БИ выгружаются все данные, а потом он строит свои отборы.

    К примеру, у вас есть два человек, у одного доступ к одной организации, а другого — к другой.

    А данные находятся в одной таблице 1С.

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

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

    А во отборы по товару — они уже делают локально, без образещения к серверу на основании своих данных.

    Короче, есть 1 ЦБ и есть 2РБД, вы в каждую РБД грузите данные по главным отборам, а уже в каждой из них — стоите отчеты по полученным данным 🙂

    Как то так 🙂

    Reply
  18. tormozit

    (17) В общем ограничения доступа здесь являются серьезной сложностью. Закачивать все свои бизнес данные в неведомое облако тоже не каждый управленец захочет. Но уверен, что и такой подход найдет своих пользователей.

    Reply
  19. Steelvan

    Хм… Сколько все это стоит ?

    Уверен что MS (как и все жадные американские конторы), тем более для корпоративных приложений, ставят конкретный ценник.

    Сейчас все более-менее высокие чиновники переходят на простые раскладушки (подальше от прослушек сами знаете кем), а вы предлагаете САМИМ все это ИМ отправлять. хе-хе…

    Reply
  20. Steelvan

    Reply
  21. DitriX

    (19) а у вас смартфон эппле или гугл? а может блэкбери? или вин фон. А сидите за какой ОС?

    А офис какой вы юзаете? А по скайпу файлы передаете?

    Короче — я бы с вами не спорил, если бв я говорил про какого то поставщика услуг, о котором никто ничего не знает.

    Но Карл! Это Майкрософт! Карл!!! Он и так все о всех знает.

    А вот вы при обмене данными поднимаете хотябы https или тунель? подписываете ключом 2048бит? Думаю фиг.

    Поэтому давайте не будем 🙂

    Reply
  22. DitriX

    (19)

    Хм… Сколько все это стоит ?

    Давайте поиграем в игру — прежде чем писать камменты, вы прочтете статью 🙂

    Reply
  23. DitriX

    (18) безусловно. Если мы говорим о финансовых показателях — то тут вопрос такой, с подвохом. А если мы говорим про остатки товара, долги контрагентов, план закупок, то тут очень даже ничего.

    Ну а во вторых — это все таки Майкрософт, а уж они, если захотят, то могут получить вообще всё! 🙂

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

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

    Reply
  24. vabue

    В продакшне ещё долго ждать пока в 8.3.8 появится поддержка $top оператора odata.

    А без этого и Power Query, и Power BI designer работают криво.

    Reply
  25. DitriX

    (24) ну смотря для каких задач, это раз. А два — мы можете сами отобрать даныые уже в повер би.

    Reply
  26. vabue

    Играюсь с ним дальше — в один прекрасный момент Power Desktop BI начал загружать только схему, а данные не берёт, пустая таблица.

    В Excel при этом те же данные прекрасно загружаются. Никто с таким не встречался?

    Reply
  27. DitriX

    (26) а лицензию купили? Может триал закончился?

    Reply
  28. vabue

    (27) нам бесплатно профессиональных лицензий перепадает — серебрянные партнёры MS.

    Reply
  29. vabue

    Похоже причина — платформа 8.3.5. Будем обновляться.

    Reply
  30. DitriX

    Там был один баг в 8.3.5, который заключался в том, что в случае вывода данных в виде OData — два раза дублировался тег Родитель. Ну и ясное дело Power Bi не хотел с этим работать

    Reply
  31. vabue

    А в 8.3.7 вот такое http://take.ms/UvsZA

    Даже на http://apps.1c-dn.com/sb/odata/standard.odata/

    Какой-то очень балованный этот PowerBI. 8.3.6 мы как-то пропустили на продакшне.

    Reply
  32. vabue

    Если напрямую дёргать урлы регистров — можно работать.

    Но для 100МБ+ xml сиё не подходит. Память кушает гигабайтами. Надо начальный ETL какой-то делать. Или засовывать ODATA MS SQL, для него Direct Query есть.

    Reply
  33. DitriX

    (32) Ну так конечно, поэтому майкрософт и предлагает свой сервер. Т.е. типо промежуточный.

    И таки давайте открыто — PowerBi не для гигабайтов данных.

    Это так, вывести основные показатели, не более. Иначе надо много терабайт оперативки, что бы крутить целый анализ 🙂

    Reply
  34. Гость

    Огромное спасибо за эту статью и все комментарии к ней. Я обычный юзер экселя, и я тащусь от PQ и PBI, потому что это позволяет в разы увеличить продуктивность в работе с коллегами и руководством. Руководство хочет видеть остатки на банковских счетах наших организаций. Подняли веб-сервер, установил внешнюю обработку, сменил логин на латиницу и наконец-то могу тянуть оттуда данные. К сожалению, я не понимаю, где их (остатки на счетах) там искать. В обработке какой-то адский классификатор, с которым не совсем понятно, как работать. Подскажите, пожалуйста, где посмотреть, как устроена модель данных внутри 1С, из каких объектов что тянуть!

    Reply
  35. spawn8995

    а тянуть ты как хочешь?

    Reply
  36. Гость

    (35) spawn8995, через OData из Excel (Power Query) и из Power BI. Я могу вытянуть оттуда всякие каталоги валют, банковские счета (правда непонятно, что это за банковские счета, их там в разы больше, чем наших. по всей видимости всех наших контрагентов). но где там лежат понятные и нужные бухгалтерские цифры (остаток денежных средств на банковском счете) я не вижу… Может быть, в ИТС есть какой-то каталог объектов 1С для простых смертных аналитиков?.. потому что я не разработчик и не IT

    Reply
  37. vabue

    standard.odata/$metadata немножко связи показывает. Но судя по моей практике, что без понимания справочников и разных видов регистров даже стороннему разработчику с одатой делать нечего.

    Reply
  38. DitriX

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

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

    Короче — вам сюда http://its.1c.ru/db/v836doc#bookmark:dev:TI000001358

    Reply
  39. Гость

    (38) спасибо! буду учить матчасть) узнал, что такое сущность, раньше знал только объект из CRM.

    vabue, спасибо, вижу там RelationShip, по всей видимости это связи между таблицами / сущностями?.. в общем немножко стало понятно, откуда начинать. буду колупаться потихоньку.

    нашел сущность БанковскиеВыписки, там проводки видно) надеюсь, до остатков недалеко.

    А есть такая сущность «Остаток» или это сумма всех проводок по 51 счету?

    В смысле мне искать эту цифру или ее нужно рассчитать?

    еще вопрос такой: когда возникает, скажем так, промышленная потребность в создании отчетов PBI/1C, какие есть компании / профессионалы, которые уже достаточно подковались в этом? А то наш вендор 1С, когда поставили вопрос про OData дня 3 искал у себя в филиальной сети специалиста, который объяснил, с чего надо вообще начать.

    Reply
  40. Гость

    Сошлось! это просто фантастика… Сумма по Журналу «Банковские выписки» и есть фактический Остаток на счете.

    Reply
  41. DitriX

    (40) только не надо так делать 🙂

    Вас интересует таблица остатков этого журнала, это виртуальная таблица.

    Для регистра накопления и регистра бухгалтерии — Balance(), Turnovers() и BalanceAndTurnovers();

    Т.е. ВашАдресРегистрБанковскихСчетовBalance()

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

    http://v8.1c.ru/o7/201312rest/

    Reply
  42. Гость

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

    Полагаю, названия этих регистров могут различаться в зависимости от версии 1С и надстройки вендора.

    Это правда натолкнуло на другой вопрос: есть ли более удобный список редактирования состава ОДата? а то в обработке по ссылке просто список очень длинный, по нему ни поиском в 1С, никак… и вообще слишком много всего. Очевидно, для подкованных пользователей.

    Reply
  43. hohlick

    (32) vabue, какой-никакой ETL в PowerBI есть — Get Data, это тот же PowerQuery в Excel. Не знаю всей специфики работы с OData, но при работе с SQL грамотно составленный запрос фолдится и вся предварительная обработка выполняется на стороне сервера. А затем уже тщательно отобранные данные можно вертеть как угодно.

    Reply
  44. zidkov

    Спасибо за статью

    Исходя из

    «Все, что надо для того, чтобы приступить к работе — установить веб-сервер, обновить платформу до 8.3.6 (может и с 8.3.5 будет работать, я не тестил, главное, чтобы там не было багов в платформе), вытянуть данные и скомпоновать их.»

    получается нужно именно веб-сервер?

    а напрямую на сервер, без веба никак?

    Reply
  45. DitriX

    (44) zidkov, в смысле?

    Reply
  46. TreeDogNight

    Можно вопрос не по теме: с помощью какого софта вы делаете GIF-ки как на 1м скрине?

    Reply
  47. DitriX

    (47) TreeDogNight, есть такая программка Camtasia Studio. У нее вобще гифки выходят шикарнейшие, так как она очень качественно сжимает гифки, по умному 🙂

    Reply
  48. TreeDogNight

    (48) Спасибо, попробую!)

    Reply
  49. user720857

    очень интересно. к 1С еще не подключался)

    Reply
  50. WKBAPKA

    Попробывал, работает

    Скажите, а связь между графиками, как я понял, настраивается автоматом?

    Reply
  51. DitriX

    (51) угу, в том и прелесть 🙂

    Reply
  52. WKBAPKA

    Все, разобрался.

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

    Reply
  53. WKBAPKA

    А если у нас есть два регистра, Продажи и Продажи себестоимость

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

    Ведь на одну запись в регистре «Продажи», может быть несколько записей в регистре «Продажи себестоимость»

    соответственно при создании связей оно ругается, что вообщем то логично

    Reply
  54. WKBAPKA

    Слияние запросов?

    Reply
  55. WKBAPKA

    Сам спросил, сам ответил. Слиянием запросов

    Reply
  56. WKBAPKA

    покрутил я этот power BI, появился ряд вопросов к power Query, например, выполнить расчет данных аналогичного периода, можно использовать DAX, но не все так просто в датском королевстве.

    Есть там язык М в power Query, но с ним еще надо научиться работать 🙂 а у кого спросить, хз

    Reply
  57. DitriX

    (57) На форуме мелкософта 🙂

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

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

    Reply
  58. WKBAPKA

    там у них все на буржуйском… )

    на самом деле их power Query используется и в Excel, можно пошариться по русскоязычным форумам и поучиться приемам

    Reply
  59. wiseowl

    Здравствуйте. Может быть вы сможете мне подсказать…

    Нужно реализовать все тоже самое, но как это можно сделать без использования веб сервера?

    Мне сказали что все делается через REST API, типо из 1С подключиться к BI через HTTP запрос и закинуть туда данные. Но я не знаю как это реализовать…

    По сути надо сделать как тут описано, но только с BI https://infostart.ru/public/574117/

    Может подкинете ссылок полезных чтобы почитать…

    Reply
  60. ditp

    Коллеги, подскажите.

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

    Можно как то обойти?

    Reply
  61. zxcvb98765

    Здравствуйте, коллеги.

    Сталкивался ли кто с такой ошибкой: после установки соединения в момент выбора одной из доступных таблиц для загрузки данных (например, «Catalog_Банки») Power BI выдает ошибку: «DataSource.Error: OData: Документ метаданных канала, вероятно, недопустим.»?

    Reply
  62. byun

    (62) Попробуйте прописать прямую ссылку на объект: Адрес/имяббазы/odata/standard.odata/Catalog_Банки

    Reply
  63. user855724

    Доброго времени суток. Я правильно понимаю,что с с 7-чной базой 1С SQL продукт не заработает?

    Reply
  64. dimens

    Наткнулся на практическую демонстрацию сопряжения 1С и Power BI на http://www.youtube.com

    Reply
  65. TreeDogNight

    Всем доброго времени суток! Подскажите, в чём может быть причина этой проблемы? Пытаюсь подключиться через Канал 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:UsersILYAAppDataLocalMicrosoftPower BI DesktopFrownSnapShot812566119.zip Performance Trace Logs: C:UsersILYAAppDataLocalMicrosoftPower BI DesktopPerformanceTraces.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 Источник;

    Reply
  66. user1051670

    Коллеги, здравствуйте

    У кого-нибудь были проблемы при попытке подключения через Power BI Desktop к 1C ODATA каналу с русскими буквами в URL ?

    Если да, то смогли ее как-либо решить ?

    Заранее благодарен за информацию

    Reply
  67. KAV2

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

    Reply
  68. user875791
    Если же у вас, при подключении к вашей базе, появилось сообщение о том, что не найдена сущность, то вам сюда //infostart.ru/public/297325/

    А лучше сюда: https://infostart.ru/public/914689/

    Reply
  69. FreeArcher

    Приветствую! Скажите, кто с какими объемами данных пробовал работать, что то на реальных данных, где товаров под 90k уже не дождаться результата? А регистры и пытаться не стоит загружать.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *