Конвертер данных 1С в JSON и обратно

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

Арт.: 2033561

КонвертерJSON.png
Форма для тестирования и просмотра результатов
КонвертерJSON.png
Форма для тестирования и просмотра результатов
Лицензии

4800 руб.

Техподдержка и обновления

3000 руб.

Область применения

Решение для программистов, которое может быть использовано для решения следующих задач:

  • Упаковка данных для обмена.
  • Хранение произвольных настроек в удобном формате с возможностью их переноса в другие базы
  • Визуализация произвольных структур данных для демонстрации.
  • Сериализация произвольных структур (состояния данных) для последующего статического анализа - например для разбора проблем и ошибок.

Технические требования

  • Продукт не зависит от используемой конфигурации.
  • Минимальная поддерживаемая версия платформы 8.3.6 из-за использования нативных методов платформы по непосредственным чтению и записи JSON. Поддержка может быть радикально снижена переопределением методов выполняющих непосредственные чтение и запись текста. Существует как минимум одна бесплатная обработка реализующая функциональность методов платформы по работе JSON.
  • Предполагается использование обработки в контексте сервере, внешнего соединения или толстого клиента из-за широкого ассортимента поддерживаемых типов. Если есть потребность использовать конвертер на тонком клиенте(!), пишите в поддержку в каких кейсах это необходимо. Если реально, то будет вариант с поддержкой тонкого клиента.

Код открыт.

Обзор стандартных возможностей платформы

При стандартном преобразовании JSON от 1С:

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

Все остальные типы поддерживаются только при условии, что:

  • Будут разработаны функции, выполняющие сериализацию/десериализацию данных в поддерживаемый формат.
  • Будет обеспечена их доступность в контексте выполнения конвертации.
  • Приёмник будет точно знать, какие свойства требуют особого подхода.

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

Представляем продукт "Конвертер JSON 1C", который решает эти проблемы "из коробки".

Основные преимущества и возможности Конвертера JSON 1С

  • Готовый программный интерфейс.
  • Нет необходимости предварительно готовить данные и настраивать механизмы конвертации - конвертируются в том виде, в котором они у вас есть на момент получения.
  • Конвертация производится в открытый, легко читаемый формат.
  • Стоимость не превышает двух часов работы программиста, которых очевидно не хватит на разработку функционального аналога.

Поддерживаемые типы данных

Поддерживаются основные типы данных, которые обычно необходимо хранить или передавать. Однозначно отсутствует поддержка мутабельных значений.

В теории можно сериализовать некоторые мутабельные значения, и это реализовано, но совсем другой продукт.

  • Массив - поддерживается нативно платформой. В продукте добавлена поддержка рекурсивной сериализации значений коллекции.
  • Структура - поддерживается нативно платформой. В продукте добавлена поддержка рекурсивной сериализации значений коллекции.
  • ТаблицаЗначений - полная поддержка.
  • Ссылки - полная поддержка.
  • Предопределенные ссылочные значения - полная поддержка.
  • Перечисления - полная поддержка.
  • ОписаниеТипов - полная поддержка.
  • Тип - полная поддержка.
  • СписокЗначений - картинки в списке не поддерживаются.
  • ДвоичныеДанные - полная поддержка.
  • Системные перечисления - полная поддержка.
  • Примитивные типы - полная поддержка.
  • Отбор - поддерживается только сериализация в массив структур. Десериализация в принципе не возможна из-за отсутствия в платформе конструктора для отбора.

Важные исключения:

Поддержка любых ссылочных типов и связанных с ними значениями, подразумевает, что в контексте десериализации будут подходящие объекты.

Например, если вы сериализовали описание типа содержащее указание на справочник "Номенклатура", то ИБ в которой будет производиться десериализация должна содержать такой справочник, пусть и в другом наборе реквизитов.

Состав поставки и варианты интеграции

  • Конвертер JSON поставляется в виде обработки готовой для интеграции в конфигурацию или расширение.
  • К обработке прилагается форма, на которой можно предварительно потестировать и посмотреть глазами работу конвертера. Текст можно посмотреть глазами, обратную конвертацию придётся посмотреть в отладчике. Отдельного вьювера для всех поддерживаемых данных не нашёл. Собственно JSON формат и является таким вьювером.
  • При нежелании возиться с правами на обработку для рабочих ролей, можно скопировать её модуль в общий модуль и пользоваться им, но в будущем планируется развитие конвертера именно как полноценного класса с простым API, но продвинутым содержимым.
  • Если конфигурация полностью типовая и все доработки выполняются через расширения, то рекомендую помещать обработку в справочник внешних обработок или иной контейнер позволяющий хранить двоичные данные. Единственный недостаток данного метода, что при необходимости обратиться к внешней обработке, вам придётся выполнить чуть более сложную инициализацию через менеджер внешних обработок.

