gifts2017

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

Опубликовал Дмитрий Шерстобитов (DitriX) в раздел Программирование - Инструментарий

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

Продолжаем нашу эпопею с мобильным миром. И сегодня я хочу поговорить о вот таком вот продукте Microsoft Power BI.

Что есть такое Microsoft Power BI?

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

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

Вот так и с этими описаниями, посему – давайте я попробую описать все это своими словами.

Если выражаться словами 1Сника, то:

Microsoft Power BI – это СКД. Вот и все J

Но вот только СКД в более глобальном плане. Т.е. если в СКД мы можем взять данные из БД или, например, из неких внешних источников данных. То в BI – мы берем все данные из внешних источников и рисуем из них красивые и живые графики. Причем не такие живые в 1С, а реально – интерактивные графики со взаимосвязями и т.д. Хотя ради справедливости стоит заметить, что то же самое можно сделать и в 1С, но не так удобно.

Немного теории

BI– это облачный сервис, где хранятся ваши данные и ваши отчеты. Да, да. Как я и говорил ранее – BI очень похоже на отчеты на СКД.

Как вы понимаете – отчеты надо где-то писать. Посему существует конфигуратор Power BI Designer, где вы этим и занимаетесь. Скачивайте его отсюда.

Естественно, что раз есть место, где мы отчеты пишем, значит, должно быть место, где мы их смотрим. И таких мест несколько:

  • 1.       Сама среда, где мы их пишем. Ну это логично, но полезно только нам;
  • 2.       Веб-интерфейс;
  • 3.       iOS устройства;
  • 4.       Windows устройства, могут установить в стиле метро. Те, у кого Win 8/8.1. Смотрится реально футуристично, особенно на больших мониторах.
  • 5.       Android устройства. «Androidappisontheway». Ждем.

Логика работы

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

  • 1.       Регистрацию аккаунта. Тут можно посмотреть цены, но есть и бесплатная версия, так что тестировать можно. Конечно, для запада цена в 10$ с пользователя в месяц – это мелочь, а вот для наших стран – это-таки немало. Хотя опять же, даже если взять фирму в 500 человек, скольким сотрудникам понадобится такой функционал?
  • При регистрации учтите один момент – она выполняется слева внизу, где указываете почту. Если зайти в Sign in – там только авторизация.
  • 2.       Необходимо запустить конфигуратор Power BI Designer, тот, который вы скачали ранее.
  • 3.       В конфигураторе мы делаем все, что мы хотим, формируем внешний вид и т.д., потом сохраняем файл проекта.
  • 4.       Теперь файл проекта нам надо подтянуть в нашу учетку, чтобы изменения сохранились там.
  • 5.       Авторизуясь под своим аккаунтом на мобильном устройстве или в клиенте для Windows – подхватываются ваши настройки.
  • 6.       Получить удовольствие.

Работа с конфигуратором

Теперь давайте разберемся с тем, как все-таки строить отчеты и как получать данные?

Получение данных

При первом открытии вас встретит помощник. Закрываем его. И удаляем все лишнее. У нас должно остаться только вот такое вот окошко:

Пока не будем вдаваться в подробности о назначении всех кнопочек. А попробуем ответить на вопрос – как нам получить данные?

В погоне за ответом мы должны нажать кнопку «GetData», - та, что слева вверху, нас встретит вот такой диалог:

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

Первое, что нам надо сделать – это, конечно же, найти донора, т.е. базу, из которой мы будем все эти данные тащить.

Есть несколько вариантов:

  • 1.       Поднять свой веб-сервер, и данные тащить оттуда. Но такой вариант неудобен для обучения, так как я свой сервер не дам в публичный доступ.
  • 2.       Пойти на сайт 1С, где есть демо-конфигурации, и попытать счастья там, в надежде, что хоть в одной из них открыт OData. Убедиться, что это не так, и закрыть сайт.
  • 3.       Пойти на англоязычный сайт 1С, присмотреть там какую-то базу, у которой открыт доступ через OData. И найти такую.

Итак, останавливаемся на УНФ, проверить, что ODataдоступен, можно вот таким путем:

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

Если вы там видите список метаданных, то все ок.

Теперь давайте проверим справочник, например, справочник товаров:

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

Как видите, мы к первому адресу просто прибавили имя справочника и обозначение, что это справочник, в русскоязычных конфигураторах он бы выглядел вот так:

http://apps.1c-dn.com/sb/odata/standard.odata/Catalog_Номенклатура

Когда мы перейдем по этому URL, мы должны увидеть xml, который будет описывать каждый элемент справочника, однако, все зависит от браузера, FireFox выводит эти данные в виде RSS ленты. Но сути это не меняет.

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

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

Итак, первым делом – нам надо понять, где хранятся продажи. Они точно хранятся в регистре накоплений, а этот регистр обозначается в OData, как AccumulationRegister. Вот их и ищем. Нам в этом помогут элементарные знания инглиша. А вот и наш регистр AccumulationRegister_Sales. Проверяем:

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

Если видим xml, то все ок.

Теперь идем в наш BI конфигуратор, выбираем в нем строку с OData, ту, что я выделил желтым на скрине выше и жмем Connect, далее заполняем все, что надо:

Теперь нас встретит следующее окно:

Тут нам сообщается о том, что у нас не указана авторизация. Надо указать. Причем обратите внимание, вы авторизацию можете указать как в целом для домена, так и для конкретного адреса, как указать авторизацию для конкретной базы – я не нашел, но это нам сейчас и не важно.

Слева нам надо выбрать тип авторизации. В нашем случае – это авторизация по типу Basic:

Указываем логин без пароля и жмем connect. Должна начаться загрузка данных. После нее – у вас появятся слева поля:

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

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

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

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

Это окно работы с запросами. Слева вверху будут доступны все запросы, которые вы добавите.

По центру сверху – строка подключения. По сути – это текст запроса, тут указываются и отборы, и пути и т.д.

Справа у нас идет название запроса и последовательность шагов.

Вот на последовательности мы немного поговорим. Суть ее сводится к тому, что мы описываем в ней пошагово правила, которые хотим применить к нашим данным. Т.е. если вы хотите удалить колонку, то надо указать в каком времени – это будет шаг номер 2, или номер 10. Дальше станет понятней.

Итак, у нас есть всего три колонки. С чем это связано? Давайте внимательно посмотрим на xml, который нам отдает 1С и найдем то место, где начинается список, т.е. в случае OData нам возвращается не построчное представление регистра, как мы привыкли, а выводится сначала информация о регистраторе, а потом уже вложены в него его движения.

Ну а нас интересуют именно эти строки. Давайте теперь выделим любой элемент в средней колонке и внизу увидим вот такое сообщение:

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

Теперь у нас 50 строк. Т.е. мы развернули все построчно, а ранее было сгруппировано по регистратору, если говорить словами 1С.

Но нас это не устраивает, нам мало колонок, я думаю, вы догадались, что надо сделать – жмем еще раз на ту кнопку в заголовке:

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

И жмем ОК:

Обратите внимание – у нас справа заполнился список действий, т.е. в нашем случае действия такие:

  • 1.       Получить данные;
  • 2.       Развернуть данные;
  • 3.       Развернуть данные.

И сразу обратите внимание на формулу вверху.

Теперь нам надо решить проблему, потому что нас совсем не устраивает наименование товара в виде UID. Я сомневаюсь, что такой вид будет информативен.

Значит, нам надо теперь вывести информацию по товару, давайте мы это сделаем объединением таблиц товара и продаж.

Для этого – добавляем новый запрос, но уже к справочнику товаров http://apps.1c-dn.com/sb/odata/standard.odata/Catalog_Nomenclature, точно так же, как и продаж, и переименуем эти таблицы, чтобы не путаться:

