|
Работа со строкой 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)Спасибо
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |