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

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

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

сегодня в 14:21    106    ЕленаЧерепнева    2       

3

1С:Предприятие.Элемент 8 содержит новую прикладную функциональность и развитие средств разработки. Рассказываем о наиболее важных нововведениях.

04.08.2025    873    ЕленаЧерепнева    0       

3

Фирма «1С» сообщила о выпуске тестовой версии 1С:EDT 2025.1. В состав релиза включили автоматическую проверку Java, обновленный редактор форм, улучшения для конструктора запросов и другие возможности для удобства разработчиков.

04.08.2025    590    ЕленаЧерепнева    0       

3

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

31.07.2025    776    ЕленаЧерепнева    0       

3

Решение уже доступно зарегистрированным пользователям Документооборот ПРОФ и партнерам в сервисе 1С:Обновление программ. Рассказываем о главных возможностях облегченной версии Документооборота 3.0 и условиях сопровождения тестового релиза.

31.07.2025    624    ЕленаЧерепнева    0       

3

В состав релиза включили новые возможности для работы с документом «Счет», поддержку изменений от ФНС, а также несколько новых возможностей для маркетплейсов и учета малоценки.

29.07.2025    824    ЕленаЧерепнева    0       

2

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

28.07.2025    933    ЕленаЧерепнева    1       

11

Готовый продукт для автоматической интеграции внешних компонент для Firefox, Chrome, MSIE, Chromium-based уже доступен зарегистрированным пользователям 1С с активным ИТС. Рассказываем о возможностях инструмента и условиях использования.

23.07.2025    944    ЕленаЧерепнева    0       

3

Комментарии

Инфостарт бот
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 Ответить

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