Обратите внимание – я сразу применил несколько шагов к данным о товаре, а именно:

  • 1.       Получил данные:
  • = OData.Feed("http://apps.1c-dn.com/sb/odata/standard.odata/Catalog_Nomenclature")
  • 2.       Удалил лишние колонки:
  • = Table.RemoveColumns(Source,{"SKU", "ChangeDate", "WriteOffMethod", "DescriptionFull", "BusinessActivity_Key", "Vendor_Key", "Cell_Key", "Comment", "OrderCompletionTerm", "TimeNorm", "FixedCost", "CountryOfOrigin_Key", "PictureFile_Key", "Parent_Key", "DataVersion"})
  • 3.       Отфильтровал записи, убрал все группы:
  • = Table.SelectRows(#"Removed Columns", each ([IsFolder] = false))

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

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

Идем дальше, теперь у нас есть две таблицы, и точно так же, как и в случае с 1С, мы должны их объединить. Есть два способа, как можно это сделать:

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

Мы их разберем оба. Итак. Сначала мы просто делаем объединение. Для этого идем на вкладку Отчеты (слева внизу) и нажимаем кнопку Manage:

И настраиваем связи:

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

А теперь идем уже строить отчеты:

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

Теперь давайте попробуем еще добавить сюда номенклатурные группы товара. По идее, надо было бы добавить еще один запрос с номенклатурными группами и связать их с полем NomenclatureGroup_Key в запросе номенклатур. Однако нам это не понадобится. Идем в самый конец, смотрим на последние колонки в запросе Номенклатура.

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

Перенос данных на свою учетку

После всего этого – сохраняем полученный нами отчет. Он, кстати, прикреплен к статье. Так что можете его скачать из прикрепленных файлов к этой статье.

Далее идем в наш аккаунт на сайте:

Нажимаем GetData, выбираем пункт PowerBIDesignerFile и жмем Connect, далее выбираем файл и еще раз жмем Connect.

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

А теперь давайте зайдем в приложение iOS и посмотрим, как оно выглядит там:

Вот и все.

Итог

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

Если хорошо знать OData, то сделать такого рода отчет можно за несколько минут. И кроме этого – для простоты работы и меньшей нагрузки на БД можно просто создать отдельный регистр сведений, куда скидывать сразу всю нужную информацию, а этим решением забирать ее и выводить.

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

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

Т.е. для программиста это займет от силы несколько часов. А результат - отличный.

P.S. Не забудьте про безопасность данных!

Скачать файлы

Наименование Файл Версия Размер Кол. Скачив.
Файл настроек
.pbix 438,10Kb
25.05.15
12
.pbix 438,10Kb 12 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Призрак (davdykin) 25.05.15 20:26
Спасибо, интересна как потенциальная возможность.
2. Роман С (Dach) 26.05.15 10:07
Очень здорово! А я правильно понял, что эта среда (Power BI) позволяет скомпилить андроид-приложение, которое например будет коннектиться к базе 1С по вебу и тоже строить графики?
3. Алексей Роза (DoctorRoza) 26.05.15 10:18
Конечно, тут нужно смотреть более детально, только (ИМХО) и штатная СКД ТАКОЕ выведет. Тут интересны больше воронки, пирамидки и т. п. фигуры и, обязательно, с цветовой гаммой. До кучи. чтобы были кликабельны с расшифровкой. И совсем полный абзац, если можно строить кубы-данных. А если нет, то .. ну с пивом потянет! :)
4. Дмитрий Шерстобитов (DitriX) 26.05.15 11:58
(2) нет, это что то типо тонкого клиента, т.е. вы ставите с маркета приложение (под андроид пока нет, но есть под iOS) подключаете учетку и вперед. Т.е. ничего компилить не надо в этом и весь прикол :)
(3) ну так вот тут все это можно, и делается это все просто, а в скд - это на все надо вешать обработчики.
DoctorRoza; +1 Ответить
5. Юрий Баянов (yyb) 26.05.15 16:16
Поднял IIS на windows 8.1, опубликовал базу (УТ 10.3 платформа 8.3.6.2014) на вэб сервере. Вэб клиент работает, "все функции" работают. При запросе данных odata http://localhos/<имябазы>/odata/standard.odata запрашивает имя/пароль. Имя пользователя/пароль базы 1С не проходит. В чем может быть проблема?
6. Алексей Роза (DoctorRoza) 26.05.15 16:22
(5) yyb, очень возможно, что нужно создать пользователя и пароль на латинице.
7. Дмитрий Шерстобитов (DitriX) 26.05.15 16:28
(5) таки да, первое правило - это латиница в логине и пароле :)
8. Франко Деллиани (Franco) 26.05.15 22:57
Если затребует логин/пароль к
http://apps.1c-dn.com/sb/odata/standard.odata/
то введите Demo и пустой пароль
9. Юрий Баянов (yyb) 27.05.15 09:25
Проблема решена путем создания пустых папок Odata\Standard.odata в папке \inetpub\wwwroot\<имя базы>.
10. Андрей Д. (detec) 27.05.15 09:54
ИМХО, показуха для презентаций. 1С 8 - это не просто база данных, а виртуальные таблицы для регистров накопления. там, где их нет, отчёт будет строиться очень долго. Тем более, когда записи будут тянуться через веб-сервер в текстовом формате куда-то в облако и возвращаться в сгруппированном виде.
11. Дмитрий Шерстобитов (DitriX) 27.05.15 13:24
(10) открою секрет - тут их нет :) через OData не тянуться виртуальные таблицы. Только если их брать через скуль, на сколько я понял.
Та и в целом, там где их нет - и 1с будет долго строить отчеты.

