Тёмный

Работа с JSON в 1С 8 3 

alexcode_1c
Подписаться 2,6 тыс.
Просмотров 8 тыс.
50% 1

Как можно меня отблагодарить: pay.cloudtips.ru/p/0c670bd3
В видео рассмотрены основы работы с JSON средствами языка 1С. Приводятся три основных подхода к формированию и чтению JSON - объектный подход, построчная запись, и сериализация прикладных объектов.
Также приводится пример использования функции восстановления при чтении JSON.
Формат JSON находит широкое применение в платформе 1С 8, и используется в http-сервисах, web-сервисах, обмене с другими базами данных 1С, формировании различных файлов настроек и конфигурационных файлов.
Для удобства пользуйтесь таймкодами:
00:31 - немного о формате JSON
02:02 - запись и чтение объектов языка - массивов, структур, соответствий.
04:30 - объектное чтение JSON
06:32 - чтение JSON с повторяющимися ключами
07:33 - функции восстановления и работа с датами в JSON
11:30 - потоковый подход к работе с JSON в языке 1С.
12:10 - потоковая (построчная) запись JSON средствами языка 1С
14:43 - потоковое чтение из JSON
19:20 - сериализация прикладных объектов 1С в JSON
Добавляйте в закладки мой сайт 1c.alexcode.ru/first-steps/ с полезными материалами по настройке и программированию 1С
Курс «Разработчик 1С с нуля»
1c.alexcode.ru/
Индивидуальное обучение 1С
1c.alexcode.ru/online-consult...
Видео также размещено на моем Дзен-канале «1С с Леоновым»: dzen.ru/video/watch/63772387b...

Опубликовано:

 

5 мар 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 23   
@8tshk8
@8tshk8 Год назад
Спасибо за видео. Приятно слушать и смотреть. А главное полезно.
@alexcode_1c
@alexcode_1c Год назад
Благодарю за обратную связь и высокую оценку! Да уж, до 30% "неприятного и бесполезного" безжалостно вырезаю на этапе монтажа😄😉
@avagafonov
@avagafonov Год назад
Спасибо! Полезный материал для понимания JSON! Надеюсь, Вы находите время в том числе и на преподавание в учебных заведениях!
@alexcode_1c
@alexcode_1c Год назад
Спасибо за душевный отзыв! Да, преподаю в одной из известных онлайн-школ, а также провожу индивидуальные занятия в онлайне.😇
@alexaks7293
@alexaks7293 Год назад
Отличный уроки, и на сайте полезная информация. Спасибо!
@alexcode_1c
@alexcode_1c Год назад
Очень приятный и позитивный отзыв! Вдохновляет.👍🏻 Идей для видео ещё очень много, главное найти на всё это время 🤭
@andreyagapov9177
@andreyagapov9177 Год назад
Очень круто. Спасибо огромное!
@alexcode_1c
@alexcode_1c Год назад
Стараемся:) Рад, если видео оказалось полезным.
@Paskyduch
@Paskyduch Год назад
Спасибо тебе большое!
@alexcode_1c
@alexcode_1c Год назад
Спасибо за подписку! ;)
@user-jn9ue2fw4b
@user-jn9ue2fw4b Год назад
Огромное спасибо! А можно подобное видео про работу с XDTO? Был бы Очень признателен.
@alexcode_1c
@alexcode_1c Год назад
Благодарю за идею! Как раз думал, будет ли интересно, если записать про SOAP сервисы и XDTO. Раз интерес есть, конечно запишу!
@user-fp7jn9ev4v
@user-fp7jn9ev4v Год назад
Да, было бы неплохо
@linkagemaster
@linkagemaster Год назад
Отличный курс, все предельно понятно и хорошо объяснено) Подскажите, что за настройка подсветки повторяющихся слов в коде (Вы два раза щелкаете по словосочетанию и подсвечиваются голубым цветом все места, где это словосочетание встречается)
@alexcode_1c
@alexcode_1c Год назад
Благодарю! Приятно знать, что мои старания кому-то пригодились :) По поводу подсветки - это можно сделать в меню Сервис / Параметры, вкладка Модули, там вкладка Редактирование. Нужно найти пункт Выбранный идентификатор, и выбрать цвет какой захотите. Также можно указать цвет для пункта Текущий идентификатор.
@user-wu1iq8oi7o
@user-wu1iq8oi7o 6 месяцев назад
Спасибо.Можно вопрос:Если не управляемые формы на экран показать СтрокаJson.Да и управляемые формы, ни видно ,как ставили в форму реквизит СтрокаJson
@alexcode_1c
@alexcode_1c 6 месяцев назад
Не совсем понял в чем вопрос :) Элементы на форму мы добавляем как обычно, хоть в управляемых формах, хоть в обычных.
@user-sl1tw9vg8x
@user-sl1tw9vg8x Год назад
Ваш вариант потокового чтения не правильно читает JSON с валютой.: { "base": "USD", "date": "2022-02-27T00:00:00", "rate": 100 } Поле "rate" не попадает в ПрочитанноеСоответствие
@alexcode_1c
@alexcode_1c Год назад
Код для разбора конкретного формата JSON в потоковом чтении и не должен читать любой произвольный JSON :) Как правило, оно пишется под конкретную заранее известную структуру, в видео я делаю на этом акцент (15:15). И пример потокового чтения основан на тексте JSON из примера с потоковой записью В примере с валютой алгоритм не учитывает что есть строка с пустым значением, и неверно определяет соответствие ключей и строк Попробуйте например без переноса строки перед последней скобкой { "base": "USD", "date": "2022-02-27T00:00:00", "rate": 100} Чтобы это учесть, нужно по-другому написать потоковый разбор текста JSON ;) А для универсального подхода есть объектное чтение через ПрочитатьJSON, и в принципе 90% задач применяется именно объектный подход - т.е. сразу JSON читается в объект 1С, без построчного анализа.
@user-hx2un4ub5o
@user-hx2un4ub5o 3 месяца назад
Подскажите, конструкция МассивИменВосстановления = Новый Массив; МассивИменВосстановления.Добавить("name"); МассивФизЛиц = ПрочитатьJSON(ЧтениеJSON,Истина,"birthday",ФорматДатыJSON.ISO,"ФункцияВосстановленияЧтениеФизЛица",ЭтотОбъект,,МассивИменВосстановления); &НаКлиенте Функция ФункцияВосстановленияЧтениеФизЛица(Свойство,Значение,ДополнительныеПараметры) Экспорт Если Свойство = "name" Тогда Возврат ПолучитьФизЛицо(Значение); КонецЕсли; КонецФункции &НаСервере Функция ПолучитьФизЛицо(Значение) ФизЛицо = Справочники.ФизическиеЛица.НайтиПоНаименованию(Значение,Истина); Возврат ?(ЗначениеЗаполнено(ФизЛицо),ФизЛицо,Значение); КонецФункции если читается несколько JSON-объектов не является с точки зрения обращения к СУБД запросом в цикле? Есть информация, как метод ПрочитатьJSON "внутри" работает?
@alexcode_1c
@alexcode_1c 3 месяца назад
Да, тут несомненно будет запрос в цикле. Можно предусмотреть несколько оптимизаций - например, организовать кэш уже найденных физлиц через структуру, и чтение запросом, а не найти по наименованию. Но однозначно, это будет не очень производительно. Вместо функции восстановления можно прочитать JSON как обычный текст в структуру или соответствие, и уже потом собрать запрос с наименованиями физлиц и провести замену. А как работает ПрочитатьJSON внутри, вам могут рассказать только разработчики платформы :)
@user-hx2un4ub5o
@user-hx2un4ub5o 3 месяца назад
@alexcode_1c Я надеялся, что ПрочитатьJSON вначале все прочитает в некую коллекцию , а потом ко ВСЕЙ этой коллекции однократно применит функцию восстановления (версий как именно применит нет))). У меня мысль ПрочитатьJSON (без восстановления) в ТЗ, загрузить ТЗ во временную таблицу запроса и связать по Наименованию (name) c таблицей справочника "Физические лица"
@alexcode_1c
@alexcode_1c 3 месяца назад
@@user-hx2un4ub5o Да, это рабочий подход, сам чаще всего примерно так и делаю
Далее
Как прочитать JSON в 1С
18:46
Просмотров 27 тыс.
1С обмены. XDTO. Теория.
18:18
Просмотров 4,8 тыс.
Программист 1С, не пиши так!
16:51