Мост — конвертация данных

13.10.25

Интеграция - Внешние источники данных

Дорогой дневник, мне не подобрать слов, чтобы описать боль и унижение, которые я испытал за последнее время, моя жизнь никогда не будет прежней... мне не удалось разобраться в различных технологиях конвертации однотипных JSON-данных... но зато мне удалось придумать решение для единообразной конвертации различных данных в объекты 1С

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Мост - конвертация данных + Демо примеры
.cfe 237,36Kb
3 1 850 руб. Купить
Мост — конвертация данных
.cfe 162,23Kb
0 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Исходные условия

Команда: более 1-го разработчика
Основные задачи разработки: 60% задач - это приём входящих данных в форматах JSON и XML из внешних информационных систем, и их конвертация в объект 1С.
Пояснение: внешние информационные системы — это системы не из семейства «1С:Предприятие», и данные, которые они передают, не являются данными в формате КД 2 или КД 3 (EnterpriseData).

 

Описание процесса

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

 

Проблема

При организации обмена с внешней системой каждый разработчик реализует загрузку и конвертацию данных по-своему. Это приводит к определённым издержкам. В результате разобраться в таком обмене может только разработчик N, поскольку он его и создавал. Подключение к поддержке или развитию этого обмена любого другого специалиста потребует значительного времени на погружение в код и логику, придуманные его автором. В худшем случае  другие разработчики создадут собственную реализацию загрузки и конвертации входящих данных в объект 1С, чем порождают ещё один "стандарт" загрузчика.
Как результат - отсутствие единообразия в решении подобных задач.

 

Потребность

Требуется инструмент для единообразного приёма и конвертации данных из внешних систем в объекты 1С. Существующие решения в архитектуре КД 2 и КД 3 не подходят для нашей проблемы, так как внешние системы редко предоставляют данные в том виде, который необходим для работы их алгоритмов.
Необходимая нам подсистема должна быть универсальной и не зависеть от конкретного формата входящих данных. Это позволит обеспечить гибкость при работе с различными форматами из внешних источников данных.   

 

Идея решения

Поскольку архитектура решений КД 2 и КД 3 предусматривает разработку правил конвертации под конкретный формат данных, наша подсистема должна функционировать на более высоком уровне абстракции и не зависеть от формата входящих данных. Любые входящие данные — будь то JSON или XML — в конечном итоге перед конвертацией преобразуются в определённые типы коллекций 1С: Структура или Соответствие. Именно эти типы представляют собой следующий уровень абстракции.
Мы должны описывать правила конвертации для универсальных коллекций 1С. Следовательно, наша подсистема должна на основе заданных правил конвертации преобразовывать Соответствие в Объект 1С. Образно говоря, правила конвертации между Соответствием и Объектом 1С — это Мост, пройдя через который данные универсальной коллекции становятся полноценным объектом 1С.

 

Решение

Мост — конвертация данных — подсистема, в которой реализованы следующие функции:

  • Сохранение входящих данных в регистре сведений Inbox (реализация паттерна Inbox).
  • Преобразование форматов JSON и XML в универсальную коллекцию 1С типа Соответствие.
  • Интерактивное описание правил конвертации Соответствия в объект 1С.
  • Выполнение конвертации по заданным правилам Соответствия в объект 1С.
  • Логирование этапов конвертации (при необходимости).
  • Кэширование поиска ссылочных данных.

 

Описание решения

 
 Справочник "Идентификатор обмена"
 
 Обработка "Помощник формирования кода обмена"
 
 Обработка "Обмен данными"
 
 Регистр сведений "Inbox"
 
 Регистр сведений "Публичные идентификаторы"
 
 Регистр сведений "Протокол обмена"
 
 Регистр сведений "Протокол обмена - история"

 

Пример реализации

Решим задачу по организации загрузки данных из информационной системы "Тест". Решать ее будем с помощью подсистемы "Мост - конвертация данных".

*все имена метаданных могут быть произвольными
 
Пошаговый пример
 
 Техническая реализация

 

Отладка

Для более легкого восприятия в подсистему "Мост - конвертация данных" добавлен Демо пример, в котором обыграны самые сложные, на мой взгляд, примеры правил конвертации.

 
 Примеры реализованных правил конвертации в Демо примере 

 

Заключение

"Мост — конвертация данных" представляет собой архитектурное ядро, обеспечивающее единообразный подход к обработке и конвертации данных. Данная подсистема является базовым компонентом, который мы можем дорабатывать и развивать для реализации единообразной интеграции с различными внешними источниками данных.

 

Страничка проекта

data_conversion_bridge_1C

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.11.269

Вступайте в нашу телеграмм-группу Инфостарт

расширение подсистема конвертация json xml соответствие правила

См. также

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    6405    4    3    

7

SALE! 15%

WEB-интеграция Программист Бизнес-аналитик 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17280 14688 руб.

20.12.2024    3724    18    2    

20

Внешние источники данных Программист Бизнес-аналитик 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Розница 3.0 Платные (руб)

Обработка для выгрузки данных из подготовленных СКД в фоновом режиме в базу ClickHouseDB, PostgreSQL, MySQL, в шину данных с поддержкой REST API (CSV, JSON. SQL), в локальные файлы (CSV, JSON, XLS, XLSX) или в Google Sheets. Это дополнительная подключаемая обработка.

18000 руб.

21.08.2024    4822    11    4    

11

Внешние источники данных Программист Бизнес-аналитик Пользователь 1С v8.3 Управляемые формы Анализ и прогнозирование 1C:Бухгалтерия Узбекистан Беларусь Кыргызстан Молдова Россия Казахстан Платные (руб)

Готовое решение для автоматической выгрузки данных из 1С 8.3 в базу данных ClickHouse, PostgreSQL или Microsoft SQL для работы с данными 1С в BI-системах. «Экстрактор данных 1С в BI» работает со всеми типовыми и нестандартными конфигурациями 1С 8.3 и упрощает работу бизнес-аналитиков. Благодаря этому решению, специалистам не требуется быть программистами, чтобы легко получать данные из 1С в вашей BI-системе.

28500 руб.

15.11.2022    27032    31    49    

43

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    21501    29    24    

24
Для отправки сообщения требуется регистрация/авторизация