А вообще - это просто идеальный вариант отчета руководителю. :)
12. Евгений Шабалин (xzorkiix) 01.06.15 09:56
(11) DitriX, воу-воу любезный, через oData всё тянется

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

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


пруф 1

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

Для документа - Post() и Unpost();
Для задачи - ExecuteTask();
Для бизнес-процесса - Start();
Для регистра сведений - SliceLast() и SliceFirst();
Для регистра накопления и регистра бухгалтерии - Balance(), Turnovers() и BalanceAndTurnovers();
Для регистра расчета - ScheduleData(), ActualActionPeriod(), <ИмяПерерасчета>() и Base<Имя базового регистра расчета>().


пруф 2
13. Дмитрий Шерстобитов (DitriX) 01.06.15 11:55
(12) И действительно. век живи - два учись. Как то оно мне не надо было, и вообще пропустил что такое есть :)
Для остальных - писать надо так:
http://apps.1c-dn.com/sb/odata/standard.odata/AccumulationRegister_Sales/Turnovers()
Т.е. в конце через слеш добавляем тип виртуальной таблицы.
14. Сергей Старых (tormozit) 28.07.15 09:41
Как отбор то накладывать при извлечении данных? Без отбора, кажется, любая большая таблица сильно нагрузит канал и заставит долго ждать пользователя.
15. Дмитрий Шерстобитов (DitriX) 28.07.15 11:56
ну так в самом мост запросе, сам протокол поддерживает отборы, например, вот:
http://host/odata/standard.odata/Catalog_Товары?$filter=Имя eq 'Молоко' and Цена lt 2500
В итс это разжевано
16. Сергей Старых (tormozit) 28.07.15 15:32
(15) Так а этот BI умеет такие фильтры дописывать исходя от настроек заданных пользователем? Это ж вроде не относится к стандарту OData.
17. Дмитрий Шерстобитов (DitriX) 28.07.15 19:32
(16) не, суть его в том, что в БИ выгружаются все данные, а потом он строит свои отборы.
К примеру, у вас есть два человек, у одного доступ к одной организации, а другого - к другой.
А данные находятся в одной таблице 1С.
Но, каждый из них, должен уметь строить отчеты с отбором по товару.
Поэтому, в момент получения данных из 1с - вы ставите фильтр на организацию, и только на нее. После загрузки - у этих двоих будут данные только по своим организациям.
А во отборы по товару - они уже делают локально, без образещения к серверу на основании своих данных.

Короче, есть 1 ЦБ и есть 2РБД, вы в каждую РБД грузите данные по главным отборам, а уже в каждой из них - стоите отчеты по полученным данным :)
Как то так :)
18. Сергей Старых (tormozit) 29.07.15 00:43
(17) В общем ограничения доступа здесь являются серьезной сложностью. Закачивать все свои бизнес данные в неведомое облако тоже не каждый управленец захочет. Но уверен, что и такой подход найдет своих пользователей.
19. Игорь Steelvan (Steelvan) 29.07.15 10:25
Хм... Сколько все это стоит ?

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

Сейчас все более-менее высокие чиновники переходят на простые раскладушки (подальше от прослушек сами знаете кем), а вы предлагаете САМИМ все это ИМ отправлять. хе-хе...
20. Игорь Steelvan (Steelvan) 29.07.15 10:46
21. Дмитрий Шерстобитов (DitriX) 29.07.15 11:52
(19) а у вас смартфон эппле или гугл? а может блэкбери? или вин фон. А сидите за какой ОС?
А офис какой вы юзаете? А по скайпу файлы передаете?
Короче - я бы с вами не спорил, если бв я говорил про какого то поставщика услуг, о котором никто ничего не знает.
Но Карл! Это Майкрософт! Карл!!! Он и так все о всех знает.
А вот вы при обмене данными поднимаете хотябы https или тунель? подписываете ключом 2048бит? Думаю фиг.

Поэтому давайте не будем :)
22. Дмитрий Шерстобитов (DitriX) 29.07.15 11:55
(19)
Хм... Сколько все это стоит ?

