Бизнес-аналитика с помощью Power BI

Публикация № 1091360

Методология - Управление проектом

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

Почему Power BI? 

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

Мы провели исследование, какой продукт бизнес-анализа сейчас в тренде. Оказалось, что первое место занимает Microsoft Power BI. 
Когда мы его попробовали, оказалось, что работать с ним действительно комфортно, и первое время мы даже думали, что Power BI – это какой-то плагин к Excel с графиками и возможностями для анализа. 

Следующим критерием выбора для нас стало то, с какими источниками данных он умеет работать.

 

 

Оказалось, что у Microsoft Power BI есть готовые коннекторы к различным форматам файлов – Excel, CSV, JSON, XML и т.д. Например, если в компании используются Excel-таблицы, то можно набросать какой-то план на следующий квартал, на следующее полугодие и т.д., и использовать эти планы в качестве источника данных.

 

 

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

 


 

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

 


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

 


 
Что еще нам понравилось в Power BI – это то, что логика работы с ним похожа на логику разработки в 1С. 

  • У нас есть Power BI Designer – это то же самое, что конфигуратор в 1С. В нем мы набрасываем структуру данных и определяем, как будут строиться графики;
  • Дальше мы запускаем на Production – все это выгружается в облако Microsoft;
  • И облако Microsoft позволяет выводить эти графики на мобильных устройствах, в веб-приложениях, встраивать в ваши приложения и использовать везде, где это угодно и уместно.

 

 

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

  • API для интеграции;
  • И настройка прав доступа на уровне записей. Например, менеджер магазина может смотреть только те данные, которые ему доступны, а руководителю отдела назначаются более расширенные права. Это дает гарантию, что данные пребывают в безопасности. 

 

 

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

 


 

А это – наше мобильное приложение, в таком виде мы отдаем отчеты вендорам. 

 


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

 


 

Но Power BI, как и любая система бизнес-аналитики, без данных не стоит ничего. Эти данные нужно откуда-то брать, а так база данных 1С – это «сердце» нашей компании, то 90% данных мы берем из 1С:Предприятие. 

Все знают способы получения данных из 1С – это:

  • Различные выгрузки;
  • REST\SOAP-сервисы;
  • OData интерфейс;
  • Или чтение напрямую из СУБД (чтение напрямую нарушает лицензионное соглашение)

 

Выгрузка из 1С:Предприятия – это плохо? События – наше все.


 
Однако оказалось, что стандартные способы интеграции с Power BI не всегда удобно использовать. Дело в том, что в нашей компании данных было действительно много – наша основная база данных размером чуть более 1 терабайта. 

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

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

 


 
Что в 1С, по сути, есть событие?

  • Это – создание (например, создание какого-то документа или создание записи в регистр сведений);
  • Обновление данных 
  • И удаление данных. 

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

Для того, чтобы это заработало, мы создали специальную базу MS SQL, назвали ее «Первоначальный образ». Выгрузили в нее данные, склеили их, и дальше, если где-то происходят изменения (например, совершилась продажа в магазине), мы фиксируем это событие и, соответственно, обновляем данные связанные с событием в «Первоначальном образе», там, где они пересекаются. 

 


 
У меня есть небольшая памятка для всех начинающих разработчиков – пока транзакция не завершилась, никого оповещать нельзя. 

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

Что мы сделали? Мы фиксируем, что было какое-то событие, записываем его в справочник, и дальше, когда транзакция завершилась, это событие становится доступно для фонового потока, который подбирает его и обновляет этим событием наш «Первоначальный образ». 

Что оказалось интересного? Когда мы сделали первую систему бизнес-аналитики – там было 5 дашбордов. Бизнесу это понравилось, они попросили еще 20. Но, поскольку с каждым новым дашбордом показатели производительности системы существенно снижались, мы решили не создавать сами события в подписке, а просто фиксировать какой-то минимальный набор данных, необходимый для восстановления данных целого события с помощью фонового задания. 

 


 

Идею мы подхватили из 1С. Те, кто работал с внешними источниками данных и подключал какую-нибудь СУБД к конфигурации 1С, знают, что 1С разбивает каждую таблицу этой СУБД на два типа источников событий – на ссылочные и объектные. В контексте понятий конфигурации 1С:

  • Ссылочные типы – это справочники, документы, планы видов характеристик;
  • А объектные – это регистры сведений, регистры накопления и пр. 

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

А для объектных типов мы начали фиксировать фильтры, которые накладываются при записи объекта. Этого оказалось достаточно, чтобы сформировать какой-то набор данных для обновления нашего «Первоначального образа». 

 


 
Дальше мы немного оптимизировали нашу систему – она работала не так быстро, как мы хотели. 

Мы выяснили, что достаточно сериализовать только саму ссылку, а не весь объект в целом. И мы записывали только сериализованные данные, то есть, Справочник.Номенклатура.Ссылка, а остальное (СправочникОбъект, например) выбрасывали. 

То же самое – для объектных типов. Мы сериализовали только измерения, по которым проходит запись, значение параметра замещения и тип метаданного, который изменяется (например, что это – регистр сведений «Курсы валют»).

 


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

Почему на английском? Мы побоялись тестировать на боевой базе и «прогнали» это на наших клиентах в Канаде. У них это заработало, и мы уже не решились переписывать.

 


 
Данные вызова (Invocation) – это, по сути, структура, которая имеет два, даже три главных поля. 

  • Первое – это EventSource – строка источника, которая обозначает то, что это было (например, справочник или регистр сведений).
  • Source – это ссылка или InvocationContext – таблица значений с фильтрами, которые накладываются на набор при записи в регистр сведений, регистр накопления и пр.
  • И последнее поле, Routed – означает, было маршрутизировано это событие или еще нет.

 

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

  • Например, вы наверняка сталкивались с тем, что в некоторых конфигурациях есть нетривиальные связи – допустим, документ реализации ссылается на документ возврата этого товара, а документ возврата ссылается на документ реализации. И, по сути, получается циклическая ссылка. Но мы во время обработки события можем восстановить для системы бизнес-анализа только те данные, которые считаем нужными. 
  • Или мы можем обогатить некоторые данные дополнительной информацией. Например, мы что-то поменяли в номенклатуре и хотим добавить к этому еще данные дополнительных сведений БСП, относящихся к этой номенклатуре. Соответственно, мы добавляем в наш «Первоначальный образ» обновление еще и этих трех таблиц.
  • Более того, мы можем создавать в «Первоначальном образе» таблицы, которых в 1С вообще нет, но они помогают нам разобрать проблемы, которые накопились в самой базе данных 1С. То есть, вместо двух таблиц для документов реализации и возврата мы сделали три таблицы – «Реализация», «Возврат» и третья таблица, которая содержит между ними связь. Для систем бизнес-аналитики, таких, как MS Power BI, построить такой график или отчет очень просто – вы «в два клика», с помощью Drag&Drop переносите какую-то визуализацию, и она у вас сразу работает. Даже если вы перевыбираете какое-то значение, оно все моментально перестраивается, все адекватно показывает без какого-либо программирования.

 

 

Архитектура хранилища данных


 

В нашем случае мы в качестве «Первоначального образа» использовали такое понятие, как хранилище данных. 

  • Наш выбор пал на MS SQL;
  • Потому что у нас были специалисты по MS SQL, и было понимание, как с работать с этой СУБД;
  • И кроме этого, мы еще наняли специалиста по Power BI, который занимается финализацией тех данных, что появляются у нас в хранилище данных и показывает их в удобном виде. 

Оказалась интересная вещь – так как у нас есть задачи разного плана, и некоторые из них в контексте 1С вообще решить нельзя, то специалист 1С приходит к специалисту MS SQL сервера и говорит: «У меня проблема, я могу тебе только так выразить», а специалист MS SQL говорит: «Без проблем, я напишу вьюшку, добавлю индексы, и все будет работать». Соответственно, сложность для специалиста 1С уменьшилась, а для специалиста MS SQL-сервера никак не изменилась, потому что он это делать умеет и только этим и занимается.

То же самое, специалист Power BI может перетянуть некоторые моменты на свою сторону и сделать то же самое для специалиста MS SQL-сервера и для специалиста 1С. 

Эти три человека могут решить проблему сообща и без ругани – вот такая у нас получилась кроссфункциональная команда.

 


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

  • Происходят какие-то события;
  • Когда они зафиксируются, происходит трансформация этих событий уже в конечные данные;
  • Эти конечные данные заливаются в нашем случае в MS SQL сервер;
  • И к этому источнику данных подключается уже Power BI или другие системы обработки данных.

Возникает вопрос – как гарантировать целостность хранилища данных, что там все правильно? Не проверять же постоянно – выполнять какие-то запросы и смотреть, все ли мы туда выгрузили или нет, совпадает ли результат запроса с ожиданиями?

 

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


 