Пример подключения и использования

// Вариант с использованием обработки интегрированной в конфигурацию
КонвертерJSON = Обработки.КонвертерJSON.Создать();
Сообщение = Новый Структура;

Сообщение.Вставить("ДанныеОбъекта", ЗначенияРеквизитовИтабЧастейОбъекта(ДокументСсылка));
Сообщение.Вставить("Вложения", ПолучитьМассивВложений(ДокументСсылка));
Сообщение.Вставить("ТипРегистрации", ПредопределенноеЗначение("Перечисление.ТипыРегистрацииДанных.Авторегистрация"));

ТекстJSON = КонвертерJSON.Сериализовать(Сообщение);

// Сообщение1 будет идентично Сообщение
Сообщение1 = КонвертерJSON.Десериализовать(ТекстJSON);

 

Техническая поддержка и обновления

Бесплатный период техподдержки составляет 1 месяц со дня покупки.

Также после приобретения вы получаете 1 месяц бесплатных обновлений.

По окончании бесплатного периода вы можете приобрести услугу технической поддержки с доступом к обновлениям на платной основе.

Проверить наличие обновлений можно в личном кабинете. Если обновления недоступны - загрузить новую версию можно после покупки обновлений/технической поддержки.

Задать вопрос по программе можно по кнопке "Техподдержка" на странице описания.

При создании тикета необходимо предоставить:

  1. Номер заказа
  2. Описание вопроса. Если это ошибки - напишите порядок ваших действий с программой, которые к ней привели (приложите видео/скриншоты/отчеты об ошибке)
  3. Версию платформы, на которой используете купленное решение (версию 1С можно взять из раздела "О программе"), версию купленной программы.

К созданной заявке подключается специалист. Дальнейшее обсуждение проблемы будет проходить в тикете техподдержки. Стандартный срок реакции - 24 часа в рабочие дни с момента обращения.

Техподдержка
 

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

  • Управление торговлей, редакция 11, релизы 11.5.15.111
  • Бухгалтерия предприятия, редакция 3.0, релизы 3.1.22.86
1. Техподдержка 25.02.24 19:41
Вопросы, предложения, пожелания можно писать сюда

Оставьте свое сообщение

См. также

Infostart Toolkit: Инструменты разработчика 1С 8.3 на управляемых формах

Набор инструментов программиста и специалиста 1С для всех конфигураций на управляемых формах. В состав входят инструменты: Консоль запросов, Консоль СКД, Консоль кода, Редактор объекта, Анализ прав доступа, Метаданные, Поиск ссылок, Сравне...

10000 руб.

SALE! 15%

Синхронизация и обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмен...

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций нов...

26280 21024 руб.

SALE! 20%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте врем...

55778 50200 руб.

SALE! 10%

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1...

35000 31500 руб.

SALE! 10%

Database Compression Tool (DCT) Универсальный инструмент сжатия, свертки и конвертации баз данных 1С

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP и т.д.). Поддерживаются управляемые и обычные формы. Может выполнять свертку сразу нескольких баз данных и в...

8400 7140 руб.

SALE! 15%

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 1...

35000 31500 руб.

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расста...

53111 47800 руб.

SALE! 10%

Перенос данных из УПП 1.3 / КА 1.1 в БП 3. Переносятся документы, справочники и начальные остатки

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся докум...

48278 43450 руб.

SALE! 10%

Обмен УПП 1.3, КА 1.1, УТ 10.3 с EnterpriseData (универсальный формат обмена) ED2

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработ...

15300 13005 руб.

SALE! 15%

Переход и перенос данных из Камин 3.0, 4.0, 5.0 в ЗУП 3.х

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет заработной платы 3.0», «КАМИН:Зарплата для бизнеса 4.0» и «КАМИН:Зарплата 5.0» на конфигурацию «Зарплата и управление персоналом» версии 3.1.

12000 руб.