Давайте поиграем в игру - прежде чем писать камменты, вы прочтете статью :)
23. Дмитрий Шерстобитов (DitriX) 29.07.15 11:58
(18) безусловно. Если мы говорим о финансовых показателях - то тут вопрос такой, с подвохом. А если мы говорим про остатки товара, долги контрагентов, план закупок, то тут очень даже ничего.
Ну а во вторых - это все таки Майкрософт, а уж они, если захотят, то могут получить вообще всё! :)

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

В общем на каждое решение - свой покупатель.
24. Валентин Будкин (vabue) 07.09.15 22:36
В продакшне ещё долго ждать пока в 8.3.8 появится поддержка $top оператора odata.
А без этого и Power Query, и Power BI designer работают криво.
25. Дмитрий Шерстобитов (DitriX) 08.09.15 10:15
(24) ну смотря для каких задач, это раз. А два - мы можете сами отобрать даныые уже в повер би.
26. Валентин Будкин (vabue) 13.09.15 15:41
Играюсь с ним дальше - в один прекрасный момент Power Desktop BI начал загружать только схему, а данные не берёт, пустая таблица.

В Excel при этом те же данные прекрасно загружаются. Никто с таким не встречался?
27. Дмитрий Шерстобитов (DitriX) 13.09.15 21:02
(26) а лицензию купили? Может триал закончился?
28. Валентин Будкин (vabue) 30.09.15 23:58
(27) DitriX, нам бесплатно профессиональных лицензий перепадает - серебрянные партнёры MS.
29. Валентин Будкин (vabue) 13.12.15 01:50
Похоже причина - платформа 8.3.5. Будем обновляться.
30. Дмитрий Шерстобитов (DitriX) 13.12.15 13:55
Там был один баг в 8.3.5, который заключался в том, что в случае вывода данных в виде OData - два раза дублировался тег Родитель. Ну и ясное дело Power Bi не хотел с этим работать
31. Валентин Будкин (vabue) 16.12.15 11:28
А в 8.3.7 вот такое http://take.ms/UvsZA

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

Какой-то очень балованный этот PowerBI. 8.3.6 мы как-то пропустили на продакшне.
32. Валентин Будкин (vabue) 16.12.15 20:58
Если напрямую дёргать урлы регистров - можно работать.

Но для 100МБ+ xml сиё не подходит. Память кушает гигабайтами. Надо начальный ETL какой-то делать. Или засовывать ODATA MS SQL, для него Direct Query есть.
33. Дмитрий Шерстобитов (DitriX) 17.12.15 00:33
(32) Ну так конечно, поэтому майкрософт и предлагает свой сервер. Т.е. типо промежуточный.
И таки давайте открыто - PowerBi не для гигабайтов данных.
Это так, вывести основные показатели, не более. Иначе надо много терабайт оперативки, что бы крутить целый анализ :)
34. Гость 03.02.16 18:20
Огромное спасибо за эту статью и все комментарии к ней. Я обычный юзер экселя, и я тащусь от PQ и PBI, потому что это позволяет в разы увеличить продуктивность в работе с коллегами и руководством. Руководство хочет видеть остатки на банковских счетах наших организаций. Подняли веб-сервер, установил внешнюю обработку, сменил логин на латиницу и наконец-то могу тянуть оттуда данные. К сожалению, я не понимаю, где их (остатки на счетах) там искать. В обработке какой-то адский классификатор, с которым не совсем понятно, как работать. Подскажите, пожалуйста, где посмотреть, как устроена модель данных внутри 1С, из каких объектов что тянуть!
35. Юрий Водерацкий (spawn8995) 03.02.16 18:59
36. Гость 03.02.16 21:45
(35) spawn8995, через OData из Excel (Power Query) и из Power BI. Я могу вытянуть оттуда всякие каталоги валют, банковские счета (правда непонятно, что это за банковские счета, их там в разы больше, чем наших. по всей видимости всех наших контрагентов). но где там лежат понятные и нужные бухгалтерские цифры (остаток денежных средств на банковском счете) я не вижу... Может быть, в ИТС есть какой-то каталог объектов 1С для простых смертных аналитиков?.. потому что я не разработчик и не IT
37. Валентин Будкин (vabue) 04.02.16 00:39
standard.odata/$metadata немножко связи показывает. Но судя по моей практике, что без понимания справочников и разных видов регистров даже стороннему разработчику с одатой делать нечего.
kirillin@knstr.ru; +1 Ответить
38. Дмитрий Шерстобитов (DitriX) 04.02.16 02:12
(36) Я привел же отчет, где можно сопоставить одни данные с другими и там же делать жесткие отборы.
На счет очтатков - тут надо понимать, что есть регситры накоплений, они состоят из одной простой таблицы данных, и из виртуальных. Остатки - это виртeальная таблица.
Короче - вам сюда http://its.1c.ru/db/v836doc#bookmark:dev:TI000001358
kirillin@knstr.ru; +1 Ответить 1
39. Гость 04.02.16 10:21
(38) DitriX, спасибо! буду учить матчасть) узнал, что такое сущность, раньше знал только объект из CRM.

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

