Конвертер данных 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 руб.

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

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

45650 руб.

SALE! 10%

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

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2...

34650 руб.

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

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

28000 руб.

Infostart PrintWizard - создание и редактирование печатных форм в 1С 8.3

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

18000 руб.

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

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

28000 руб.

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

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

43450 руб.

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

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

14580 руб.

SALE! 10%

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

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

28000 руб.