|
|
|
Работа со строкой JSON в 1с | ☑ | ||
|---|---|---|---|---|
|
0
Человек15
naïve
02.12.24
✎
10:58
|
Добрый День всем.
Не получается заполнить ТЧ в документе. Документ создается, ТЧ пустая Вложенность JSON вот такая (кусок) Подробности{ "count": 8974, "data": [ { "ID": 343106, "ID_внешней_системы": "10406854", "Тип_помещения": "Квартира", "Позиция_на_этаже": 1, "Номер": "1", "Этаж": 1, "ID_этажа": 37524, "Название_секции": "Секция 1", "Цифра_секции": 1, "ID_секции": 5282, "Название_дома": "Дом №1", "ID_дома": 3066, "Название_проекта": "ЖК Основа", "ID_проекта": 632, "Валюта": "Российский рубль", "Стоимость": 4452687, "Стоимость_м2": 96462.02, "Стоимость_по_прайсу": 4452687, "Стоимость_по_прайсу_м2": 96462.02, "Площадь_с_коэф_лп": 46.16, "Площадь_без_коэф_лп": null, "Площадь_с_полными_лп": null, "Площадь_основная": 46.16, "Площадь_жилая": 30.23, "Площадь_кухни": null, "Площадь_БТИ": null, "Площадь_БТИ_жилая": null, "Площадь_БТИ_вспомогательная": null, "Площадь_БТИ_лп": null, "Колво_комнат": 2, "Высота_потолка": null, "Знак_комнатности": "2", "Студийный_формат": "нет", "Статус_помещения": "Продано", "Комментарий": null, "Код_планировки": "2С - 46,16 - БС1(1)", "Код_планировки_каталога": null, "Организация": { "ID": null, "Название": "", "ИНН": "", "КПП": "", "ОГРН": "" }, "Пользовательские_параметры": { "Куда_выходят_окна": "", "Кол_во_лоджий": null, "Кол_во_балконов": null, "Кол_во_совмещенных_санузлов": null, "Кол_во_раздельных_санузлов": null } }, { "ID": 343107, "ID_внешней_системы": "10406855", "Тип_помещения": "Квартира", "Позиция_на_этаже": 2, "Номер": "2", "Этаж": 1, "ID_этажа": 37524, "Название_секции": "Секция 1", "Цифра_секции": 1, "ID_секции": 5282, "Название_дома": "Дом №1", "ID_дома": 3066, "Название_проекта": "ЖК Основа", "ID_проекта": 632, "Валюта": "Российский рубль", "Стоимость": 3416400, Из последнего вложенного объекта мне нужно пару значений. это делаю я
ТелоОтвета = Ответ.ПолучитьТелоКакСтроку();
СоответствиеПолей = Новый Соответствие;
СоответствиеПолей.Вставить("ID","ProfitbaseID");
СоответствиеПолей.Вставить("Стоимость_м2","Цена");
СоответствиеПолей.Вставить("Стоимость","Стоимость");
СоответствиеПолей.Вставить("Площадь_основная","ОбщаяПлощадь");
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(ТелоОтвета);
ДанныеСтроки = ПрочитатьJSON(Чтение,Истина);
Для каждого ОбъектСт Из ДанныеСтроки Цикл
ДокУстановкаЦенИДолей = Документы.УстановкаЦенДолейИПомещений.СоздатьДокумент();
ДокУстановкаЦенИДолей.Дата = ТекущаяДата();
ДокУстановкаЦенИДолей.Организация = мОрганизация;
ДокУстановкаЦенИДолей.ТипЦен = мТипЦен;
//ДокУстановкаЦенИДолей.ОбъектСтроительства =
ДокУстановкаЦенИДолей.Ответственный = мОтветственный;
ДокУстановкаЦенИДолей.Комментарий = "Создан и заполнен автоматически из Домопланер";
СтрокаТЧ = ДокУстановкаЦенИДолей.Цены.Добавить();
Для каждого ТекущееСвойство Из ДанныеСтроки Цикл
ИмяТекущегоСвойства = ТекущееСвойство.Ключ;
ИмяРеквизитаТЧ = СоответствиеПолей.Получить(ИмяТекущегоСвойства);
Если ИмяРеквизитаТЧ <> Неопределено Тогда
СтрокаТЧ[ИмяРеквизитаТЧ] = ТекущееСвойство.Значение;
КонецЕсли;
КонецЦикла;
ДокУстановкаЦенИДолей.Записать();
КонецЦикла;
Чтение.Закрыть();
Что не так? Может вообще как то по другому заполнять ТЧ? |
|||
|
1
Мультук
гуру
02.12.24
✎
10:54
|
(0)
Внимание, вопрос! Сколько строк будет добавлено в "ДокУстановкаЦенИДолей.Цены", если Добавить находится вне цикла ?
СтрокаТЧ = ДокУстановкаЦенИДолей.Цены.Добавить();
Для каждого ТекущееСвойство Из ДанныеСтроки Цикл
ИмяТекущегоСвойства = ТекущееСвойство.Ключ;
ИмяРеквизитаТЧ = СоответствиеПолей.Получить(ИмяТекущегоСвойства);
Если ИмяРеквизитаТЧ <> Неопределено Тогда
СтрокаТЧ[ИмяРеквизитаТЧ] = ТекущееСвойство.Значение;
КонецЕсли;
КонецЦикла;
Говорят, в 1С есть отладчик. Врут поди(с) |
|||
|
2
KJlag
02.12.24
✎
11:00
|
(1) отладчик - это платная услуга для избранных. 100%
|
|||
|
3
Волшебник
02.12.24
✎
11:03
|
(1) А Вас не смущает этот вложенный цикл, коллега?
Для каждого ОбъектСт Из ДанныеСтроки Цикл
...
Для каждого ТекущееСвойство Из ДанныеСтроки Цикл |
|||
|
4
Мультук
гуру
02.12.24
✎
11:27
|
(3)
>> А Вас не смущает этот вложенный цикл, коллега? Я пальцем на отладчик показал. А думать за других мне с утра лень. |
|||
|
5
Волшебник
02.12.24
✎
11:28
|
(4) душнила :)
|
|||
|
6
Человек15
naïve
02.12.24
✎
12:40
|
(1) Спасибо за наводку) в 1с 4 месяца).
отлично, док заполняется ровно 3 строками т.к в отладчике я вижу три элемента структуры или соответствия (если прочитаю в соответствии). В одном из трех элементов я вижу пару ключ и значение "Массив" в котором сидят все мои данные(Это если структура). в моем коде условия останавливаются на этих трех элементах. Как добраться до "Массива"? наведите на метод пож. как вытащить "Массив"? |
|||
|
7
Волшебник
02.12.24
✎
12:42
|
(6) какой-то горячечный бред, врача в топик
|
|||
|
8
Ненавижу 1С
гуру
02.12.24
✎
13:23
|
СтруктураJSON.data[0] ?
|
|||
|
9
ptiz
02.12.24
✎
13:31
|
(0) Очень недорого, хоть и 1ый этаж. Это где продается?
|
|||
|
10
Волшебник
02.12.24
✎
13:33
|
(9) Расслабься. "Статус_помещения": "Продано",
|
|||
|
11
Волшебник
02.12.24
✎
13:35
|
(9) Хотя если интересно, то это больше всего похоже на https://gk-osnova.ru/malinovo
|
|||
|
12
Ненавижу 1С
гуру
02.12.24
✎
13:44
|
(11) в каких-то ипинях, так еще и на ЦКАДе
|
|||
|
13
Волшебник
02.12.24
✎
13:47
|
(12) Ну так всего 4 ляма. Это как проценты за год за ипотеку по современной ставке.
|
|||
|
14
CepeLLlka
02.12.24
✎
14:56
|
(11)Норм тема? Есть смысл взять?
|
|||
|
15
Волшебник
02.12.24
✎
15:05
|
(14) Если Вам нужна квартира в ебенях, то берите, конечно.
|
|||
|
16
CepeLLlka
02.12.24
✎
15:18
|
(15)Спасибо
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |