Редактирование и просмотр JSON в интерфейсе 1С (через поле HTML документа)

Публикация № 1061673

Разработка - Работа с интерфейсом

JSON Инструменты разработчика Поле HTML документа Редактор

Позволяет открыть любой текст JSON в поле HTML Документа в удобном для редактирования виде, и получить результаты редактирования. Обработка является оберткой над сайтом http://jsoneditoronline.org, для работы обработки требуется доступ к интернету на клиенте.

Вступление

Возникла задача удобного просмотра и редактирования JSON объектов в интерфейсе 1С.

Поиском на infostart нашел несколько похожих по смыслу обработок но реализованных через дерево значений 1С, после использование онлайн инструментов http://jsoneditoronline.org/  использование интерфейса построенного на дереве значений показалось сильно не удобным.

В результате решил сделать собственный вариант который позволил бы использовать все возможности http://jsoneditoronline.org/ в интерфейсе 1С. 

 

Как основа для обработки используется сайт http://jsoneditoronline.org/ (так же по похожему принципу можно использовать и другие, но этот на мой взгляд самый удобный и хорошо переваривает большие JSON объекты).

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

Описание

В обработке реализованы 2 формы:

  • Форма - основная форма которая содержит пример вызова редактора.
&НаКлиенте
Процедура ТекстJSONОткрытие(Элемент, СтандартнаяОбработка)
	СтандартнаяОбработка=Ложь;
	ОткрытьФорму("ВнешняяОбработка.РедакторJSON.Форма.РедакторJSON",Новый Структура("ТекстJSON",ТекстJSON),Элемент,,,,Новый ОписаниеОповещения("ОбработкаРезультатаРедактиораJSON",ЭтотОбъект),РежимОткрытияОкнаФормы.Независимый);
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаРезультатаРедактиораJSON(РезультатЗакрытия,ДопПараметры) Экспорт
	Если РезультатЗакрытия<>Неопределено тогда
		ТекстJSON=РезультатЗакрытия
	КонецЕсли;	
КонецПроцедуры
  • РедакторJSON -  форма редактора (для использования можно встроить в конфигурацию в качестве общей формы). 

При открытии формы редактора, происходит загрузка сайта в "Поле HTML документа", затем: 

  • Отключается реклама;
  • Удаляются лишние блоки оформления;
  • Путем вызова JS функций Устанавливается текст JSON;
  • Инициируется парсинг JSON и построение дерева объектов.

Далее можно работать с текстом, добавлять объекты, изменять значения (как в редакторе так и в дереве). 

При нажатии на "Сохранить и закрыть":

  • Извлекается текст с учетом внесенных изменений;
  • Передается в качестве результата закрытия;

 

Проверялось на Windows, Тонкий/Толстый клиенты, 8.3.14.1630.

Достоинства

1. Удобный интерфейс
2. Наглядное отображение структуры JSON
3. Широкий возможности по редактированию структуры и содержимого JSON

Скачать файлы

Наименование Файл Версия Размер
Форма редактора и пример использования
.epf 10,98Kb
16.05.19
9
.epf 10,98Kb 9 Скачать

Специальные предложения

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

См. также

Альтернативный способ добавления элементов и реквизитов на формы Промо

Работа с интерфейсом v8 ERP2 УТ11 Россия Абонемент ($m)

Предлагаю альтернативный вариант добавления динамически создаваемых элементов и реквизитов на форму.

1 стартмани

09.09.2019    8350    10    bmk74    1    

Загрузка, редактирование и установка цветовых схем (раскраски кода) в Конфигуратор и EDT

Работа с интерфейсом Прочие инструменты разработчика v8 1cv8.cf Абонемент ($m)

В современных IDE и текстовых редакторах есть удобная работа с цветовыми схемами: их можно загружать из файлов, выбирать из списка и сразу устанавливать в оболочку. К сожалению, в Конфигураторе и EDT цвета кода можно настроить только вручную. Этой разработкой хочу исправить эту проблему.

1 стартмани

14.05.2020    3029    42    CyberCerber    28    

Открыть форму внутри другой формы - наконец-то возможно!

Работа с интерфейсом v8::УФ Абонемент ($m)

Я давно мечтал о возможности открытия форм 1С внутри других форм, мне время от времени попадаются задачи, где это бы пригодилось. И вот в версии 8.3.16 наконец-то это можно реализовать! Конечно, это не совсем то, что я ожидал, но получилось все равно интересно. Давайте посмотрим.

1 стартмани

15.04.2020    8992    4    CyberCerber    52    

СКД: красивые надписи в заголовках колонок

Практика программирования Работа с интерфейсом v8 v8::СКД УПП1 Россия Абонемент ($m)

Необходимо немного исправить вывод надписей в заголовках колонок, сделать более читаемый вариант. Как это сделать?

2 стартмани

27.02.2020    7804    7    wowik    36    

Менеджер открытых форм Промо

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

Обработка получает информацию об открытых формах и позволяет ими манипулировать.

1 стартмани

13.04.2017    19399    35    SeiOkami    19    

Делаем из СКД Excel (ну, почти)

Работа с интерфейсом v8 Абонемент ($m)

Несложный в использовании способ внедрить в обычный отчет СКД возможность редактировать значения ресурсов отчета (а-ля Excel) и получать отредактированные значения для дальнейшей обработки.

1 стартмани

26.01.2020    6112    7    herfis    16    

Индикация прогресса выполнения фонового задания на управляемой форме внешней обработки

БСП (Библиотека стандартных подсистем) Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Внешняя обработка с фоновым выполнением и индикацией процесса для любой конфигурации на основе БСП >= 2.3 без изменения конфигурации и встраивания обработки в "Дополнительные отчеты и обработки".

1 стартмани

27.12.2019    6437    8    1sig    12    

Декомпиляция условного оформления

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

23.12.2019    5431    29    XilDen    3    

Расширенная настройка динамического списка УФ Промо

Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

31.05.2017    29398    146    tormozit    23    

Многоуровневые списки выбора с оформлением элементов

Практика программирования Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Данная статья - попытка решить один маленький кусочек большой проблемы платформы 1С, а именно - бедные и невыразительные пользовательские интерфейсы. Поскольку 1С в режиме управляемого приложения позволяет задействовать веб-клиент, то хочется реализовывать интерфейсы как у взрослых веб-приложений - красивые, дружелюбные для пользователя и, желательно, с положительным UX. Возможно, кто-то со мной не согласится и скажет, что учетные системы должны быть строгие и линейные. Но мы все знаем, что 1С - это уже не только про бухгалтерию. Небольшое отступление для разработчиков, работающих с типовыми конфигурациями. Я не знаю, использует ли фирма 1С что-то похожее в своих разработках. Если да, то данная статья навряд ли будет вам полезна.

1 стартмани

17.12.2019    5967    2    azhilichev    5    

[Взрыв шаблона!] Новый способ программной настройки условного оформления

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

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

1 стартмани

01.12.2019    8769    33    mszsuz    11    

"Живые" картинки со Snap.SVG

Практика программирования WEB Работа с интерфейсом v8 Абонемент ($m)

В статье рассмотрен пример использования http-сервисов для визуализации данных

1 стартмани

24.10.2019    11131    17    blackhole321    7    

Открывашка ячеек таблиц Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Глобальное сочетание клавиш для открытия объекта по ссылке из текущей ячейки любой таблицы в большинстве управляемых форм

1 стартмани

27.10.2018    14524    12    tormozit    31    

Удобный выбор из таблицы/дерева в УФ

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ 1cv8.cf Абонемент ($m)

Выбор из таблицы значений или дерева значений в выпадающем списке рядом с полем ввода - УФ, быстро и просто!

1 стартмани

12.08.2019    10039    6    Yashazz    18    

[Механизм интерфейса] Свой флажок (чекбокс)

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

09.08.2019    12577    15    rpgshnik    42    

Отбор на управляемой форме из списка значений

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ 1cv8.cf Абонемент ($m)

Пример простого удобного отбора любых данных ссылочного типа на управляемой форме. Работа обработки проверена на релизе: 1С:Предприятие 8.3.13.1513.

1 стартмани

09.08.2019    12868    16    nagaitseff    6    

Расширение: Темы для 1С: Предприятия Промо

Работа с интерфейсом v8::УФ 1cv8.cf Абонемент ($m)

Расширение позволяет сменить цвет оформления для интерфейса Такси.

1 стартмани

10.02.2019    11747    52    spec8s    10    

Изменяющееся контекстное меню в 1С 8.3

Практика программирования Работа с интерфейсом Разработка v8 v8::УФ Абонемент ($m)

В одной практической задаче мне пришлось разрабатывать контекстное меню таблицы управляемой формы, которое должно было меняться в зависимости от данных, находящихся в этой таблице. Ниже приведен мой способ решения этой задачи.

1 стартмани

06.08.2019    12557    2    signum2009    15    

Программное добавление элементов на управляемую форму

Работа с интерфейсом v8::УФ 1cv8.cf Россия Абонемент ($m)

Пример добавления Команд, Полей ввода, Групп, Страниц, Реквизитов, Обработчиков событий.

1 стартмани

13.02.2019    23765    19    spec8s    18    

Рисуем и распознаем нарисованное при помощи нейросети

Практика программирования Работа с интерфейсом v8 v8::УФ 1cv8.cf Абонемент ($m)

Используем нейронную сеть для распознавания нарисованных объектов.

1 стартмани

03.10.2018    12486    43    DO_WHILE_LOOP    28    

Лучший подарок для бухгалтера - счёты 8.2 (со звуком) Промо

Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

(Толстый клиент) Подарите бухгалтеру счеты, и он(а) Вас никогда не забудет.

1 стартмани

13.05.2011    37858    24    Tatitutu    45    

Рисуем диаграммы в metadata.js

Инструментарий разработчика Работа с интерфейсом v8 v8::СКД 1cv8.cf Абонемент ($m)

Не одной же литературой заниматься?

1 стартмани

20.09.2018    14387    3    1c-intelligence    77    

Продвинутое рисование в табличном документе (стрелок и не только)

Практика программирования Работа с интерфейсом v8 Абонемент ($m)

Вспоминаем геометрию и основы компьютерной графики. Матрицы и аффинные преобразования на плоскости.

1 стартмани

24.07.2018    13064    18    WalterMort    27    

Управление состоянием формы через конечный автомат

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

Взаимодействие пользователя с интерфейсом приводит к изменению состояния формы и её элементов. Элементы отражают текущее состояние формы через свойства: видимости, доступности, оформления, текста заголовка и т.д. Даже при небольшом количестве элементов количество возможных состояний формы может быть достаточно большим. Необходимость учета всех состояний формы порождает сложные алгоритмы настройки элементов. В статье рассматривается алгоритмическое решение перехода к состоянию формы с использованием функционального подхода на основе декларативного описания

1 стартмани

19.06.2018    14334    12    kalyaka    37    

Иерархическая диаграмма

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Концепция диаграммы по иерархической структуре данных, например по номенклатуре (продажи или остатки на складах).

2 стартмани

17.06.2018    11558    16    DrAku1a    6    

Рисуем стрелки в табличном документе

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Рисуем стрелки средствами 1С .

1 стартмани

01.06.2018    13380    8    pm74    9    

Шаблон MVC для управляемого интерфейса

Работа с интерфейсом v8::УФ 1cv8.cf Россия Абонемент ($m)

Мы воспринимаем как что-то само собой разумеющееся интуитивно понятный интерфейс, мгновенно реагирующий на наши клики, подстраивающийся под уже сделанный нами выбор. А между тем за этой возможностью - решение серьезных алгоритмических задач. В общем случае решения этих задач уже найдены, но проблема их конкретного применения остается как для выбранного окружения (веб-браузер, экран мобильного телефона, компьютер), так и возможностей языка программирования. В следующей статье представлено одно из таких применений общего решения на основе шаблона MVC для 1С в сочетании с возможностями управляемых форм и декларативного описания интерфейса.

1 стартмани

14.03.2018    18327    10    kalyaka    37    

Шпаргалка разработчика для работы с формами Промо

Работа с интерфейсом v8 Россия Абонемент ($m)

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

3 стартмани

31.10.2018    13843    77    ELAM    3    

Тестирование интерфейса в обычном приложении 8.2 при помощи SikuliX

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Как же не хватает клиента тестирования на платформе 8.2. Не кликнешь на кнопку, не выберешь из списка, не проверишь видит ли надпись пользователь. Воспользуемся внешним инструментом SikuliX, который позволит нам протестировать функционал форм. Данный инструмент легко встраивается в линию сборки и может "дружить" с уже известным многим Open-source продуктами.

1 стартмани

03.01.2018    26245    3    kraynev-navi    40    

Размеры управляемой формы

Практика программирования Работа с интерфейсом Универсальные функции v8 1cv8.cf Абонемент ($m)

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

1 стартмани

08.10.2017    24693    69    json    9    

Программное создание элементов графической схемы (через XSLT)

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

20.07.2017    18395    58    lazarenko    16    

Визуализация событий на временной шкале средствами "Поле HTML документа" Промо

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Интересный способ наглядно отобразить события на временной шкале. Например, может быть применен для красивого вывода документов по клиенту. Тестировалось на платформе 8.3.12.1469

1 стартмани

31.07.2018    20917    135    Plotks2017    27    

Простой редактор плана помещения JavaScript

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

На ресурсе сейчас очень много решений, которые позволяют редактировать карты, используя географические схемы. Так же много решений, которые позволяют редактировать объекты онлайн веб-карт. Мне же нужно было простое решение, для того чтобы расставить квадратные объекты на плане, показать их пользователю. Ну и распечатать, опять же. Я решил написать простенький редактор на JavaScript с использованием библиотеки Raphael.

1 стартмани

23.11.2016    18613    90    igel9780    21    

[Расширение] Стартовые страницы. Автозапуск форм при старте 1С. (8.3.9+, без доработки конфигурации)

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Уверен, что в большинстве случаев список справочников, отчетов, обработок (объектов 1С в целом), к которому обращаются пользователи после запуска конфигурации 1С, раз от раза меняется не сильно. Так почему бы немного не упростить процесс открытия часто используемых форм? Данное расширение позволяет настроить автоматическое открытие различных форм объектов сразу после запуска 1С. Список форм настраивается индивидуально для каждого пользователя. Работает на платформе 8.3.9, без доработки конфигурации.

1 стартмани

03.10.2016    19554    81    Artem-B    20    

Конструктор условного оформления

Инструментарий разработчика Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

27.09.2016    15595    16    Fragster    7    

Работа с данными выбора Промо

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    37062    17    kalyaka    16    

HTTP-сервис: отчеты [Расширение]

Практика программирования Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Это HTTP-сервис, который возвращает почти любой отчет в HTML, XLSX или в JSON. Сохраните вариант отчета, получите на него ссылку и можно получить данные без захода в 1С. Работает в конфигурациях на основе БСП 2.3.3+, для отчетов на СКД и в 1С 8.3.8+

2 стартмани

30.08.2016    23616    129    Stepa86    15    

Блокировка баннеров при помощи расширения

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Примеры использования расширений

1 стартмани

09.06.2016    12414    12    oslokot    16    

Простые радости жизни программиста 1С: выбор типа значения

Работа с интерфейсом Практика программирования v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.02.2016    45101    47    yuraos    17    

Интерактивный интерфейс Промо

Рабочее место Работа с интерфейсом v8 1cv8.cf Россия Абонемент ($m)

Обработка (отдельная панель меню), позволяющая настраивать интерфейс пользователя интерактивно (права не настраивает). Мне очень пригодилось, так как приходится прописывать индивидуальный интерфейс, каждому пользователю (а их уже сотни). Выложил 2 версии одна в виде таблицы, вторая в виде выпадающего меню

1 стартмани

29.10.2011    16099    2    Vin_Tik    9    

Визуальный редактор цветовых схем подсветки синтаксиса 1С + импорт схем Visual Studio

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Данная обработка призвана облегчить настройку рабочего места программиста 1С, а именно улучшить визуальное восприятие кода, уменьшить утомляемость, и, как следствие, увеличить общую производительность труда!

1 стартмани

29.01.2016    13752    75    ram3    27    

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

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Наверное, многие сталкивались с ситуацией, когда у некоего редактируемого объекта (справочник, документ, внешняя обработка) кроме основной формы нужно сделать парочку дополнительных, чтобы часть реквизитов заполнять в них, а потом возвращать заполненные значения в основную форму и в сам объект. И если бы речь шла об обычных формах, то проблемы бы и не было. Но в управляемых формах с этим возникает проблема, а в случае отказа от модальности она становится немного больше.

1 стартмани

02.11.2015    28613    9    Wolex    29    

Инструмент для создания веб приложений на основе 1С REST сервиса

Инструментарий разработчика WEB Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Обзор платформы-конструктора для создания веб-приложений, использующих в качестве источника базы данных 1С

1 стартмани

13.10.2015    24679    77    dmzubr    23    

NativeDraw: Компонента рисования для 1С [V2.6.2]

Разработка внешних компонент Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

Рисуйте в формах 1С, также предлагается небольшое количество нерисовальных функций

1 стартмани

13.07.2015    43622    417    ПерваяСистема    147    

Кнопки управления группировками табличного документа для управляемых форм

Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

02.06.2015    24842    23    unichkin    9    

Программное формирование форматированной строки в стиле html+inline CSS Промо

Работа с интерфейсом Инструментарий разработчика v8 1cv8.cf Абонемент ($m)

Если вам приходилось работать с форматированными строками программно, то вы знаете, какая это боль. Данное решение облегчает программное формирование таких строк.

1 стартмани

18.11.2017    27402    30    bonv    9