Имя: Пароль:
1C
1С v8
Запись структуры в файл json
0 progaoff
 
23.05.18
11:32
Добрый день, после испытания всех вариантов которые приходили в голову, хочу спросить у знатоков, что нужно сделать, что бы получить json файл, с всеми наименованиями товаров, вот такой структуры:
{  
"date": "19.01.2017",
    "id": "FFSHIPMENT00100",
    "items": [
        {
            "price": "99999999.99",
            "quantity": "3",
            "sku": "25173"
        },
        {
            "price": "99999999.99",
            "quantity": "3",
            "sku": "25219"
        }
    ],
    "pallets": [        
        {
            "barcode": "PALFF00000-00100"
        }
    ]
На данный момент у меня создается количество файлов равное записям в ТЧ

ДанныеОПоставке = Новый Массив;
    ДатаДокумента = Формат(РТУ.Дата ,"ДЛФ=Д");
    НомерДокумента = Прав(РТУ.Номер,6);
    Структура = Новый Структура;
    Структура.Вставить("date", ДатаДокумента);
    Структура.Вставить("id", НомерДокумента);    
    Для Каждого СТрокаТЧ Из РТУ.Товары Цикл
        ТаблицаТоваров = Новый Массив;
        СтруктураТаблицы = Новый Структура("price,quantity,sku",Строка(СТрокаТЧ.Цена),Строка(СТрокаТЧ.Количество),СТрокаТЧ.Номенклатура.Артикул+?(ЗначениеЗаполнено(СТрокаТЧ.Характеристика)," "+СТрокаТЧ.Характеристика.Наименование,""));
        ТаблицаТоваров.Добавить(СтруктураТаблицы);
        Структура.Вставить("items",ТаблицаТоваров);
        МассивШК = Новый Массив;
        СтруктураБарКода = Новый Структура;
        МассивШК.Добавить(Новый Структура("barcode","99999999"));
        Структура.Вставить("pallets",МассивШК);
        ДанныеОПоставке.Добавить(Структура);
    КонецЦикла;
    
        
    Возврат ДанныеОПоставке;
1 progaoff
 
23.05.18
11:38
То что нужно убрать запись файла из цикла, я понимаю, но как мне обратится тогда к элементу массива, который я передаю?
2 Kondarat
 
23.05.18
11:39
ДанныеОПоставке = Новый Массив;
    ДатаДокумента = Формат(РТУ.Дата ,"ДЛФ=Д");
    НомерДокумента = Прав(РТУ.Номер,6);
    Структура = Новый Структура;
    Структура.Вставить("date", ДатаДокумента);
    Структура.Вставить("id", НомерДокумента);    
    ТаблицаТоваров = Новый Массив;
    МассивШК = Новый Массив;
    Для Каждого СТрокаТЧ Из РТУ.Товары Цикл
        //ТаблицаТоваров = Новый Массив;
        СтруктураТаблицы = Новый Структура("price,quantity,sku",Строка(СТрокаТЧ.Цена),Строка(СТрокаТЧ.Количество),СТрокаТЧ.Номенклатура.Артикул+?(ЗначениеЗаполнено(СТрокаТЧ.Характеристика)," "+СТрокаТЧ.Характеристика.Наименование,""));
        ТаблицаТоваров.Добавить(СтруктураТаблицы);
        //Структура.Вставить("items",ТаблицаТоваров);
        //МассивШК = Новый Массив;
        СтруктураБарКода = Новый Структура;
        МассивШК.Добавить(Новый Структура("barcode","99999999"));
        //Структура.Вставить("pallets",МассивШК);
        //ДанныеОПоставке.Добавить(Структура);
    КонецЦикла;

    Структура.Вставить("items",ТаблицаТоваров);
    Структура.Вставить("pallets",МассивШК);
    ДанныеОПоставке.Добавить(Структура);
        
    Возврат ДанныеОПоставке;
3 progaoff
 
23.05.18
11:44
(2) Это гениально) спасибо огромное.