Appearance
Что такое "Турбо КД"
Турбо КД - набор инструментов для реализации простого и быстрого обмена данными в среде 1С:Предприятие.
Cкорость, простота, и универсальность обменов данными достигается за счет использования бинарного формата Apache Parquet, широко используемого в системах Big Data.
Решение может использоваться в ЛЮБЫХ конфигурациях 1С:Предприятие на платформе 8.3.
Решение работает как в управляемых так и в ОБЫЧНЫХ формах.
Не требуется использование специальных конфигураций для написания правил обмена.
Возможен обмен данными вообще БЕЗ ПРАВИЛ.
Архитектура решения позволяет значительно УПРОСТИТЬ и УСКОРИТЬ процессы разработки и отладки обменов.
Решение полностью АВТОНОМНО:
- Не используется БСП
- Не вносятся изменения в конфигурацию
- Не используются никакие модули типовых конфигураций
Не XML, не JSON, не XDTO.
Пример реализации загрузки данных в 1С Бухгалтерия 3.0
Принцип работы
Обмен через Parquet
Работа Турбо КД основана на идее сериализации (десериализации) табличных данных 1С (таблиц значений) в формат Apache Parquet.
Данные подход позволил:
- Существенно упростить и ускорить процедуры выгрузки, загрузки и трансформации данных при обменах внутри систем 1С Предприятие.
- Максимально просто и универсально реализовывать синхронизацию со сторонними приложениями
Типы значений
При сериализации (десериализации) полностью сохраняются типы значений, в том числе и ссылочные.
Функционал решения позволяет изменять типы ссылочных значений при загрузке данных.
Схема реализации
Так как Турбо КД реализует сериализацию и десериализацию данных - блок Турбо КД должен быть установлен как в базе источнике так и в базе получателе.
Выгрузка
Из базы источника выгружается "Пакет данных" (ПД), содержащий набор таблиц и служебную информацию. Полезные данные пакета представляют собой произвольный набор таблиц, полученных любым способом из базы 1С:Предприятие.
Данные для выгрузки могут быть сформированы:
вручную (программно созданные и заполненные таблицы значений) получены из результата запроса (одна таблица) получены в результатов запроса (несколько таблиц) Пакет представляет собой двоичные данные в формате Parquet.
Доставка
Пакет передается в базу источник любым, доступным в текущей обстановке, способом:
- файл
- ftp
- HTTP
- Rabbit
- Kafka
- и даже 1С:Шина
В стандартном варианте поставки реализованы способы обмена через файл и HTTP
Загрузка
Пакет читается в базе приенмике таким-же блоком Турбо КД как и в базе источнике. Код модулей Турбо КД абсолютно идентичен в базе источнике и в базе приемнике.
Прочитанные данные далее могут быть обработаны в базе приемнике произвольным образом.
Состав пакета
Формат Apache Parquet представляет собой бинарный формат специально разработанный для передачи и хранения табличных данных. Ближайшей аналогией могут выступать файлы dBase.
Формат предусматривает хранение в одном пакете (файле) произвольной дополнительной информации в двоичных и текстовых форматах. Таким образом в одном пакете можно хранить как основные данные (Основные данные), так и произвольное количество "вложенных" данных (в том числе строк, таблиц или целых пакетов 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 |