API: считать данные в ТЧ документа

1. Arkadag 20.05.22 10:51 Сейчас в теме
Приветствую, Форумчане!
1с 8.3, УФ, отраслевое решение

Имеется документ "ДанныеАПИ". табличная часть "СписокЗначений" с точным соответствии с реквизитами, получаемыми с сайта через API

В результате махинаций получаю ответ с сайта в структуре, где в структуре есть свойство "ТелоОтвета" со значением типа

[{"rek1": "ghfh", "rek2": "ghfh","rek3": "ghfh"}, {"rek1": "ghfh", "rek2": "ghfh","rek3": "ghfh"},....... {"rek1": "ghfh", "rek2": "ghfh","rek3": "ghfh"}]

Можно ли и как на этом этапе считать эти данные и разместить в ТЧ документа?

"rek1", "rek2", "rek3" такие же реквизиты по наименованию в ТЧ и в ответе от АПИ
По теме из базы знаний
Найденные решения
6. MikhailDr 20.05.22 11:15 Сейчас в теме
(2)

ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
ОтветAPI = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();

СтрокаJSON это переменная в которую передано тело ответа. В ОтветAPI получите массив структур.
8. Westonline82 20.05.22 13:42 Сейчас в теме
(7)


Для Каждого Соответ Из ОтветАПИ Цикл

Сообщить(Соответ.rek1);
Сообщить(Соответ.rek2);
Сообщить(Соответ.rek3);

КонецЦикла;

И это должно работать
Для Каждого Соответ Из ОтветАПИ Цикл

    НоваяСтрока = Объект.Список.Добавить();
   ЗаполнитьЗначенияСвойств(НоваяСтрока, Соответ);

КонецЦикла;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. lmnlmn 69 20.05.22 11:05 Сейчас в теме
(1) Можно, никто ж не запрещает. ТелоОтвета у вас в формате JSON. Платформа умеет с ним работать. Преобразуйте во что-то удобное для вас и разместите в ТЧ документа.
4. Arkadag 20.05.22 11:08 Сейчас в теме
5. Arkadag 20.05.22 11:14 Сейчас в теме
(3) Как это сделать.
Вот код с результатом:

Результат = ОписаниеОтвета(ОписаниеЗапроса);

Результат это "Структура", в "Структуре" свойство "ТелоОтвета"
2. MikhailDr 20.05.22 11:02 Сейчас в теме
Каким образом у вас могут быть одинаковые имена реквизитов "rek2"? На мой взгляд это нельзя правильно прочитать. Т.е. чтениеJSON вернет массив структур с двумя полями, а не с тремя.
6. MikhailDr 20.05.22 11:15 Сейчас в теме
(2)

ЧтениеJSON = Новый ЧтениеJSON;
ЧтениеJSON.УстановитьСтроку(СтрокаJSON);
ОтветAPI = ПрочитатьJSON(ЧтениеJSON);
ЧтениеJSON.Закрыть();

СтрокаJSON это переменная в которую передано тело ответа. В ОтветAPI получите массив структур.
7. Arkadag 20.05.22 11:58 Сейчас в теме
(6) Так и сделал.
СтрокаJSON = Результат.ТелоОтвета

Читаю ОтветАПИ

В результате получаю массив Соответствий. В каждом соответствии лежит лежит еще одно соответствие.
И в последнем Соответствии лежат данные, но не в массиве, а с ключами и значениями

rek1 "ghfh1"
rek2 "ghfh2"
rek3 "ghfh3"

написал цикл

Для Каждого Соответ Из ОтветАПИ Цикл

Сообщить(Соответ);

КонецЦикла;


Когда считывал данные из файла, то в цикле писал
НоваяСтрока = Объект.Список.Добавить();
ЗаполнитьЗначенияСвойств(НоваяСтрока, Соответ);

А как загнать данные из соответствия?
8. Westonline82 20.05.22 13:42 Сейчас в теме
(7)


Для Каждого Соответ Из ОтветАПИ Цикл

Сообщить(Соответ.rek1);
Сообщить(Соответ.rek2);
Сообщить(Соответ.rek3);

КонецЦикла;

И это должно работать
Для Каждого Соответ Из ОтветАПИ Цикл

    НоваяСтрока = Объект.Список.Добавить();
   ЗаполнитьЗначенияСвойств(НоваяСтрока, Соответ);

КонецЦикла;
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот