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

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

Официальный технологический блог «Заметки из Зазеркалья» разместил анонс новых возможностей, которые будут реализованы в технологической платформе 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».

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

См. также

Обновленные сборники задач для подготовки к экзаменам 1С:Специалист и 1С:Специалист-консультант по 1С:УТ 11.5 уже поступили в продажу. Фирма «1С» рекомендует использовать для подготовки к сертификации обновленные методички.

14.02.2025    650    ЕленаЧерепнева    0       

2

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

13.02.2025    715    ЕленаЧерепнева    0       

5

Фирма «1С» сообщила о планах по обновлению BI-системы 1С:Аналитика. В очередной релиз будут добавлены новые цветовые схемы, планируется улучшить внешний вид диаграмм, повысить удобство работы с источниками и выполнить некоторые оптимизации.

11.02.2025    715    ЕленаЧерепнева    1       

2

Федеральная налоговая служба России утвердила новую форму справки о сальдо единого налогового счета, которая вступит в силу 10 февраля 2025 года. В ней появилось 4 новых приложения, в числе которых расчет пеней и детализация отрицательного сальдо.

07.02.2025    536    eeldldl    0       

3

Министерство труда России утвердило новую форму справки о среднем заработке, исчисленном работодателем. Приказ вступил в силу с 1 января 2025 года. Оформлять справки по-новому кадровые специалисты должны начать с 11 февраля 2025 года.

05.02.2025    490    Alisa_Brineva    0       

4

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

05.02.2025    623    ЕленаЧерепнева    0       

3

В 2026 году фирма «1С» снимет с поддержки 1С:УПП. Переход на новую систему – процесс трудозатратный и требует тщательной подготовки. Рассказываем, сколько времени занимает переход с 1С:УПП, какие есть варианты и о плюсах и минусах каждого из них.

31.01.2025    1435    AnastasiaKl    1       

17

Разработчики платформы пообещали реализовать для хранилища двоичных данных автоматическое распределение данных по серверам на основании частоты обращения к ним. Изменения позволят оптимизировать производительность систем на платформе 1С.

29.01.2025    4842    ЕленаЧерепнева    1       

4

Комментарии