Мы начали использовать в хранилище данных первичные и внешние ключи – для каждой таблицы выбирали первичный ключ. 

  • Например, для ссылочных типов первичным ключом будет поле «Ссылка»;
  • Для объектных типов – комбинированный ключ, причем, это не обязательно должно быть измерение.

Мы полностью изменяли таблицы в хранилище данных и делали их супер-удобными для аналитики. Это позволило нам четко понимать, что все данные у нас в хранилище данных валидные, ничего нигде не потерялось, нет битых ссылок и т.д. 

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

 

Реализация агрегатных типов

 
В 1С есть такая вещь, как составные типы. А в MS SQL Server изначально нет поддержки составных типов. Можно было пойти по пути 1С, как они реализовали составные типы. Но мы посчитали, что в контексте хранилища данных это неправильно, и нужно воспользоваться какими-то другими существующими практиками. Я вам их сейчас продемонстрирую. 

 


 
Мы создали специальную таблицу, где выразили все ссылочные типы, которые у нас есть (такие, как Справочник.Номенклатура, Документ.РеализацияТоваровУслуг и т.д.). 

 


 
Также мы создали отдельную таблицу, куда добавили все ссылки, которые есть в конфигурации, с пометкой типа – все элементы всех справочников, ПВХ, планов счетов. 

И, соответственно, когда мы в какой-нибудь таблице ссылались на составной тип, мы просто подставляли туда ссылку из этой отдельной таблицы. Это очень хорошее решение для Power BI, потому что Power BI использует СУБД VerticaDB. Она очень любит гигантские таблицы с небольшим количеством колонок. Про это нужно помнить. 

 

Как максимально точно обновлять данные в хранилище – учимся делать MERGE

 

 

Соответственно, с хранилищем данных у нас те же самые операции, что и в 1С:

  • Вставка;
  • Обновление;
  • Удаление. 

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

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

 


 

Но в MS SQL Server есть операция MERGE – слияние. 

Основная задача – это взять две таблицы и синхронизировать их, чтобы их содержимое стало одинаковым.

 


 
Как работает Merge? Например, есть таблица АктивыПассивы. У нее есть первичный ключ (Primary Key), состоящий из полей:

  • ObjectRef – это регистратор;
  • И LineNum – номер строки этого регистратора.

 


Чтобы заработал Merge, нужны две таблицы. 

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

 


 
Сама операция слияния делится на такие блоки:
 

  1. Сначала мы пишем Merge для таблицы, куда мы хотим поместить эти данные;
  2. Указываем таблицу-источник;
  3. Указываем правила сравнения;
  4. И дальше, в зависимости от выполнения условий слияния что-то делаем:
  • Когда строки совпадают, мы обновляем эти записи;
  • Когда условия не совпадают (во временной таблице есть какие-то новые записи) они просто добавляются;
  • Все, что не совпало – мы удаляем.

 

 

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

От автора: операция MERGE выглядит как будто она позаботится о параллелизме для вас, это кажется одним атомарным утверждением. Однако под прикрытием MS SQL Server действительно выполняет различные операции независимо. Это означает, что вы можете столкнуться с состояниями состязания или конфликтами первичных ключей, когда несколько потоков пытаются запустить один и тот же оператор MERGE одновременно. Несколько лет назад Dan Guzman подробно рассказал об этом в своем блоге, но в основном это означает, что, если вы не используете HOLDLOCK для операции MERGE, ваше запрос уязвим для условий гонки. Шаблон должен быть такого вида: 

MERGE [FactOtherActivesPassives] WITH (HOLDLOCK) AS [TARGET]

 

 

Оптимизация MERGE с помощью Common Table Expression (CTE)

 

 

Чтобы обойти этот нюанс, есть такая вещь, которая называется Common Table Expression (общее табличное выражение). Оно позволяет отметить только те ссылки, которые действительно необходимо обновить в хранилище данных. И, соответственно, операция Merge будет работать уже только с этими ссылками, и мы обновим только те данные, которые нам нужны. 

Но здесь тоже есть небольшой нюанс.

Там, где у нас есть SELECT T2.* FROM <временная таблица>, есть две строчки сравнения. Мы пришли к пониманию того, что в каждой таблице всегда есть какой-то мастер-ключ. То есть, если у вас в таблице Primary key состоит из двух колонок, то все равно одна колонка всегда будет главной. Это, например, если Primary key – это регистратор и номер строки, то главная колонка – это регистратор.

 


 
Что мы здесь решаем? Если у нас возникает необходимость обновить некоторые данные, и в первоначальном образе есть строки с большим номером, чем во временной таблице, то у нас останутся фантомные строки, которых, по сути, не должно быть. Поэтому мы выбираем все строки по какому-то мастер-ключу (без LineNum), и дальше уже отрабатывает операция Merge и удаляет все лишнее.

 


 
Есть еще поддержка удаления строк – это когда, например, мы в 1С что-то удалили, то при выполнении этого CTE-запроса он ничего не возвращает, и у нас остаются фантомные строки.

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

 


 
По сути, полная реализация Merge – это:

  • Создание временной таблицы приемника («Таблица1»);
  • Вставка записи в «Таблицу1»;
  • Создание временной таблицы «Таблица2» с первичными ключами (мастер-ключами);
  • Вставка значений первичных ключей в «Таблицу2»;
  • Common Table Expression для «Таблицы2»;
  • Описание операции MERGE;
  • И удаление временных таблиц.

 

 

Все-таки, полный онлайн возможен?


 

 

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

  • Самый простой способ подключения к данным – это импорт данных. Вы указываете ваше хранилище данных, загружаете все данные и с ними работаете. Если работать на базовой лицензии, это можно делать 8 раз в день.
  • Есть такая вещь, как прямые запросы. Что это такое? Вы заходите в какое-то мобильное приложение, нажимаете «Обновить», и облако Microsoft подключается к Power BI Gateway где-то в вашей сети. Power BI GateWay подключается к базе данных, выполняет этот запрос и возвращает уже результат на ваше мобильное приложение.
  • И есть еще прямое соединение – когда что-то произошло в базе данных, оно сразу летит в облако Microsoft. Получается, по сути, в вашем хранилище сидит какой-то «демон» и, когда что-то происходит, передает данные в ваше облако, чтобы вы могли все это оперативно проконтролировать.

 

 

Результаты внедрения

 


 

Мы внедрили контроль нашей розницы и измерение эффективности поведения наших продавцов. Результаты показали, что все у нас плохо. Мы начали меняться, вводить контроли, измерение температуры, установку датчиков, контроль разговоров, запись и анализ разговоров по телефону. Это все в автоматическом режиме начали собирать в Power BI, и это дало несравнимый эффект.

 


 

В результате, после 7 месяцев мы увеличили чистую прибыль с 0.4 % с оборота до 3 % с оборота. Закрыли 2 самых больших, самых крутых магазина, на которые тратились колоссальные деньги. Персонал за 7 месяцев у нас сменился на 55% – уволили 500 человек. 

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

 

Заключение

 

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

А в 2018 году мы подошли более комплексно – пообщались с математиками, взяли в команду человека, который занимается статистикой и понимает в математике на уровне доцента, и поняли, что просто вывести в отчет какую-то информацию недостаточно, это вообще никак не поможет. Мы начали комбинировать данные, ставить планы, искать закономерности, прогнозировать наши результаты, накладывать по нашим сегментам продаж мировую, внутриукраинскую динамику и т.д. Мы начали четко понимать, что этот закупщик недорабатывает, а этот, наоборот, намного поднял нам продажи. Мы поменяли систему мотивации, хотя людям, которые привыкли 5 лет ничего не делать, было очень сложно понять, что от них хотят. Зато стало очень четко понятно, что нужно бизнесу, чтобы получить результат. 

Мой совет тем, кто собирается внедрять Power BI – это не такой проект, который можно запустить за месяц. В среднем, это – проект на год, комплексная задача, которая связана не только с 1С: это работа с Google-аналитикой, с планами, с датчиками, со сбором информации, с анализом телефонных разговоров, работа с телефонией. Это очень тяжело, и тот, кто думает, что можно взять одного человека, чтобы разобраться – так не получится. У нас, когда мы начинали, в проекте было занято 10 человек. Сейчас мы уже доделываем финансовый блок, и на поддержке у нас осталось 2 человека – руководитель и аналитик. А к Новому году мы планируем закончить этот проект.

От автора: фиксация событий выполняется с помощью подсистемы FoxyLink, с которой можно ознакомиться на github и по моим видео в YouTube.

 

****************

Данная статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART EVENT 2018 EDUCATION. Больше статей можно прочитать здесь.

Приглашаем вас на новую конференцию INFOSTART EVENT 2019!

68

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Rustig 1221 11.07.19 12:25 Сейчас в теме
(0) что-то полезное я для себя почерпнул. Спасибо! опыт уникальный!

П.С. "Субаренда" пишется через "а" на последнем слайде,
и подчеркивание мешает читать по диагонали.
2. insurgut 196 12.07.19 09:03 Сейчас в теме
А по рекламным проспектам PowerBI прямо сама и кушать готовит, и по тарелкам разливает, ещё и посудомойку загружает после этого. На деле все не так радужно и нужно решать абсолютно такие же проблемы и задачи, как и в случае использования платформы 1С в качестве консолидированной базы для аналитики. Впрочем, в заключении об этом хорошо написано.
andreypahov; +1 Ответить
3. ZLENKO 382 12.07.19 13:39 Сейчас в теме
Отличная статья. Полезно и интересно.
4. Milanick 12.07.19 18:23 Сейчас в теме
Спасибо большое. Очень интересно
А не подскажите, как из PostgreSQL данные извлекать ? Что-то коннектора не видел в PBI
5. silberRus 66 15.07.19 13:18 Сейчас в теме
(4) Можно через веб протащить.
7. Kashemir 351 15.07.19 15:51 Сейчас в теме
А что помешало использовать механизмы планов обмена для регистрации изменений ?
10. pbazeliuk 1716 16.07.19 15:58 Сейчас в теме
(7) Выгрузка изменений, которые зарегистрированы для прикладного объекта метаданных и запись данных такого типа НЕ могут происходить параллельно (нагрузка у нас порядочная около 30 млн. операции изменения данных в день, нагрузка на SQL 5.5 тысяч запросов в секунду).
Выгрузку можно проводить в не рабочее время, но мы работаем 24/7/360, с очень небольшими технологическими окнами.
11. Kashemir 351 16.07.19 17:03 Сейчас в теме
(10) Я понимаю проблему размера базы, у нас боевая тоже полтора террабайта с тысячей активных пользователей, отсюда и интерес к Вашему решению. Однако так и не понял, что мешает мержить с отбором по таблицам изменений, а не по некому алгоритму регистрации, который сутя из вашей статьи практически дублирует типовой.
Как пример реализации навскидку:
- подняли счетчик отправленных пакетов средствами 1с,
- мержем перетянули все что там ниже либо равно номеру пакета (<>NULL).
- по окончанию приема отправили подтверждение приема средствами 1с (почистив регистрации изменений для пакет ниже/равном счетчику). Новые изменения, сделанные после подъема значения счетчика останутся висеть с NULL номером пакета до следующей перегрузки.
12. pbazeliuk 1716 16.07.19 23:42 Сейчас в теме
(11) А как регистрировать изменения которые не связаны с объектами 1С никаким образом? Например, операцию печати, поиска данных они не ложатся в стандартную систему CRUD или, пусть, тот же CRUD только во внешней системе.

Так же кейс. Единый центр печати в пуле которого 200 принтеров и необходимо напечатать документы из бухгалтерской базы при этом работая только с базой управление торговлей. Регистрация события в таком ключе будет иметь необходимые ключевые поля (доступный принтер из пула для текущего пользователя\подразделения торговли, документы которые необходимо распечатать - счет или накладная). Событие будет иметь тип операции print.
13. Kashemir 351 17.07.19 11:01 Сейчас в теме
(12) Как вариант можно создать регистр сведений под такие нужды. Допустим с измерениями ТипОперации и произвольный GUID, в ресурсы/реквизиты натолкать все что нужно по параметрам операции.
14. pbazeliuk 1716 17.07.19 13:43 Сейчас в теме
(13) Очень вероятна эскалация блокировок
15. Kashemir 351 17.07.19 15:44 Сейчас в теме
(14) Не о чем понял, за счет чего. Операции типа печати, не имеющие отражения в бд вряд ли выполняются в некой внешней транзакции и носят прям такой массовый характер. Если действительно проблема имеет место, то пути решения традиционные - отключить либо хотя бы повысить порог эскалации для данной таблицы / пересмотреть архитектуру решения - я не тех эксперт и точнее сказать не могу.
16. pbazeliuk 1716 18.07.19 14:25 Сейчас в теме
(15) ну почему же только печать.
Датчики входа\выхода покупателей и понимать конверсию в режиме онлайн.
Камеры с распознаванием покупателей, формирование индивидуальных предложений, приветствие по имени.
Триггерные события, события контроля процессов, NPS и многое другое.

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

Сама подсистема это ближе к шине предприятия и основная цель это "мягко" связывать различные системы.
8. Кадош 16.07.19 00:06 Сейчас в теме
Так и не понял, почему нельзя было все сделать через oData.
9. pbazeliuk 1716 16.07.19 15:51 Сейчас в теме
(8) Как предлагаете править ошибки модели СУБД, как выполнить нормализацию через OData? Как перегонять данные до 100 GB данных за один присест, как построить кубы на OData?
17. o.nikolaev 194 20.08.19 10:47 Сейчас в теме
Статья хорошая и добротная. Поправьте меня, но сейчас ситуевина с BI инструменталкой - в массе - та же что и 15 лет назад?

Суть ее сводится к диалогу с замечательным коллегой:
- Вот IBM Cognos, хорошая же программа?
- Отличная! Богатый функционал, интеграция. Класс!
- Как вы думаете, почему никогда толком из нее отчетов никто не может получить?
- Эмм... наверное потому что в нее не вносят данные?
- :))
18. AllexSoft 23.08.19 11:11 Сейчас в теме
Мы повесили ему телевизор, вывели на него три небольших отчета, но никакой маркетинговой составляющей при этом тогда еще не анализировали. И, хотя владелец был доволен, никакого результата это не дало.

как это знакомо )
То же внедряли Power BI, правда масштабы поменьше и подходы выбрали другие, у нас была концепция "любой отчет на СКД из 1С можно было выгрузить в БД аналитики", то есть сами данные мы готовили (группировали вычисляли итоги) на СКД, и результаты писали в БД. Следствием отсюда явилось то что мы не привязывались к событиям, а каждый раз перезаписывали данные за период, а при надобности могли и перевыгрузить целиком все таблицы бд, данных группированных меньше разумеется! Вторым важным пунктом являлось то что мы должны были оперативно добавлять новые таблицы или изменять структуру существующих таблиц.
Доклад то конечно хороший, жаль нет технической реализации как у вас была построена БД хранилища данных, как разруливали хранение итогов например, ведь далеко не все итоги можно получить простыми агрегатными функциями, вот это в MS Power BI разруливали или как то хранили промежуточные итоги где то?
Судя по моему опыту технический успех всего мероприятия по бизнес-аналитике заключается именно в грамотном построении БД хранилища данных.
Оставьте свое сообщение

См. также

20 мыслей об ИТ-проектах. Мысль №3. "О правильных требованиях к системе" 24

Статья no Нет файла Бесплатно (free) Управление проектом

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

14.10.2019    2887    chavalah    16       

Онлайн-курс "Технология выполнения проектов ERP-класса – процессный подход". Третий поток. Курс проходит с 21 января по 18 марта 2020 года. Промо

Курс разработан Внедренческим центром «Раздолье». Курс предназначен для подготовки аналитиков, архитекторов и руководителей проектов автоматизации процессов управления с использованием комплексных ИТ-систем (1С:ERP, 1С:УХ, 1С:КА, 1С:УТ). В основе курса лежит методика применения процессного подхода.

9000 рублей

Незакрытый проект на 1000 часов 65

Статья no Нет файла Россия Бесплатно (free) Управление проектом

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

19.09.2019    7922    ogroup    156       

Стратегия выживания в корпоративных войнах 47

Статья no Нет файла Бесплатно (free) Управление проектом

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

16.09.2019    5330    GSoft    14       

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

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

Мастер-класс СППР 44

Статья Программист Руководитель проекта Нет файла Бесплатно (free) Управление проектом СППР

Сергей Наумов, в прошлом разработчик подсистемы бюджетирования в конфигурации «1С:ERP», на мастер-классе конференции INFOSTART EVENT 2018 EDUCATION поделился опытом управления проектами с помощью «1С:Системы проектирования прикладных решений» и показал, как использовать эту программу в работе над разными задачами: для сбора, классификации и хранения требований; для управления разработчиками и консультантами; в качестве системы документирования; в качестве баг-трекера на этапе опытно-промышленной эксплуатации.

30.08.2019    5222    SergeyN    4       

Быстрый старт: минимальный набор автоматизации типовых процессов 21

Статья no Нет файла 1С:Франчайзи, автоматизация бизнеса Бесплатно (free) Управление проектом

Автоматизация дает множество преимуществ бизнесу, но в то же время ее выгода может быть настолько несущественной, что процесс принесет компании больше убытков, чем прибыли. С чего начать эффективную автоматизацию, какие процессы стоит автоматизировать на первом этапе, а какие – лучше оставить на потом, рассказала руководитель разработки систем учета компании «Едадил» Екатерина Золотарева.

16.08.2019    4620    Hissin    18       

