Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView
Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView.
- Описание
- Подробнее
Описание
Во время карантина появилось немного свободного времени и я решил рассказать, как я на прошлом месте работы смог быстро интегрировать несколько баз 1С с BI-системой (в нашем случае это был Qlik Sense). Сразу скажу, мы не стали использовать OData, потому что потребовалось бы слишком много ресурсов от отдела 1С и на интеграцию, и на дальнейшую поддержку.
Для интеграции данных 1С в BI-систему мы взяли коннектор АТК BIView. На инфостарте о нем не слышал, поэтому решил поделиться инструкцией по работе с коннектором и своими соображениями насчет плюсов и минусов продукта. Коннектор в автоматическом режиме создает SQL-представления базы 1С, с нужными для BI-систем трансформациями (с переименованными полями, разрешением ссылочных полей, преобразованием дат со смещением 2000 и т.д.). При этом для коннектора не важно 1С типовая или доработанная, потому что он подключается к метаданным для создания вьюх. Главное, чтобы 1С была на SQL или PostgreSQL (не файловой) и версия платформы была от 8.1.
Описание кейса использования
Мои задачи, как спеца по 1С, на BI-проекте были:
- дать данные из 1С, нужные для создания аналитики в Qlik Sense,
- не потратить при этом кучу человекочасов на монотонную работу и многочисленные объяснения структуры данных команде внедрения.
С этим коннектор справился хорошо: вместо зашифрованных названий таблиц, которые так любит 1С, он автоматически создал SQL-представления с названиями таблиц и полей в том виде, в котором они есть в 1С, что сняло сразу кучу вопросов к 1С как источнику данных. По сути получилось вот так:
Теперь мое мнение о плюсах и минусах коннектора и небольшая инструкция для заинтересованных.
Мнение о коннекторе
Плюсы Коннектора АТК BIView:
- Снимает большую часть монотонной работы по поиску соответствий 1С и SQL, переименованиям и пр. Если у вас несколько баз 1С, из которых нужно забирать данные в хранилище или BI-систему, экономия времени выходит значительная.
- Шансов что-то испортить в 1С нет – у коннектора права только на чтение 1С, записывает вьюхи он в соседнюю БД, которую мы для него специально создаем.
- Работает из коробки с любой конфигурацией 1С (проверяли на трех разных), но при этом коннектор – это не черный ящик. В папке проекта (та, что по умолчанию в ProgramData) создаются скрипты, которые можно открыть и посмотреть. ScriptLev2.txt – это полный скрипт того, как создавались SQL-представления и какие трансформации с данными производили. Например, в куске кода ниже видны такие преобразования (пометил красным):
- Технические наименования полей загружаются с теми названиями, что есть в пользовательском интерфейсе 1С
- Делается смещение дат 2000
- Подтягиваются справочники при помощи left join-ов
- Поддержка интеграции данных из 1С сильно упрощается. Если структура данных 1С изменилась, нужно открыть коннектор, запустить «расчет» и все. Все связи перестроятся самостоятельно и ваша BI-система или ХД будет работать с актуальными SQL-представлениями из 1С, а вам ничего не нужно будет вручную разбирать, сверять и поправлять.
Минусы:
- К сожалению, коннектор АТК BIView – не open source, нужно купить лицензию. Цены на постоянную лицензию начинаются примерно от 60 тыс. рублей, в зависимости от количества баз 1С. У нас в рамках общего бюджета проекта по внедрению BI-системы, стоимость коннектора была незначительной.
Также вроде бы планируют вводить подписку на месяц/год, но это лучше смотреть на сайте.
- Если у вас файловая 1С (не SQL, не PostgreSQL) или более старая версия 1С, чем 8.1, коннектор не подойдет.
Настройка соединения
Теперь небольшая инструкция о том, как работать с коннектором АТК BIView.
Сначала коннектору нужно настроить соединение с 1С (тут все понятно) и базой данных, куда коннектор запишет созданные SQL-представления и служебные таблицы. Она называется «БД Проекта» (отметил на скриншоте) и обязательно создается на SQL-сервере 1С. Вот экран настройки соединения:
Дальше жмем «Проверка подключения» (коннектор подключается как клиент 1С) и ждем надписи, что подключение успешно.
Вот БД Проекта, которую я создал на MS SQL сервере для коннектора, папка Views пока пуста:
Если вы собираетесь потом использовать SQL-представления в Power BI, на стартовом экране нужно поставить галочку «Режим проекта Power BI». Поскольку у нас был Qlik Sense, не могу прокомментировать, мы не ставили.
Еще на экране подключения есть поле «Проект» со ссылкой на папку проекта, где хранятся все данные по настройкам ATK BIView, логи, которые пишутся во время подключения и расчета, скрипты, создающие SQL-представления. Неудобство может быть только с минимальной лицензией на коннектор (на одну базу) – там местоположение папки изменить нельзя (она находится строго в ProgramData на диске С).
Создание SQL-представлений
У коннектора 2 типа проекта, в которых можно создавать SQL-представления:
1-Базовый
2-Расширенный
Не очень понял, в чем смысл базового типа проекта, потому что он создает те же вьюхи, только количество полезных трансформаций для BI-щиков в них гораздо меньше. Похоже, можно всегда просто выбирать второй тип проекта (на скриншоте), а затем – кнопка «расчет»:
Дальше нужно подождать. Сколько подождать – зависит от объема вашей 1С. Коннектор считывает метаданные, готовит технические SQL-таблицы и на основе них уже создает вьюхи. Информацию о процессе показывает в строке рядом с кнопкой «Расчет»:
Готовые SQL-представления: особенности
Когда расчет завершится, база данных проекта, которую мы создавали будет содержать все SQL-представления по вашей 1С. Например, вот так:
Видим, что:
- Названия таблиц соответствуют названиям таблиц 1С (вместо dbo._AccumRG7265 привычное человекочитаемое название)
- Есть дополнительные SQL-представления, которые создаются для дальнейшего удобства работы с BI. Например, для хозрасчетного регистра бухгалтерии строится представление с полупроводками (движение отдельно по счету дебета, отдельно – по счету кредита). Это удобно для анализа оборотно-сальдовой ведомости в BI-системе.
Триальная версия
Также у коннектора АТК BIView есть бесплатная триальная версия. Она, конечно, сильно урезанная. Можно:
- Автоматически (как в инструкции выше, по кнопке «расчет») сгенерить всего 25 SQL-представлений по таблицам 1С в алфавитном порядке. Понятно, что с ними в BI-системе ничего интересного не сделать, это тупо проверить, что коннектор рабочий.
- Вручную можно выбрать 12 таблиц, для которых коннектор сгенерит SQL-представления. С ними уже можно сделать мини-аналитическое приложение в BI-системе. Таблицы выбираются в конфигураторе внутри коннектора – вкладка Информация – TRef-Список таблиц:
Полезные ссылки:
- Сайт коннектора: http://biview.atkcg.ru/
- База знаний: http://biview.atkcg.ru/knowledge-base/
- Бесплатная триальная версия: http://biview.atkcg.ru/download/
- Видео по коннектору: https://www.youtube.com/playlist?list=PL23e0bBt-DOn7—x7_hc2HNWrLfZapwOW
- Инструкция по работе с триальной версией: http://biview.atkcg.ru/knowledge-base/besplatnaya-probnaya-trialnaya-licenziya/