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

30.05.2022      23731

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

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

23.07.2024    5163    ЕленаЧерепнева    1       

0

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

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

17.07.2024    672    ЕленаЧерепнева    0       

1

Новость ИТ-Новость Кадры

Согласно прогнозу Министерства труда, к 2029 году потребность бизнеса в руководителях значительно снизится, а в высококвалифицированных специалистах возрастет. Также ведомство отметило, в каких сферах труда в целом уменьшится и повысится спрос на кадры.

15.07.2024    604    AnastasiaKl    0       

2

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

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

10.07.2024    1239    ЕленаЧерепнева    0       

4

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

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

03.07.2024    4441    ЕленаЧерепнева    0       

4

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

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

25.06.2024    3272    ЕленаЧерепнева    3       

6

Новость ИТ-Новость Отчетность

С 15 июля 2024 года отчет о движении финансов по зарубежным счетам ИП-резидентов и ЮЛ-резидентов нужно будет сдавать в новом формате. Предыдущие форматы из писем ФНС утратят актуальность.

21.06.2024    795    user1915669    0       

2

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

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

18.06.2024    3121    ЕленаЧерепнева    2       

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

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