1С:Предприятие через Интернет. 1С:Fresh Промо

Ведение бухгалтерского и налогового учет, сдача отчетности, управление бизнесом из любой точки мира. Привычные программы «1С» через Интернет без приобретения коробочных программ.

Как заработать миллион или История успешного сотрудничества 46

Статья Программист Нет файла Бесплатно (free) Управление проектом

Многие мечтают один раз что-то создать, а потом жить на заработанные деньги до конца своих дней. Но миллионерами становятся не все, их единицы. Среди них – разработчик Андрей Карпов. Человек, который сумел за полтора года заработать 2 миллиона рублей чистой прибыли, поделился с гостями конференции Infostart своими секретами.

05.08.2019    4890    karpik666    77       

Перенос данных КА 1.1 => ERP 2 (ЕРП) (обработка переноса документов, остатков и справочной информации из "1С:Комплексная автоматизация, ред. 1.1" в "1С:ERP Управление предприятием, ред 2"). Обновлен до КА 1.1.115.х и ERP 2.4.10.х Промо

Обработка позволяет переносить из КА 1.1 в ERP 2 документы за выбранный период и остатки. Типовая обработка от фирмы 1С документы не переносит. Также исправлены ошибки типовой обработки. При выходе новых релизов обновление высылается бесплатно в течение года. Разработка будет полезна фирмам-франчайзи, которые периодически выполняют такой перенос данных для заказчиков. Вы можете один раз приобрести обработку переноса, и потом бесплатно получать обновления в случае выхода новых релизов конфигураций 1С.

29700 руб.

Управление проектами по автоматизации бюджетирования 37

Статья Бизнес-аналитик Руководитель проекта Нет файла УУ Финансовый учет и бюджетирование (FRP) Бесплатно (free) Управление проектом

Автоматизация бюджетирования позволяет максимально эффективно планировать ресурсы предприятия и управлять масштабированием компании. Как учесть особенности бюджетирования, встроить его в процессы стратегического планирования, чтобы получить гибкий инструмент управления и аналитики, рассказал Сергей Наумов на конференции INFOSTART EVENT 2018 EDUCATION.

28.06.2019    3993    SergeyN    1       

Внедрение решений: как выполнять все обязательства в срок в условиях ограниченных ресурсов 23

Статья Руководитель проекта Нет файла Бесплатно (free) Управление проектом

Многие менеджеры вынуждены работать в условиях многоклиентской среды с ограниченными ресурсами. И вовремя сдавать проекты в таких условиях сложно. Как добиться того, чтобы поставки делались без нарушений сроков, рассказал гостям и участникам конференции Infostart Event 2018 управляющий партнер BIPULSE.RU Алексей Васильев.

24.06.2019    3301    sbase    9       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Риск - благородное дело!.. Часть первая 31

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

Несколько рекомендаций по управлению рисками в ИТ-проектах.

18.06.2019    4451    MariaTemchina    8       

Мы в ответе за то, чего вовремя не послали. Матрица ответственности в проектах внедрения 33

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

В своей публикации “Устав писать Устав” я много рассуждала о том, как полезно умение договариваться на берегу. Как известно, у каждого человека в голове своя картина мира. В целом, многие конфликты в ходе проектов происходят как раз из-за конфликта ожиданий, и из-за нечетких договоренностей, кто чем должен заниматься.  

31.05.2019    4779    MariaTemchina    23       

Перенос документов, остатков и справочников КА 1.1 => КА 2 / УТ 11. Обновлено до КА 2.4.10.х и УТ 11.4.10.х! Промо

Более 130 компаний выполнили переход на КА 2 или УТ 11 с помощью нашей разработки! Позволяет перенести не только остатки и справочники (как типовая обработка), но и документы за нужный период времени. Предоставляем техподдержку, оперативно исправляем замечания, выпускаем обновления при выходе новых релизов программ 1С. Вы можете проверить разработку до покупки: сделаем бесплатный тестовый перенос из вашей базы КА 1.1 и предоставим доступ к базе-результату через веб-клиент!

29700 руб.

Как продать проект в 3 раза дороже и нанести клиенту пользу, выполнив не внедрение... 21

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

Практически все российские компании нуждаются не просто в установке 1С:ERP, 1С:Документооборота или какой-то другой программы, а в масштабных организационных изменениях, но мало кто из заказчиков это понимает. Те, кто занимается 1С, могут помочь бизнесу решить его проблемы, а заодно и продать проект внедрения в несколько раз дороже. Как это сделать, на конференции INFOSTART EVENT 2018 EDUCATION рассказал собственник и директор компании «Корада» Алексей Бояршинов.

