Релиз 3.5.3.110 (“Снежинка” или каскадная выгрузка объектов)

Релиз 3.5

Предыстория

До релиза 3.5 был только один способ настройки выгрузок из 1С с использованием Экстрактора 1С - это каждую сущность, каждую таблицу настраивать (прокликивать в Мастере настройки) отдельно.

Мы подумали, что было бы неплохо внедрить принцип “Единого окна” в процесс создания Проектов по множеству выгружаемых сущностей 1С

Мы сделали релиз 3.5, в котором в одном окне можно собрать все факты и измерения в отдельные проекты выгрузки, плюс сгенерировать денормализованные View, которые соединят вместе эти факты и измерения между собой.

Новое в релизе 3.5

В релизе 3.5 мы решили реализовать принцип “одного окна”, чтобы в одном интерфейсе настроить к выгрузке и “Факт” и все связанные с этим “Фактом” - “Измерения”

Немного по терминам, которые мы использовали в нашей новой разработке:

  1. “Схема” - это группа “Снежинок”

  2. “Снежинка” - это набор связанных между собой проектов, включающих в себя и “Факт” и “Измерения”

  3. Факт - это ведущая (главная) таблица с данными (таблица “слева” в View)

  4. Измерение - это некий справочник, связанный с “Фактом” (таблицы “справа” в View)

  5. Представление (Денонрмализованное View) - виртуальная таблица, в которой собраны все необходимые поля из “Факта” и “Измерений, где Факт и Измерения связаны между собой связями (left join)

Новая функциональность - “Снежинка” (или “Каскадная выгрузка”) - это по сути дополнение к функциональности релиза 3.4

О Снежинке "кратко" - за 3 минуты
О "Снежинке" - более подробно

Как сделать “Снежинку”?

Подготовка “Схемы данных”

В интерфейсе списка проектов появилось две новых иконки:

Новые кнопки
  • Создать схему данных

  • Создать Снежинку

Выбираем “Создать схему данных”

Заполняем "Схему данных"

Заполняем все поля:

  • Наименование

  • подключение

  • Префикс представления (это с этим префиксом будет генерироваться имя денормализованной View)

  • Префиксы таблиц (с этим префиксом будут создаваться таблицы фактов и измерений

  • Если все имена полей и таблиц нужны в латинице, то установите флаг - Транслитерация имен

  • Способ группировки проектов (это то, как каждая сущность (факт, измерения) будут сохранятся в Проекты Экстрактора 1С). по умолчанию - это Факт в Проект №1, и все измерения в Проект «№ 2

Проваливаемся внутрь “Схемы данных”

Зайти внутрь «Схемы данных»

Создание “Снежинки”

Теперь можно создать “Снежинку”.

Важное замечание

В одной “Схеме данных” может быть много “Снежинок”, которые будут переиспользовать общие друг для друга “Измерения”

Создаем «Снежинку» в «Схеме данных»

Выберите таблицу “Фактов”

Выбираем главную таблицу - таблицу «Фактов»

Выбрав таблицу “Фактов”, вы проваливаетесь в список дерева всех полей данного “Факта”

Укажите уровень детализации

Выбираем поля из факта и Измерений

И теперь можно выбрать все поля, в том числе и вложенные внутрь других ссылочных полей

Выполните обязательно проверку

Проверка валидности "Снежинки"

Проверка исключит дубли полей, проверит длину допустимую для именования полей и прочее

Далее, “Применить и закрыть”

Результат

В результате в базе SQL/Kafka:

  • Создаются все таблицы/топики измерений и факта

  • создается денормализованное View (для SQL)

А в базе 1С, в Экстракторе 1С:

  • создаются Проекты с тем видом группировки, который вы указали на уровне создания “Схемы”

Прочие настройки:

Теперь для каждого из проектов необходимо:

  • Настроить “Расписание выгрузки”

  • И сделать первичную инициализацию

“Сформировать очередь” и “Выполнить” (руками) сразу все проекты “Снежинки”, помогут новые кнопки на форме Списка “Проектов”

Ну а “Расписание нужно указать в каждом проекте отдельно