Имя: Пароль:
1C
 
Json Создание в 1с
0 ArturDoo
 
31.05.21
21:38
Добрый вечер. Как сделать запятую между объектами? Как в примере
"custom_fields_values": [                       //НачалоМассива
        {                                        //НачалоОбъекта
            "field_id": 3,       //Здесь запятая ставится автоматом
            "values": [                          //НачалоМассива
                {                                //НачалоОбъект
                    "value": "Field value"
                }                                //КонецОбъекта
            ]                                    //КонецМассива
!!!!!!!        },                                //КонецОбъекта???????            А здесь выпадает в ошибку.
!!!!!!!        {                                 //НачалоОбъекта??????
            "field_id": 103,
            "values": [
                {
                    "value": "1.5"
                }
            ]
        },

Что я недописал?
1 Asmody
 
31.05.21
21:43
{
    "custom_fields_values": [{
            "field_id": 3,
            "values": [{
                "value": "Field value"
            }]
        },
        {
            "field_id": 103,
            "values": [{
                "value": "1.5"
            }]
        }
    ]
}
2 vde69
 
31.05.21
21:43
для начала создай правильно, например здесь

https://jsoneditoronline.org/#right=local.bivale&left=local.dijaso
3 ArturDoo
 
31.05.21
21:47
(1) Скобка в начало и конце понятно, не стах их писать, тк это середина файла
(2) Скопировал свой джейсон туда, ошибок нет
4 Hmster
 
31.05.21
22:53
код покажи
5 ArturDoo
 
31.05.21
23:02
(4)
ЗаписьJSON = Новый ЗаписьJSON;
    тПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина);  
    ЗаписьJSON.УстановитьСтроку(тПараметрыJSON);
        
    ЗаписьJSON.ЗаписатьНачалоОбъекта();//1
    ЗаписьJSON.ЗаписатьИмяСвойства("custom_fields_values");
    ЗаписьJSON.ЗаписатьНачалоМассива();//11
    ЗаписьJSON.ЗаписатьНачалоОбъекта();//2
    ЗаписьJSON.ЗаписатьИмяСвойства("field_id");  ЗаписьJSON.ЗаписатьЗначение(354313);
    ЗаписьJSON.ЗаписатьИмяСвойства("values");
    ЗаписьJSON.ЗаписатьНачалоМассива();//22
    ЗаписьJSON.ЗаписатьНачалоОбъекта();//3
    ЗаписьJSON.ЗаписатьИмяСвойства("value");    ЗаписьJSON.ЗаписатьЗначение("123321123");
    ЗаписьJSON.ЗаписатьКонецОбъекта();//3
    ЗаписьJSON.ЗаписатьКонецМассива();//22
    ЗаписьJSON.ЗаписатьКонецОбъекта();//2
    ЗаписьJSON.ЗаписатьКонецМассива();//11
    ЗаписьJSON.ЗаписатьКонецОбъекта();//1
    СтрокаJS = ЗаписьJSON.Закрыть();
6 ArturDoo
 
31.05.21
23:07
Дошаманился и всё сломал...
Теперь выдаёт ошибку "Приемник данных JSON не открыт"
Как я понимаю
"ЗаписьJSON.УстановитьСтроку(тПараметрыJSON)" Должна создавать временный файл, внутри которого буду возиться, а
"СтрокаJS = ЗаписьJSON.Закрыть();" должна закрывать временный файл, и заклинание должно работать.
7 ArturDoo
 
31.05.21
23:09
(4) Это код с одним объектом, вот попытка сделать 2 :
ЗаписьJSON = Новый ЗаписьJSON;
    тПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина);  
    ЗаписьJSON.УстановитьСтроку(тПараметрыJSON);
    
    ЗаписьJSON.ЗаписатьНачалоОбъекта();
    ЗаписьJSON.ЗаписатьИмяСвойства("custom_fields_values");
    ЗаписьJSON.ЗаписатьНачалоМассива();
    ЗаписьJSON.ЗаписатьНачалоОбъекта();
    ЗаписьJSON.ЗаписатьИмяСвойства("field_id");  ЗаписьJSON.ЗаписатьЗначение(179607);
    ЗаписьJSON.ЗаписатьИмяСвойства("values");
    ЗаписьJSON.ЗаписатьНачалоМассива();
    ЗаписьJSON.ЗаписатьНачалоОбъекта();
    ЗаписьJSON.ЗаписатьИмяСвойства("value");    ЗаписьJSON.ЗаписатьЗначение(ИНН);
    ЗаписьJSON.ЗаписатьКонецОбъекта();
    ЗаписьJSON.ЗаписатьКонецМассива();
    ЗаписьJSON.ЗаписатьКонецОбъекта();
    ЗаписьJSON.ЗаписатьКонецМассива();
    ЗаписьJSON.ЗаписатьКонецОбъекта();
    
    //////////Адрес 175355
    
    //Получаем Адрес из ТЧ Контактная информация
    СтруктураАдрес = Новый Структура;
    СтруктураАдрес.Вставить("Тип",Перечисления.ТипыКонтактнойИнформации.Адрес);
    
    Если НЕ ПустаяСтрока(ПартнерВыбор.КонтактнаяИнформация.НайтиСтроки(СтруктураАдрес)[0].Представление) Тогда
        Адрес = ПартнерВыбор.КонтактнаяИнформация.НайтиСтроки(СтруктураАдрес)[0].Представление;
            
        ЗаписьJSON.ЗаписатьНачалоОбъекта();
        ЗаписьJSON.ЗаписатьИмяСвойства("custom_fields_values");
        ЗаписьJSON.ЗаписатьНачалоМассива();
        ЗаписьJSON.ЗаписатьНачалоОбъекта();
        ЗаписьJSON.ЗаписатьИмяСвойства("field_id");  ЗаписьJSON.ЗаписатьЗначение(175355);
        ЗаписьJSON.ЗаписатьИмяСвойства("values");
        ЗаписьJSON.ЗаписатьНачалоМассива();
        ЗаписьJSON.ЗаписатьНачалоОбъекта();
        ЗаписьJSON.ЗаписатьИмяСвойства("value");    ЗаписьJSON.ЗаписатьЗначение(Адрес);
        ЗаписьJSON.ЗаписатьКонецОбъекта();
        ЗаписьJSON.ЗаписатьКонецМассива();
        ЗаписьJSON.ЗаписатьКонецОбъекта();
                СтрокаJS = ЗаписьJSON.Закрыть();
