11.12.24
Data Driven подход: Принятие решений на основе данных

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

Data-Driven решение — это подход, основанный на данных. Простыми словами, это когда все важные решения в бизнесе принимаются не «на глазок», а на основе конкретных цифр и фактов, которые собираются и анализируются.

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

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

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


Предыстория

В современных компаниях накапливается очень много информации, которая может значительно улучшить аналитические процессы. К ней относятся: метрики веб-сайтов, информация из ERP и CRM систем, рабочие планы и другие данные из Excel, базы данных, MES, BPM и многие другие источники. В результате такая информация ложится в основу Data Driven решений, позволяя оперативно реагировать на изменения рынка. Без зрелой Data Driven культуры, эти массивы остаются "цифровым хламом".

Для дата-инженеров задача извлечения данных из большинства этих источников является понятной и относительно простой. Однако существует одно значительное исключение. Часто именно потребность в Data Driven подходе вынуждает выходить за пределы "закрытого" мира 1С.


Проблема интеграции с 1С

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

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

Механизмы извлечения данных из 1С

Введение

Извлечение данных из 1С — это важный процесс, который позволяет компаниям эффективно использовать свои данные для анализа и принятия решений. Компании, ориентированные на Data Driven подход, рассматривают извлечение как ключ к масштабируемой аналитике. Data Driven позволяет превратить 1С в источник конкурентной разведки.

Рассмотрим основные механизмы, доступные для извлечения информации из этой системы.

Существуют множество основных механик:

1. Ручные и автоматические выгрузки: Данные могут быть выгружены в форматы Excel, CSV и DBF.

2. OData: Использование OData как REST API для доступа извне.

3. Прямой доступ к базе данных SQL: Позволяет выполнять запросы напрямую.

4. Создание веб-сервисов: Разработка собственных веб-сервисов для интеграции с другими системами.

5. 1С Шина: Использование 1С Шины для обмена данными между системами.

6. Собственные системы выгрузки: Разработка индивидуальных решений для извлечения данных из 1С во внешние БД.


Выгрузка в Excel и CSV

Принцип эксплуатации

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

Результаты отчета можно сохранить в формате Excel или CSV, что позволяет загружать их в системы BI-аналитики или анализировать в Excel. Хотя такая выгрузка может выглядеть простой, она плохо согласуется с логикой Data Driven решений, требующей автоматизации и повторяемости. По-настоящему Data Driven подход подразумевает минимальное участие человека в цикле «данные-инсайт-действие».


Сложности

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

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

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


OData

OData представляет собой REST API, который доступен "из коробки" для извлечения данных из 1С. Это решение упрощает доступ к данным и позволяет интегрировать 1С с другими системами, что значительно расширяет возможности анализа и использования информации. Для Data Driven решений OData часто становится первым шагом к построению потоковых конвейеров данных. Однако сам по себе Data Driven не ограничивается выбором конкретного протокола.

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

Понимание доступных механизмов и их особенностей поможет компаниям оптимизировать свои бизнес-процессы и повысить эффективность работы.


Публикация базы 1С на Web-сервере: требования и сложности

Требования

Для успешной публикации базы 1С на Web-сервере необходимо выполнить следующие условия:

- Размещение базы 1С на Web-сервере: Это позволит обеспечить доступ к данным из внешних источников.

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

 

Сложности

Работа с OData может столкнуться с рядом трудностей:

- Обработка больших объемов: При наличии значительного объема информации потребуется система выборки данных порциями. Это может привести к необходимости передачи большого количества параметров в GET-запросе, что, в свою очередь, может превышать лимит длины URL (255 символов).

- Отслеживание изменений: Реализация системы отслеживания изменений в OData может быть неочевидной и потребует дополнительных усилий.

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


В общем, для небольших баз 1С OData является вполне рабочим инструментом. 

Однако, с увеличением объема, работа с OData может стать значительно более сложной и затруднительной.


Web сервисы

Взаимодействие с 1С через Web-сервисы и SQL

1С предоставляет возможность взаимодействия через протоколы HTTPS, используя запросы (GET, POST, PUT и т.д.). Это позволяет вызывать методы, описанные программистом, через внешний интерфейс Web-сервера. Такой подход хорошо сочетается с принципами Data Driven, где каждое событие фиксируется и транслируется.

 

Требования

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

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

 

Сложности

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

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

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

От своевременной обработки веб-сервисных вызовов зависит успешность Data Driven решений, отвечающих за оперативную отчетность.

Прямой доступ к базе SQL 1С

Прямой доступ к базе 1С — один из старейших способов получения данных, известный с версии 1С 7.7. Он заключается в подключении напрямую к физической базе MS SQL или PostgreSQL для извлечения данных. На первый взгляд, такой метод может показаться идеальным для реализации Data Driven подхода, но на практике возникает множество ограничений.

 

Проблемы

- Необходимость прямого подключения: Требуется прямое подключение к БД в СУБД MS SQL или PostgreSQL.

- Машиночитаемый формат данных: 1С хранит данные в "машиночитаемом" виде, что требует использования коннекторов для преобразования названий таблиц и полей в метаданные 1С.

- Ограниченные возможности: При этом способе извлечения информации недоступны многие функции 1С, такие как виртуальные таблицы остатков и оборотов, работа с субконто и доступ к данным "через точку".