Инфостарт бот
1. apic 31.05.22 06:15 Сейчас в теме
Первое что я сделал когда появилась работа с JSON в 1с - это написал аналоги ЗаписатьЗначениеJSON и ПрочитатьЗначениеJSON. У меня они называются ДанныеВJSON и ДанныеИзJSON. Это настолько само собой разумеющееся, что компании 1С потребовалось много лет что бы до этого дойти, и то я уверен, что это была многотысячная просьба разработчиков прикладных решений, а не инициатива разработчиков платформы. Вообще разработчикам платформы надо бы самим писать прикладные решения, что бы понять, что на самом деле нужно разработчикам прикладных решений. И, о чудо, оно еще и на клиенте работает! Они бы еще таблицы значений добавили на клиент, что бы не плясать с бубном перегоняя туда сюда таблицы значений и массивы структур.
smsfor1c; user1232315; Юлия:); denis83; Evg-Lylyk; rusmil; unknown181538; Рамзес; Fator26; rpgshnik; embarcadero; ivanov660; awk; spawn_a; reset2; E_Zaytsev; Jeka44; Поручик; mrChOP93; frkbvfnjh; +20 Ответить
2. quazare 31.05.22 06:22 Сейчас в теме
(1) ну приведите их здесь - в комментариях
7. apic 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 31.05.22 07:06 Сейчас в теме
(7) Ничего идеальнее не видел! Как по мне - функции покрывают все что требуется при работе с JSON, спасибо, буду юзать.
john916; Поручик; apic; +3 Ответить
9. apic 31.05.22 08:49 Сейчас в теме
(8) Спасибо, пользуйтесь на здоровье.
14. starik-2005 01.06.22 20:31 Сейчас в теме
(9) Напиши статью - стартманей хоть заработаешь. Типа как жить до 8.3.23 с JSON. Дел на полчаса.
rpgshnik; +1 Ответить
18. rpgshnik 06.06.22 04:46 Сейчас в теме
(14) хороший совет и народу больше увидит полезных функций
20. unknown181538 09.06.22 02:03 Сейчас в теме
(14) Учитывая, что конфигурации еще пару лет будут режим совместимости догонять, то еще года 3 без этого жить.
21. apic 09.06.22 07:49 Сейчас в теме
(14) Спасибо за совет, думаю воспользуюсь им, раз у людей есть потребность...
3. quazare 31.05.22 06:23 Сейчас в теме
как все поменялось - сейчас незначительные изменения в языке - выдаются как какая-то глобальная новость.
anuar_medeup; VitaliyCeban; Olenevod; 2PRV; Рамзес; mysm; maksa2005; E_Zaytsev; twiny; NeLenin; Поручик; frkbvfnjh; Aphanas; +13 Ответить
4. PerlAmutor 31.05.22 06:33 Сейчас в теме
Я использую JSON для передачи информации на клиент от фонового задания через перехват сообщений пользователю, в котором содержится техническая информация о прогрессе выполнения. Поэтому для меня избавление от лишнего серверного вызова это благо.
Помимо этого JSON файлы можно использовать для обработок в качестве хранилища настроек. Можно загружать различные шаблоны, правила обработки, пути к каталогам и т.п. Кроме того интеграция с внешними источниками, которые могут быть только на стороне клиента, такими как получение курсов валют или классификаторов из интернета, которого может не быть на стороне сервера по правилам безопасности. Плюс к этому различные поднятые локальные серверы или сервисы использующие JSON формат для обмена данными. Пример - Language Server Protocol (LSP), который можно использовать в своем редакторе кода (Monaco?) работающий по протоколу JSON-RPC.
5. frkbvfnjh 31.05.22 06:46 Сейчас в теме
(4) Да, работа на клиенте - это благо в чистом виде, даже удивительно, что фирма 1С пошла на такую до селе не виданную уступку - разрешило делать что то кроме сложения и вычитания чисел на клиенте. Понятно, что всё на клиент не переносят только лишь, потому что тонкий клиент будет много весить, но еще очень много чего не хватает на клиенте.
6. PerlAmutor 31.05.22 06:51 Сейчас в теме
(5) Я не думаю, что тут речь про повседневную работу. Скорее для покрытия случаев интеграции в особых средах. Формат JSON довольно универсальный и может хранить в себе например список объектов для загрузки на сервер, пользователь может выбрать не все объекты из JSON, а лишь те которые ему необходимы, а затем уже передать на сервер отбор и файл целиком.
15. starik-2005 01.06.22 20:32 Сейчас в теме
(5)
но еще очень много чего не хватает на клиенте
Например?
22. frkbvfnjh 14.06.22 14:19 Сейчас в теме
(15) Ну например ХешированиеДанных, на тонком клиенте не доступен, и если хочешь рассчитать хеш-сумму файла в несколько сотен мегабайт, то приходится на сервер его передавать. Про таблицу значений уже писал здесь - жалка что ли тип реализовать на стороне клиента, хоть какой то урезанный вариант?
10. maksa2005 31.05.22 08:55 Сейчас в теме
Прорыв года!
sikuda; TimofeySin; +2 Ответить
11. sikuda 31.05.22 10:25 Сейчас в теме
(10) Кладем рядом оригинал JSON, развитие продолжается
fvr2000; unknown181538; rpgshnik; al.gerasimov; +4 Ответить
12. maksa2005 31.05.22 10:26 Сейчас в теме
(11)Шутите? Это говорит о том что им заняться нечем. У 1С разве помимо этого нет проблем?
13. sikuda 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 01.06.22 20:34 Сейчас в теме
(11) Ага, давно уже назрело автосоздание массива, соответствия, структуры из конструкций языка без конструкторов. Хочется
  А = [1, 2, 3, "4"];
а в итоге приходится изобретать всякие там "ЗначенияВМассив". Это есть вообще везде, даже в долбанном С++, а в 1С - нифига!

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

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