Skip to content

Что такое "Турбо КД" ​

Турбо КД - набор инструментов для реализации простого и быстрого обмена данными в среде 1С:Предприятие.

Cкорость, простота, и универсальность обменов данными достигается за счет использования бинарного формата Apache Parquet, широко используемого в системах Big Data.

Решение может использоваться в ЛЮБЫХ конфигурациях 1С:Предприятие на платформе 8.3.

Решение работает как в управляемых так и в ОБЫЧНЫХ формах.

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

Возможен обмен данными вообще БЕЗ ПРАВИЛ.

Архитектура решения позволяет значительно УПРОСТИТЬ и УСКОРИТЬ процессы разработки и отладки обменов.

Решение полностью АВТОНОМНО:

  • Не используется БСП
  • Не вносятся изменения в конфигурацию
  • Не используются никакие модули типовых конфигураций

Не XML, не JSON, не XDTO.
Пример реализации загрузки данных в 1С Бухгалтерия 3.0

Принцип работы ​

Обмен через Parquet ​

Работа Турбо КД основана на идее сериализации (десериализации) табличных данных 1С (таблиц значений) в формат Apache Parquet.

Данные подход позволил:

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

Типы значений

При сериализации (десериализации) полностью сохраняются типы значений, в том числе и ссылочные.
Функционал решения позволяет изменять типы ссылочных значений при загрузке данных.

Схема реализации ​

Структура пакета Apache Parquet

Так как Турбо КД реализует сериализацию и десериализацию данных - блок Турбо КД должен быть установлен как в базе источнике так и в базе получателе.

Выгрузка ​

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

Данные для выгрузки могут быть сформированы:

вручную (программно созданные и заполненные таблицы значений) получены из результата запроса (одна таблица) получены в результатов запроса (несколько таблиц) Пакет представляет собой двоичные данные в формате Parquet.

Доставка ​

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

  • файл
  • email
  • ftp
  • HTTP
  • Rabbit
  • Kafka
  • и даже 1С:Шина

В стандартном варианте поставки реализованы способы обмена через файл и HTTP

Загрузка ​

Пакет читается в базе приенмике таким-же блоком Турбо КД как и в базе источнике. Код модулей Турбо КД абсолютно идентичен в базе источнике и в базе приемнике.

Прочитанные данные далее могут быть обработаны в базе приемнике произвольным образом.

Состав пакета ​

Формат Apache Parquet представляет собой бинарный формат специально разработанный для передачи и хранения табличных данных. Ближайшей аналогией могут выступать файлы dBase.

Формат предусматривает хранение в одном пакете (файле) произвольной дополнительной информации в двоичных и текстовых форматах. Таким образом в одном пакете можно хранить как основные данные (Основные данные), так и произвольное количество "вложенных" данных (в том числе строк, таблиц или целых пакетов Parquet).

Структура пакета Apache Parquet

Правила обмена ​

При разработке Турбо КД был полностью пересмотрен подход к разработке и использованию правил обмена.

  • Правила обмена не являются обязательными
  • Правила обмена используются только при разборе (десериализации) полученных пакетов данных
  • Для разработки правил обмена не требуется использование специальных конфигураций
  • Правила описывают только соответствия ссылочных типов и фиксированных значений (перечисления, предопределенные элементы)
  • Правила описывают только расхождения в типах и предопределенных элементах
  • Правила хранятся в формате JSON
  • Правила не содержат исполяемого кода

Функционал ​

Базовые функции ​

  • Конвертация таблиц значений в формат Apache Parquet
  • Конвертация данных Parquet в таблицу (таблицы) значений
  • Выполнение запросов к базе источнику через HTTP
  • Выгрузка результатов запроса (пакета запросов) в формат Apache Parquet

Функции конвертации данных 1С ​

  • Замена типов загружаемых ссылок при загрузке
  • Замена значений загружаемых ссылок при загрузке
  • Выгрузка вторичных ссылок (автоматическая)
  • Создание объектов вторичных ссылок при загрузке (автоматическое)
  • Конвертация типов ссылок (автоматическая)
  • Конвертация значений перечислений (автоматическая)
  • Конвертация ссылок на предопределенные значения (автоматическая)

Сервисные обработки ​

  • Универсальная "Выгрузка-загрузка данных Parquet"
  • Консоль запросов, с возможностью выполнение запросов в сторонней базе
  • Универсальный загрузчик в 1С Бухгалтерия 3.0
  • Выгрузка (загрузка) данных в ClickHouse
  • Выгрузка (загрузка) данных в Laravel
  • Выгрузка (загрузка) данных в Django

Варианты использования ​

Обмены 1С-1С ​

Загрузка в 1С Бухгалтерия 3.0 ​

Базы источники
Возможные источники
КА 1.1
УТ 10.3
УПП 1.3
УТ 11.5

Переходы на новые версии ​

Варианты переходов
Старая верияНовая версия
Бух 2.0Бух 3.0
УППБух 3.0
УППERP
УТ 10.3УТ 11.5

Обмены между произвольными конфигурациями ​

Примеры
ИсточникПолучатель
ЗуП 3.1УТ 11.5
УППДО 3.0
УТ 10.3УПП 1.3
УТ 11.5УНФ 3.0

Разовые переносы ​

Применение
  • Загрузка битых ссылок
  • Копирование объектов из рабочих баз в тестовые
  • Слияние ИБ
  • Разделение ИБ

Обмены с другими программами ​

Турбо КД использует Apache Parquet в качестве формата обмена данными.

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

Использование, по настоящему, универсального формата позволяет легко организовать обмен данными с различными классами систем и СУБД. Формат поддерживается:

ЯзыкиPython, JS, Java, C++, C#, PHP, GO
БраузерыApache Parquet может использоваться непосредственно в браузере (через WASM пакеты)
СУБДClicHouse, DuckDB
BI системыMS PowerBI, Apache Superset, Yandex DataLens
DWH системы​Hadoop, Spark, DeltaLake

см. Примеры реализации...