Релиз 3.5.3.110 (“Снежинка” или каскадная выгрузка объектов)
Релиз 3.5
Предыстория
До релиза 3.5 был только один способ настройки выгрузок из 1С с использованием Экстрактора 1С - это каждую сущность, каждую таблицу настраивать (прокликивать в Мастере настройки) отдельно.
Мы подумали, что было бы неплохо внедрить принцип “Единого окна” в процесс создания Проектов по множеству выгружаемых сущностей 1С
Мы сделали релиз 3.5, в котором в одном окне можно собрать все факты и измерения в отдельные проекты выгрузки, плюс сгенерировать денормализованные View, которые соединят вместе эти факты и измерения между собой.
Новое в релизе 3.5
В релизе 3.5 мы решили реализовать принцип “одного окна”, чтобы в одном интерфейсе настроить к выгрузке и “Факт” и все связанные с этим “Фактом” - “Измерения”
Немного по терминам, которые мы использовали в нашей новой разработке:
“Схема” - это группа “Снежинок”
“Снежинка” - это набор связанных между собой проектов, включающих в себя и “Факт” и “Измерения”
Факт - это ведущая (главная) таблица с данными (таблица “слева” в View)
Измерение - это некий справочник, связанный с “Фактом” (таблицы “справа” в View)
Представление (Денонрмализованное View) - виртуальная таблица, в которой собраны все необходимые поля из “Факта” и “Измерений, где Факт и Измерения связаны между собой связями (left join)
Новая функциональность - “Снежинка” (или “Каскадная выгрузка”) - это по сути дополнение к функциональности релиза 3.4
Как сделать “Снежинку”?
Подготовка “Схемы данных”
В интерфейсе списка проектов появилось две новых иконки:
Создать схему данных
Создать Снежинку
Выбираем “Создать схему данных”
Заполняем все поля:
Наименование
подключение
Префикс представления (это с этим префиксом будет генерироваться имя денормализованной View)
Префиксы таблиц (с этим префиксом будут создаваться таблицы фактов и измерений
Если все имена полей и таблиц нужны в латинице, то установите флаг - Транслитерация имен
Способ группировки проектов (это то, как каждая сущность (факт, измерения) будут сохранятся в Проекты Экстрактора 1С). по умолчанию - это Факт в Проект №1, и все измерения в Проект «№ 2
Проваливаемся внутрь “Схемы данных”
Создание “Снежинки”
Теперь можно создать “Снежинку”.
В одной “Схеме данных” может быть много “Снежинок”, которые будут переиспользовать общие друг для друга “Измерения”
Выберите таблицу “Фактов”
Выбрав таблицу “Фактов”, вы проваливаетесь в список дерева всех полей данного “Факта”
Укажите уровень детализации
И теперь можно выбрать все поля, в том числе и вложенные внутрь других ссылочных полей
Выполните обязательно проверку
Проверка исключит дубли полей, проверит длину допустимую для именования полей и прочее
Далее, “Применить и закрыть”
Результат
В результате в базе SQL/Kafka:
Создаются все таблицы/топики измерений и факта
создается денормализованное View (для SQL)
А в базе 1С, в Экстракторе 1С:
создаются Проекты с тем видом группировки, который вы указали на уровне создания “Схемы”
Прочие настройки:
Теперь для каждого из проектов необходимо:
Настроить “Расписание выгрузки”
И сделать первичную инициализацию
“Сформировать очередь” и “Выполнить” (руками) сразу все проекты “Снежинки”, помогут новые кнопки на форме Списка “Проектов”
Ну а “Расписание нужно указать в каждом проекте отдельно