Вход | Регистрация
 

Json Создание в 1с

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

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

https://jsoneditoronline.org/#right=local.bivale&left=local.dijaso
   ArturDoo
 
3 - 31.05.21 - 21:47
(1) Скобка в начало и конце понятно, не стах их писать, тк это середина файла
(2) Скопировал свой джейсон туда, ошибок нет
   Hmster
 
4 - 31.05.21 - 22:53
код покажи
   ArturDoo
 
5 - 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.Закрыть();
   ArturDoo
 
6 - 31.05.21 - 23:07
Дошаманился и всё сломал...
Теперь выдаёт ошибку "Приемник данных JSON не открыт"
Как я понимаю
"ЗаписьJSON.УстановитьСтроку(тПараметрыJSON)" Должна создавать временный файл, внутри которого буду возиться, а
 "СтрокаJS = ЗаписьJSON.Закрыть();" должна закрывать временный файл, и заклинание должно работать.
   ArturDoo
 
7 - 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.Закрыть();
   Hmster
 
8 - 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.Закрыть();
   ArturDoo
 
9 - 31.05.21 - 23:26
(8) Вылезает таже ошибка, что и в (6)
   Hmster
 
10 - 31.05.21 - 23:47
у меня ошибку не выдает
   ArturDoo
 
11 - 31.05.21 - 23:52
(10) Что, вообще, означает эта ошибка, первый раз её вижу. До инициализации записиДжейсон в процедуре ничего нет.
   ArturDoo
 
12 - 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.Закрыть();
КонецПроцедуры;
   ArturDoo
 
13 - 31.05.21 - 23:57
(13) Отладка на : ЗаписьJSON.УстановитьСтроку() Говорит, что обращение к процедуре Объекта, как к функции
   ArturDoo
 
14 - 31.05.21 - 23:57
(13)ЗаписьJSON.УстановитьСтроку()    {<Неизвестный модуль>(1)}: Обращение к процедуре объекта как к функции (УстановитьСтроку)
   hhhh
 
15 - 01.06.21 - 01:52
(14) а почему точки с запятой все выбросил? Ты их ненавидишь?

Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.