- Лицензионные ограничения: Прямой доступ к СУБД запрещен лицензионным соглашением с 1С, что может привести к юридическим последствиям.

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

- Нагрузка на СУБД: Прямой доступ может создать неконтролируемую нагрузку на СУБД, что приводит к задержкам в работе пользователей.

 

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

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


1С Шина

1С Шина: Инновационное Решение для Интеграции Данных

1С Шина — это новое понятие в мире 1С-программирования, представляющее собой Enterprise Service Bus (ESB) или "Сервисную шину данных". 

Этот сервис может стать отличной альтернативой Apache Kafka в экосистеме 1С, особенно при интеграции нескольких баз 1С. 

Мы уверены, что 1С Шина должна стать вашим первым выбором для системы гарантированной доставки сообщений. В архитектуре микросервисов именно Data Driven подход стимулирует использование шины сообщений. Data Driven позволяет масштабировать обработку транзакций горизонтально. При верной настройке 1С Шина становится сердцем Data Driven решений с гарантированной доставкой данных.

 

Особенности 1С Шины:

- Гарантированная доставка сообщений: Обеспечивает надежную передачу информации.

- Встроенные механизмы интеграции: Для работы с 1С предусмотрены специальные "Сервисы интеграции".

- Снижение объема кода: Упрощает настройку выгрузки, поддерживая JDBC-драйверы для работы с СУБД.

 

Сложности при использовании 1С Шины:

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

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

- Промежуточное хранение сообщений: На текущий момент система требует хранения данных в Регистре сведений и фоновых заданиях для отправки сообщений в 1С Шину.

 

Если у Вас есть сильная команда 1С-программистов и время на разработку, 1С Шина может стать отличным решением для организации системы выгрузки, аналогично RabbitMQ или Apache Kafka, особенно при реализации Data Driven подхода.

    

Разработка системы выгрузки из 1С во внешние источники

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

Они обладают глубокими знаниями о системе и понимают её сильные и слабые стороны. 

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

Однако существует одна важная проблема: программисты всегда заняты. 

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

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

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

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

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

При грамотной организации команда превращает техническую интеграцию в Data Driven решения, ускоряющие оборачиваемость капитала. Тем не менее, без культуры Data Driven даже самая продвинутая ETL-цепочка теряет эффект.

Учитывая эти ограничения, мы в компании "Денвик" решили разработать Low-Code инструмент для извлечения данных из 1С. 

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


История создания собственного решения - Экстрактор 1С

В 2022 году был выпущен первый релиз "Экстрактор данных 1С в BI". 

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

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

- Решение должно поддерживать любые версии 1С 8.2 и 8.3.

- Система должна обеспечивать высокую скорость работы.

- Необходимо отслеживание изменений в 1С с возможностью выгрузки только измененных данных.


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


Экстрактор 1С — это интегрированное приложение для платформы 1С, представляющее собой расширение (или встройку) конфигурации 1С. Оно предоставляет пользователям возможность:

 

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

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

Создавать и изменять таблицы-приемники в системах управления базами данных (СУБД) или темах Apache Kafka, сопоставляя поля и их типы, а также настраивать структуру таблиц, индексы и ключи.

Настраивать отслеживание изменений для выгружаемых объектов 1С.

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

   

Источники для Экстрактора 1С могут включать:

·         Объекты 1С или их комбинации, связанные в рамках факт-измерений.

·         Произвольные запросы 1С, включая временные и виртуальные таблицы.

·         Программные обработчики, где в качестве источника служит код 1С.

·         CSV-файлы с доступом через сетевой ресурс для сервиса “Сервер 1С”.

·         Excel-файлы с аналогичным доступом.

 

Приемниками могут быть:

·         Системы управления БД, такие как:

·         Clickhouse (как на серверах заказчика, так и в облачных Managed-установках Yandex, VK и других).

·         PostgreSQL (доступ через ADODB (ODBC) или http-сервис “db-proxy-service” для 1С на Linux).

·         Microsoft SQL Server (версии 2008 и выше) с одинаковыми способами доступа.

·         Очередь сообщений Apache Kafka, поддерживающая выгрузку через компоненту Confluent (REST API), с автоматическим созданием схемы и тем.

·         Для высоконагруженных баз в Экстракторе 1С предусмотрен дополнительный сервис http_redis, который позволяет хранить "очередь изменений 1С" во внешней БД, такой как Redis (аналог PicoData) или Apache Ignite (аналог DataGrid).

 

Ключевые особенности:

·         Режим самообслуживания: пользователям доступна возможность работы без привлечения программистов.

·         Простота выбора и настройки объектов 1С для выгрузки.

·         Автоматизация создания и модификации таблиц-приемников.

·         Полностью автоматизированное отслеживание изменений.

·         Удобные инструменты для трансформации данных и формирования моделей выгрузки на основе фактов и измерений.

·         Высокая скорость выгрузки благодаря параллельной обработке потоков.

·         Оптимизированный код Экстрактора 1С обеспечивает быструю регистрацию изменений данных.

 

В настоящее время "Экстрактор 1С" успешно используется более чем в 230 компаниях в России и СНГ. Это подтверждает растущую потребность в инструментах, обеспечивающих эффективную реализацию Data Driven подхода в организациях, использующих 1С.

Наши менеджеры ответят на все вопросы, произведут расчет стоимости услуг и подготовят коммерческое предложение!
Заказать проект

Это интересно