8 Hmster
 
31.05.21
23:15
(5)
ЗаписьJSON = Новый ЗаписьJSON;
    тПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина);  
    ЗаписьJSON.УстановитьСтроку(тПараметрыJSON);
        
    ЗаписьJSON.ЗаписатьНачалоОбъекта();//1
        ЗаписьJSON.ЗаписатьИмяСвойства("custom_fields_values");
           ЗаписьJSON.ЗаписатьНачалоМассива();//11

            ЗаписьJSON.ЗаписатьНачалоОбъекта();//2
                ЗаписьJSON.ЗаписатьИмяСвойства("field_id");  ЗаписьJSON.ЗаписатьЗначение(354313);
                ЗаписьJSON.ЗаписатьИмяСвойства("values");
                    ЗаписьJSON.ЗаписатьНачалоМассива();//22
                        ЗаписьJSON.ЗаписатьНачалоОбъекта();//3
                            ЗаписьJSON.ЗаписатьИмяСвойства("value");    ЗаписьJSON.ЗаписатьЗначение("123321123");
                        ЗаписьJSON.ЗаписатьКонецОбъекта();//3
                    ЗаписьJSON.ЗаписатьКонецМассива();//22
            ЗаписьJSON.ЗаписатьКонецОбъекта();//2
            
            //Следущий элемент массива //11
            //вот тут вставил
            ЗаписьJSON.ЗаписатьНачалоОбъекта();//2-2
                ЗаписьJSON.ЗаписатьИмяСвойства("field_id");  ЗаписьJSON.ЗаписатьЗначение(1212121212);
            ЗаписьJSON.ЗаписатьКонецОбъекта();//2-2
            //вот тут законил
            
        ЗаписьJSON.ЗаписатьКонецМассива();//11
    ЗаписьJSON.ЗаписатьКонецОбъекта();//1
    СтрокаJS = ЗаписьJSON.Закрыть();
9 ArturDoo
 
31.05.21
23:26
(8) Вылезает таже ошибка, что и в (6)
10 Hmster
 
31.05.21
23:47
у меня ошибку не выдает
11 ArturDoo
 
31.05.21
23:52
(10) Что, вообще, означает эта ошибка, первый раз её вижу. До инициализации записиДжейсон в процедуре ничего нет.
12 ArturDoo
 
31.05.21
23:54
(10) Полный текст Процедуры:
&НаСервере
Процедура СторнированиеЛидаНаСервере()
    
    ////////
    
    ЗаписьJSON = Новый ЗаписьJSON;
    //тПараметрыJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, " ", Истина);  
    //ЗаписьJSON.УстановитьСтроку(тПараметрыJSON);
    ЗаписьJSON.УстановитьСтроку();
    
    ЗаписьJSON.ЗаписатьНачалоОбъекта();//1

        ЗаписьJSON.ЗаписатьИмяСвойства("custom_fields_values");
           ЗаписьJSON.ЗаписатьНачалоМассива();//11


            ЗаписьJSON.ЗаписатьНачалоОбъекта();//2

                ЗаписьJSON.ЗаписатьИмяСвойства("field_id");  ЗаписьJSON.ЗаписатьЗначение(354313);
                ЗаписьJSON.ЗаписатьИмяСвойства("values");
                    ЗаписьJSON.ЗаписатьНачалоМассива();//22

                        ЗаписьJSON.ЗаписатьНачалоОбъекта();//3

                            ЗаписьJSON.ЗаписатьИмяСвойства("value");    ЗаписьJSON.ЗаписатьЗначение("123321123");
                        ЗаписьJSON.ЗаписатьКонецОбъекта();//3

                    ЗаписьJSON.ЗаписатьКонецМассива();//22

            ЗаписьJSON.ЗаписатьКонецОбъекта();//2

            
            //Следущий элемент массива //11

            //вот тут вставил

            ЗаписьJSON.ЗаписатьНачалоОбъекта();//2-2

                ЗаписьJSON.ЗаписатьИмяСвойства("field_id");  ЗаписьJSON.ЗаписатьЗначение(1212121212);
            ЗаписьJSON.ЗаписатьКонецОбъекта();//2-2

            //вот тут законил

            
        ЗаписьJSON.ЗаписатьКонецМассива();//11

    ЗаписьJSON.ЗаписатьКонецОбъекта();//1

    СтрокаJS = ЗаписьJSON.Закрыть();
КонецПроцедуры;
13 ArturDoo
 
31.05.21
23:57
(13) Отладка на : ЗаписьJSON.УстановитьСтроку() Говорит, что обращение к процедуре Объекта, как к функции
14 ArturDoo
 
31.05.21
23:57
(13)ЗаписьJSON.УстановитьСтроку()    {<Неизвестный модуль>(1)}: Обращение к процедуре объекта как к функции (УстановитьСтроку)
15 hhhh
 
01.06.21
01:52
(14) а почему точки с запятой все выбросил? Ты их ненавидишь?
Закон Брукера: Даже маленькая практика стоит большой теории.