Фирма «1С» добавит новые возможности для работы с JSON в 1С:Предприятие 8.3.23

30.05.2022      24183

Официальный технологический блог «Заметки из Зазеркалья» разместил анонс новых возможностей, которые будут реализованы в технологической платформе 8.3.23.

Разработчики запланировали добавить новые методы для улучшения работы с JSON.


Что нового ожидается в 1С 8.3.23

Фирма «1С» рассказала о запланированных нововведениях в платформе версии 1С:Предприятие 8.3.23, которые сделают написание кода по обмену сообщениями через JSON максимально простым и удобным.

В глобальном контексте технологической платформы 1С:Предприятие 8.3.23 появятся два новых метода:

  • ЗаписатьЗначениеJSON (WriteJSONValue)
  • ПрочитатьЗначениеJSON (ReadJSONValue).

По сравнению со старыми методами ПрочитатьJSON и ЗаписатьJSON, работающими через объекты ЧтениеJSON и ЗаписьJSON, синтаксис новых методов будет гораздо проще:

  • ЗаписатьЗначениеJSON(<Значение>) возвращает строку JSON;
  • ПрочитатьЗначениеJSON(<Строка>) возвращает структуру, массив, число, строку, Булево, Неопределено.

 

Источник: wonderland.v8.1c.ru

 

Универсальные методы чтения и записи JSON для всех компонентов системы

Новые методы чтения и записи JSON будут доступны везде: в тонком клиенте, веб-клиенте, мобильном клиенте, на сервере, в толстом клиенте, внешнем соединении, мобильном приложении (клиент и сервер), а также в мобильном автономном сервере.

В то время как четыре существующих метода работы с JSON (ЗаписатьJSON, ЗаписатьДатуJSON, ПрочитатьJSON, ПрочитатьДатуJSON) недоступны в веб-клиенте – из-за этого разработчикам, желающим добиться универсальной работы обмена сообщениями в формате JSON, приходилось выносить код интеграции на сторону сервера.

Предполагается, что новых методов должно хватить для большинства интеграционных задач:

«Мы не объявляем предыдущие 4 метода устаревшими, но рекомендуем использовать новые методы везде, где это возможно; это, в частности, позволит писать универсальный код, исполняемый на всех компонентах системы», – говорится в заметке официального технологического блога.
 

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

Полный текст заметки о новых методах JSON для платформы «1С:Предприятие 8.3.23».


Автор:
Обозреватель


См. также

Новость EDT ИТ и 1С

Фирма «1С» выпустила релиз-кандидат 1C:Enterprise Development Tools 2024.2.0, в состав которого вошли новые возможности 1С:EDT CLI, улучшения для мобильной разработки, поддержка новых версий платформы и другие улучшения для разработчиков.

16.01.2025    412    ЕленаЧерепнева    0       

4

Новость Платформа 1С v8.3 Зазеркалье ИТ и 1С

Фирма «1С» опубликовала сообщение о выпуске бета-версии технологической платформы 1С:Предприятие 8.5. Скачать дистрибутив 8.5 можно уже сейчас. Главное нововведение, о котором говорят сами разработчики – это обновленный интерфейс.

26.12.2024    20868    ЕленаЧерепнева    65       

22

Новость Зазеркалье Мобильные приложения

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

24.12.2024    4616    ЕленаЧерепнева    1       

6

Новость Платформа 1С v8.3 Зазеркалье

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

23.12.2024    2443    ЕленаЧерепнева    1       

5

Новость Зазеркалье

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

20.12.2024    4445    ЕленаЧерепнева    6       

1

Новость Зазеркалье

Несколько дней назад фирма «1С» сообщила о планах по переводу платформы и мобильных приложений 1С на новый, более современный интерфейс на базе «Элемента». Теперь появились подробности о механизме конвертации для перехода на новый интерфейс.

19.12.2024    7901    ЕленаЧерепнева    11       

1

Новость Платформа 1С v8.3 Зазеркалье

Фирма «1С» поделилась планами по развитию возможностей для распознавания речи в 1С:Предприятие 8.3.28. В новой версии платформы планируется реализовать активационные фазы для запуска распознавания и поддержку знаков препинания.

17.12.2024    1143    ЕленаЧерепнева    0       

0

Новость Платформа 1С v8.3 Зазеркалье

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