нашел сущность БанковскиеВыписки, там проводки видно) надеюсь, до остатков недалеко.
А есть такая сущность "Остаток" или это сумма всех проводок по 51 счету?
В смысле мне искать эту цифру или ее нужно рассчитать?

еще вопрос такой: когда возникает, скажем так, промышленная потребность в создании отчетов PBI/1C, какие есть компании / профессионалы, которые уже достаточно подковались в этом? А то наш вендор 1С, когда поставили вопрос про OData дня 3 искал у себя в филиальной сети специалиста, который объяснил, с чего надо вообще начать.
40. Гость 04.02.16 13:18
Сошлось! это просто фантастика... Сумма по Журналу "Банковские выписки" и есть фактический Остаток на счете.
41. Дмитрий Шерстобитов (DitriX) 04.02.16 15:52
(40) только не надо так делать :)
Вас интересует таблица остатков этого журнала, это виртуальная таблица.
Для регистра накопления и регистра бухгалтерии - Balance(), Turnovers() и BalanceAndTurnovers();
Т.е. ВашАдрес\РегистрБанковскихСчетов\Balance()
И тогда не надо ничего суммировать. На маленьком количестве данных будет работать и ваш метод, но так все таки правильней.
http://v8.1c.ru/o7/201312rest/
kirillin@knstr.ru; +1 Ответить
42. Гость 04.02.16 19:51
Еща раз благодарю за подсказку, но видимо здесь и наступил предел моего понимания. Несколько раз облазил список редактирования состава ОДата и не нашел такого регистра. Так что за неимением чего-то лучшего, можно и суммировать) правда оказалось, что вылезают единичные операции странные, в общем не все бьется с карточкой счета, ну да ладно.
Полагаю, названия этих регистров могут различаться в зависимости от версии 1С и надстройки вендора.

Это правда натолкнуло на другой вопрос: есть ли более удобный список редактирования состава ОДата? а то в обработке по ссылке просто список очень длинный, по нему ни поиском в 1С, никак... и вообще слишком много всего. Очевидно, для подкованных пользователей.
43. M Z (hohlick) 19.05.16 01:20
(32) vabue, какой-никакой ETL в PowerBI есть - Get Data, это тот же PowerQuery в Excel. Не знаю всей специфики работы с OData, но при работе с SQL грамотно составленный запрос фолдится и вся предварительная обработка выполняется на стороне сервера. А затем уже тщательно отобранные данные можно вертеть как угодно.
44. Саша Сашиков (zidkov) 15.06.16 17:56
Спасибо за статью
Исходя из
"Все, что надо для того, чтобы приступить к работе - установить веб-сервер, обновить платформу до 8.3.6 (может и с 8.3.5 будет работать, я не тестил, главное, чтобы там не было багов в платформе), вытянуть данные и скомпоновать их."

получается нужно именно веб-сервер?
а напрямую на сервер, без веба никак?
45. Дмитрий Шерстобитов (DitriX) 15.06.16 18:39
47. Илья Вильчик (TreeDogNight) 25.09.16 14:23
Можно вопрос не по теме: с помощью какого софта вы делаете GIF-ки как на 1м скрине?
48. Дмитрий Шерстобитов (DitriX) 25.09.16 17:54
(47) TreeDogNight, есть такая программка Camtasia Studio. У нее вобще гифки выходят шикарнейшие, так как она очень качественно сжимает гифки, по умному :)
TreeDogNight; +1 Ответить 1
49. Илья Вильчик (TreeDogNight) 26.09.16 07:10
(48) DitriX, Спасибо, попробую!)
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа