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