13.12.2024    6252    ЕленаЧерепнева    4       

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. apic 15 31.05.22 06:15 Сейчас в теме
Первое что я сделал когда появилась работа с JSON в 1с - это написал аналоги ЗаписатьЗначениеJSON и ПрочитатьЗначениеJSON. У меня они называются ДанныеВJSON и ДанныеИзJSON. Это настолько само собой разумеющееся, что компании 1С потребовалось много лет что бы до этого дойти, и то я уверен, что это была многотысячная просьба разработчиков прикладных решений, а не инициатива разработчиков платформы. Вообще разработчикам платформы надо бы самим писать прикладные решения, что бы понять, что на самом деле нужно разработчикам прикладных решений. И, о чудо, оно еще и на клиенте работает! Они бы еще таблицы значений добавили на клиент, что бы не плясать с бубном перегоняя туда сюда таблицы значений и массивы структур.
user1232315; Юлия:); denis83; Evg-Lylyk; rusmil; unknown181538; Рамзес; Fator26; rpgshnik; embarcadero; ivanov660; awk; spawn_a; reset2; E_Zaytsev; Jeka44; Поручик; mrChOP93; frkbvfnjh; +19 Ответить
2. quazare 3866 31.05.22 06:22 Сейчас в теме
(1) ну приведите их здесь - в комментариях
7. apic 15 31.05.22 06:55 Сейчас в теме
(2) Да практически тоже самое, что они написали в примере, но только лучше:

Функция ДанныеВJSON(Значение, Знач ПараметрыЗаписиJSON = Неопределено, НастройкиСериализации = Неопределено) Экспорт
	Если ПараметрыЗаписиJSON = Неопределено Тогда
		ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(, Символы.Таб);
	КонецЕсли;
	
	ЗаписьJSON = Новый ЗаписьJSON();
	ЗаписьJSON.УстановитьСтроку(ПараметрыЗаписиJSON);
	ЗаписатьJSON(ЗаписьJSON, Значение, НастройкиСериализации);
	Результат = ЗаписьJSON.Закрыть();	
	
	Возврат Результат;
КонецФункции

Функция ДанныеИзJSON(ДанныеJSON, ИзФайла = Ложь, ПрочитатьВСоответствие = Ложь, ЗначениеПоУмолчанию = Неопределено, ОписаниеОшибки = "") Экспорт
	ЧтениеJSON = Новый ЧтениеJSON();
	
	Если ИзФайла = Истина Тогда
		ЧтениеJSON.ОткрытьФайл(ДанныеJSON);
	Иначе
		ЧтениеJSON.УстановитьСтроку(ДанныеJSON);
	КонецЕсли;
	
	Попытка
		Результат = ПрочитатьJSON(ЧтениеJSON, ПрочитатьВСоответствие);
	Исключение
		ОписаниеОшибки = КраткоеПредставлениеОшибки(ИнформацияОбОшибке());
		Результат = ЗначениеПоУмолчанию;
	КонецПопытки;
	
	Возврат Результат;
КонецФункции
Показать


