Генератор View к таблицам базы данных MS-SQL для любых конфигураций 1С 8.3
Пролог
В нашей компании есть направление бизнес-аналитики. Мы делаем витрины данных, различные интеграции, а также внедряем у клиентов OLAP (MS Analysis Services) и PowerBI.
Почти в каждом проекте у нас возникает необходимость в получении данных из баз данных 1С.
Мы собираем данные из 1С напрямую, читая данные БД 1С в MS SQL Server.
Кто-то скажет, что это не очень правильно. Но зато (скажу я)- это очень эффективно. (опять же изучая опыт западных решений - очень многие предоставляют удобный доступ к своей реляционной базе данных, если и не к таблицам, то к View точно [посмотрите хотя бы на MS CRM])
Состав решения
В результате наших изысканий, мы разработали весьма удобный конструктор view (представлений) почти ко всем таблицам 1С (на данный момент тестировались конфигурации под 1С 8.3 как внутри компании, так и у клиентов). Обработка умеет генерировать View к:
- Справочники и их табличные части
- Документы и их табличные части
- Планы видов характеристик
- Регистры сведений
- Регистры накопления
- Перечисления (тут особенность :). Мы заполняем view Перечисления всеми данными, которые в них есть, включая наименование, понимающие в этом - оценят)
- Константы
- Задачи
- Бизнес-процессы
Но это только верхушка айсберга
Есть еще опциональные вещи:
- Приведение ключевых полей таблиц к типу bigint или varchar(32) (как вы знаете, ключевые поля в 1С хранятся в binary(16))
- создание view с директивой WITH (NOLOCK)
- для регистров накопления, помимо view к таблицам с данными, можно создавать еще и view к таблицам оборотов
- для регистров накопления, помимо view к таблицам с данными, можно создавать еще и view к таблицам итогов
- для регистров накопления, можно создавать дополнительные поля (Движение, Приход, Расход)
- из полей с датами, опционально можно вырезать время. Т.е. приводить поля с типом datetime к date
- для именования полей и представлений (view) использовать как названия из метаданных, так и "синонимы"
- Добавлять префиксы к view в названии )или не добавлять)
- Пересоздавать представления (drop... create...)
- Восстанавливать выбор ранее созданных view (представлений), чтобы не вспоминать какие из представлений надо переделать
- Добавлять строку в представление (view) с кодом 0 (требуется для корректной работы LOOKUPVALUE и PATH в Power BI
Особенной фишкой нашего "Генератора View" является поиск и правильное именование ключевых полей в представлениях, что в 70% случаев позволяет использовать автоматические связи (актуально для Qlik Sense и Power BI, где если ключевое поле справочника и поле документа/регистра совпадают по наименованию, то Qlisk Sense/Power BI создаст связь между этими полями автоматически)
Обработка реализована под MS SQL Server.
PS:
При необходимости, можно обсудить ее доработку и под PostgreSQL (пока таких запросов не было)
Требования и ограничения, условия и т.д.
- Работает под конфигурациями на 1С 8.3 (тестировалось с 1С 8.3.13.ххх и выше), управляемые формы
- Необходимо подключение к БД 1С (клиент-серверный режим с использованием MS SQL Server. Тестировалось не ниже MS SQL Server 2012)
- тестировалось и корректно работает на УТ 11.4 и 1С ERP 2.1. Аналогично будет работать и на любых других конфигурациях под 1С 8.3 (1С Розница, 2, КА 2 и т.д.), так как используются общие для 1С 8.3 платформенные механизмы чтения и обработки метаданных
- На обычных формах не проверялось, будет потребность - надо обсуждать
- Обработка претендует на некоторую универсальность
Достоинства
Важным преимуществом обработки является
- значительное ускорение подготовки View к таблицам 1С в MS SQL Server для бизнес-аналитика
- удобное создание и пересоздание View
- Простой и интуитивно понятный интерфейс
Сравнение версий
Версия 2.3.2
Добавлен новый функционал:
1. Сделан вариант конвертации идентификаторов 1С (_IdRef) из Binary в Varchar(32)
2. Добавлена выгрузка "Задачи"
3. Добавлена выгрузка "Бизнес-процессы"
4. Мелкая оптимизация кода
Гарантия возврата денег
ООО "Инфостарт" гарантирует Вам 100% возврат оплаты, если программа не соответствует заявленному функционалу из описания. Деньги можно вернуть в полном объеме, если вы заявите об этом в течение 14-ти дней со дня поступления денег на наш счет.
Программа настолько проверена в работе, что мы с полной уверенностью можем дать такую гарантию. Мы хотим, чтобы все наши покупатели оставались довольны покупкой.
Для возврата оплаты просто свяжитесь с нами.