27.05.2019    4750    cybrat    9       

Что важно, а что - срочно? 21

Статья no Нет файла Бесплатно (free) Управление проектом

Поговорим о приоритетах

20.05.2019    5001    1c-intelligence    16       

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Устав писать Устав 31

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

Ответы на вопросы про то, нужен ли Устав для проектов автоматизации, и если нужен, то зачем?

06.05.2019    4559    MariaTemchina    8       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Как сжать время? 24

Статья no Нет файла 1С:Франчайзи, автоматизация бизнеса Бесплатно (free) Управление проектом Личная эффективность

Как, и зачем измерять задачи в чем-то, помимо часов.

04.05.2019    5506    1c-intelligence    39       

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

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

Чем руководитель проекта “на бумаге” отличается от “настоящего” руководителя проекта, умеющего направлять команду и выдавать ценный результат?

15.04.2019    7540    MariaTemchina    15       

Очный семинар по регулярному менеджменту Александра Фридмана "Вы или Хаос", 12 декабря 2019 г. , Санкт-Петербург Промо

Семинар по регулярному менеджменту от Александра Фридмана для собственников, первых лиц и топов. Технология управленческого планирования, комплексного управления временем и другими ресурсами, выполнением поручений, делами, информацией, контактами (встречи-звонки-почта).

от 11000 до 29000 рублей

Стыд и Скрам, часть вторая 21

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

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

14.03.2019    8619    MariaTemchina    47       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

20 мыслей об ИТ-проектах. Мысль №2. "С какой стороны подойти к новому проекту?" 38

Статья Руководитель проекта Нет файла Бесплатно (free) Управление проектом

Продолжаем серию статей из цикла “20 мыслей об ИТ-проектах”. Сегодня мы поговорим о том, с какой стороны подойти к новому проекту. Такой вопрос возникал у каждого, кому приходилось выступать в роли руководителя проектов, особенно первый раз. Да и для опытных РП некоторые проекты вызывают аналогичный вопрос.

13.02.2019    5143    chavalah    22       

Стыд и скрам - Чему нас учит Scream Guide 29

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

Название "Scream Guide" можно вольно перевести на русский как “Вопль ужаса от того, как Scrum применяют на практике”

12.02.2019    6670    MariaTemchina    20       

Перенос данных УТ 10.3 => УТ 11 / КА 2 / ERP 2 (ЕРП 2) (документы, остатки и справочная информация из "1С:Управление торговлей, ред. 10.3" в УТ 11 / КА 2 / ERP 2). Обновлен до УТ 10.3.56.х, УТ 11.4.10.х, КА 2.4.10.х и ERP 2.4.10.х! Промо

Уже более 100 компаний приобрели перенос и выполнили переход на УТ 11 / КА 2 / ERP 2 с помощью нашей разработки! Обработка перехода с УТ 10.3 на УТ 11 / КА 2 / ERP 2 позволяет перенести не только остатки на указанную дату (как типовой перенос), но и все возможные документы за выбранный период. При выходе новых релизов этих программ оперативно выпускаем обновление обработки. Предоставляем техническую поддержку. Можем сделать бесплатный тестовый перенос!

29700 руб.

Бизнес, не горюй 34

Статья no Нет файла Бесплатно (free) Управление проектом

Про цели автоматизации.

04.02.2019    6386    1c-intelligence    64       

Лучший домик для поросенка, или Что нужно знать руководителю проекта внедрения 23

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

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

31.01.2019    5489    MariaTemchina    0       

Онлайн-интенсив "Бизнес-процессы для подготовки к экзамену 1С:Специалист по платформе" 12 декабря 2019 г. Промо

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

777 рублей

Ошибки управленцев: как топ-менеджеров убивает перфекционизм 5

Статья no Нет файла Бесплатно (free) Управление проектом

В преддверии онлайн-конференции «Гнев и слезы руководителя» мы решили заранее познакомить нашу аудиторию со спикерами, причем сделать это через видео-истории. Начнем с видео-приглашения от Миланы Джиджоевой и ее виденья диджитализации рекрутинга в России.

24.01.2019    6898    user809424    11       

Что немцу хорошо, то русскому... Как минимум, небезынтересно. Продолжаем тему Канбан 32

Статья Бизнес-аналитик Руководитель проекта Нет файла Бесплатно (free) Управление проектом

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

14.01.2019    7380    MariaTemchina    13