Надеюсь у них там будет возможность указать параметры записи и настройки сериализации при записи и флаг чтения в соответствие как у меня, иначе опять досада...
user1232315; KirillZ44; 2PRV; unknown181538; Рамзес; Fator26; rpgshnik; KEV8383; jig; Lion heart; Поручик; frkbvfnjh; +12 Ответить
8. frkbvfnjh 808 31.05.22 07:06 Сейчас в теме
(7) Ничего идеальнее не видел! Как по мне - функции покрывают все что требуется при работе с JSON, спасибо, буду юзать.
john916; Поручик; apic; +3 Ответить
9. apic 15 31.05.22 08:49 Сейчас в теме
(8) Спасибо, пользуйтесь на здоровье.
14. starik-2005 3097 01.06.22 20:31 Сейчас в теме
(9) Напиши статью - стартманей хоть заработаешь. Типа как жить до 8.3.23 с JSON. Дел на полчаса.
rpgshnik; +1 Ответить
18. rpgshnik 3815 06.06.22 04:46 Сейчас в теме
(14) хороший совет и народу больше увидит полезных функций
20. unknown181538 159 09.06.22 02:03 Сейчас в теме
(14) Учитывая, что конфигурации еще пару лет будут режим совместимости догонять, то еще года 3 без этого жить.
21. apic 15 09.06.22 07:49 Сейчас в теме
(14) Спасибо за совет, думаю воспользуюсь им, раз у людей есть потребность...
3. quazare 3866 31.05.22 06:23 Сейчас в теме
как все поменялось - сейчас незначительные изменения в языке - выдаются как какая-то глобальная новость.
anuar_medeup; VitaliyCeban; Olenevod; 2PRV; Рамзес; mysm; maksa2005; E_Zaytsev; twiny; NeLenin; Поручик; frkbvfnjh; Aphanas; +13 Ответить
4. PerlAmutor 155 31.05.22 06:33 Сейчас в теме
Я использую JSON для передачи информации на клиент от фонового задания через перехват сообщений пользователю, в котором содержится техническая информация о прогрессе выполнения. Поэтому для меня избавление от лишнего серверного вызова это благо.
Помимо этого JSON файлы можно использовать для обработок в качестве хранилища настроек. Можно загружать различные шаблоны, правила обработки, пути к каталогам и т.п. Кроме того интеграция с внешними источниками, которые могут быть только на стороне клиента, такими как получение курсов валют или классификаторов из интернета, которого может не быть на стороне сервера по правилам безопасности. Плюс к этому различные поднятые локальные серверы или сервисы использующие JSON формат для обмена данными. Пример - Language Server Protocol (LSP), который можно использовать в своем редакторе кода (Monaco?) работающий по протоколу JSON-RPC.
5. frkbvfnjh 808 31.05.22 06:46 Сейчас в теме
(4) Да, работа на клиенте - это благо в чистом виде, даже удивительно, что фирма 1С пошла на такую до селе не виданную уступку - разрешило делать что то кроме сложения и вычитания чисел на клиенте. Понятно, что всё на клиент не переносят только лишь, потому что тонкий клиент будет много весить, но еще очень много чего не хватает на клиенте.
6. PerlAmutor 155 31.05.22 06:51 Сейчас в теме
(5) Я не думаю, что тут речь про повседневную работу. Скорее для покрытия случаев интеграции в особых средах. Формат JSON довольно универсальный и может хранить в себе например список объектов для загрузки на сервер, пользователь может выбрать не все объекты из JSON, а лишь те которые ему необходимы, а затем уже передать на сервер отбор и файл целиком.
15. starik-2005 3097 01.06.22 20:32 Сейчас в теме
(5)
но еще очень много чего не хватает на клиенте
Например?
22. frkbvfnjh 808 14.06.22 14:19 Сейчас в теме
(15) Ну например ХешированиеДанных, на тонком клиенте не доступен, и если хочешь рассчитать хеш-сумму файла в несколько сотен мегабайт, то приходится на сервер его передавать. Про таблицу значений уже писал здесь - жалка что ли тип реализовать на стороне клиента, хоть какой то урезанный вариант?
10. maksa2005 553 31.05.22 08:55 Сейчас в теме
Прорыв года!
sikuda; TimofeySin; +2 Ответить
11. sikuda 678 31.05.22 10:25 Сейчас в теме
(10) Кладем рядом оригинал JSON, развитие продолжается
fvr2000; unknown181538; rpgshnik; al.gerasimov; +4 Ответить
12. maksa2005 553 31.05.22 10:26 Сейчас в теме
(11)Шутите? Это говорит о том что им заняться нечем. У 1С разве помимо этого нет проблем?
13. sikuda 678 31.05.22 11:25 Сейчас в теме
(12)У 1С очень много проблем, но в рамках данного фреймворка они не решаются приемлемо.
Задача же стоит в быстром чтении и записи строк JSON из/в объекты 1С.
Хотелось бы функции у объектов 1С toJson() и fromJSon(), но это бы работало только если внутри этих объектов нет сложных объектов 1С. Потому что JSON это только простые данные и во всех других языках это так.
Но в 1С обязательно проникнет туда ссылка или даже перечисление, а это говорит что это не данные это ссылка на объект, а это уже не JSON это технология схем данных (xsd, XTDO) и это глобальная неразрешимая ошибка!

В качестве рабочего костыльного оксюморона делаем через СериализаторXDTO, все работает быстро, но если у Вас несоответствие конфигураций вылет платформы...
https://blog.sikuda.ru/?p=3169
16. starik-2005 3097 01.06.22 20:34 Сейчас в теме
(11) Ага, давно уже назрело автосоздание массива, соответствия, структуры из конструкций языка без конструкторов. Хочется
  А = [1, 2, 3, "4"];
а в итоге приходится изобретать всякие там "ЗначенияВМассив". Это есть вообще везде, даже в долбанном С++, а в 1С - нифига!

Дикари...
denis83; unknown181538; 2PRV; rpgshnik; JetBrain; +5 Ответить
19. rpgshnik 3815 06.06.22 04:47 Сейчас в теме
(16) было бы чудесно))
17. JetBrain 77 01.06.22 21:41 Сейчас в теме
все это "пфук" , так как требует обхода циклов, когда из запроса можно будет сделать сериализацию, тогда новости и сообщать :)
, как это в SQL реализовано еще в 2014 году.
it_depDi; +1 Ответить
Оставьте свое сообщение