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

30.05.2022      24025

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

вчера в 09:56    164    ЕленаЧерепнева    0       

2

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

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

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

1

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

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

06.11.2024    809    ЕленаЧерепнева    0       

2

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

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

29.10.2024    961    ЕленаЧерепнева    1       

2

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

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

25.10.2024    751    ЕленаЧерепнева    0       

2

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

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

21.10.2024    949    ЕленаЧерепнева    0       

1

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

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

15.10.2024    1887    ЕленаЧерепнева    1       

1

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

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

14.10.2024    859    ЕленаЧерепнева    0       

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. apic 13 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 3800 31.05.22 06:22 Сейчас в теме
(1) ну приведите их здесь - в комментариях
7. apic 13 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 805 31.05.22 07:06 Сейчас в теме
(7) Ничего идеальнее не видел! Как по мне - функции покрывают все что требуется при работе с JSON, спасибо, буду юзать.
john916; Поручик; apic; +3 Ответить
9. apic 13 31.05.22 08:49 Сейчас в теме
(8) Спасибо, пользуйтесь на здоровье.
14. starik-2005 3087 01.06.22 20:31 Сейчас в теме
(9) Напиши статью - стартманей хоть заработаешь. Типа как жить до 8.3.23 с JSON. Дел на полчаса.
rpgshnik; +1 Ответить
18. rpgshnik 3795 06.06.22 04:46 Сейчас в теме
(14) хороший совет и народу больше увидит полезных функций
20. unknown181538 158 09.06.22 02:03 Сейчас в теме
(14) Учитывая, что конфигурации еще пару лет будут режим совместимости догонять, то еще года 3 без этого жить.
21. apic 13 09.06.22 07:49 Сейчас в теме
(14) Спасибо за совет, думаю воспользуюсь им, раз у людей есть потребность...
3. quazare 3800 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 805 31.05.22 06:46 Сейчас в теме
(4) Да, работа на клиенте - это благо в чистом виде, даже удивительно, что фирма 1С пошла на такую до селе не виданную уступку - разрешило делать что то кроме сложения и вычитания чисел на клиенте. Понятно, что всё на клиент не переносят только лишь, потому что тонкий клиент будет много весить, но еще очень много чего не хватает на клиенте.
6. PerlAmutor 155 31.05.22 06:51 Сейчас в теме
(5) Я не думаю, что тут речь про повседневную работу. Скорее для покрытия случаев интеграции в особых средах. Формат JSON довольно универсальный и может хранить в себе например список объектов для загрузки на сервер, пользователь может выбрать не все объекты из JSON, а лишь те которые ему необходимы, а затем уже передать на сервер отбор и файл целиком.
15. starik-2005 3087 01.06.22 20:32 Сейчас в теме
(5)
но еще очень много чего не хватает на клиенте
Например?
22. frkbvfnjh 805 14.06.22 14:19 Сейчас в теме
(15) Ну например ХешированиеДанных, на тонком клиенте не доступен, и если хочешь рассчитать хеш-сумму файла в несколько сотен мегабайт, то приходится на сервер его передавать. Про таблицу значений уже писал здесь - жалка что ли тип реализовать на стороне клиента, хоть какой то урезанный вариант?
10. maksa2005 550 31.05.22 08:55 Сейчас в теме
Прорыв года!
sikuda; TimofeySin; +2 Ответить
11. sikuda 677 31.05.22 10:25 Сейчас в теме
(10) Кладем рядом оригинал JSON, развитие продолжается
fvr2000; unknown181538; rpgshnik; al.gerasimov; +4 Ответить
12. maksa2005 550 31.05.22 10:26 Сейчас в теме
(11)Шутите? Это говорит о том что им заняться нечем. У 1С разве помимо этого нет проблем?
13. sikuda 677 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 3087 01.06.22 20:34 Сейчас в теме
(11) Ага, давно уже назрело автосоздание массива, соответствия, структуры из конструкций языка без конструкторов. Хочется
  А = [1, 2, 3, "4"];
а в итоге приходится изобретать всякие там "ЗначенияВМассив". Это есть вообще везде, даже в долбанном С++, а в 1С - нифига!

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