Форум Кладовочки АЛьФ`а

Общие вопросы => 7.7 => Тема начата: SnakePlisskin от 27 марта 2026, 16:19

Название: Класс JSON
Отправлено: SnakePlisskin от 27 марта 2026, 16:19
Господа доброго времени суток!
Использую класс JSON от уважаемого Трапезникова Дмитрия.
Столкнулся для себя с непоняткой.
Нужно сформировать JSON для отправки на сайт вот такого вида :
{
  "stocks": [
    {
      "productSku": "47.300.15",
      "pointId": "А001",
      "quantity": 300,
      "price": 298.90,
      "name": "Название 1"
    },
    {
      "productSku": "11110509402MULD000000000",
      "pointId": "А002",
      "quantity": 25,
      "price": 3000.14,
      "name": "Название 2"
    }
  ]
}

Все данные собрал запросом далее в цикле просто формирую выходной файл, делаю вот так :

   Данные = СоздатьОбъект("Структура");
   Данные.Вставить("stocks",СоздатьОбъект("СписокЗначений"));
   
   СчетчикСтрок = 1;
   ВсегоСтрок = тзОстатков.КоличествоСтрок();
   тзОстатков.ВыбратьСтроки();
   Пока тзОстатков.ПолучитьСтроку() = 1 Цикл
      глПрогрессор("Идет формирование файла выгрзуки",ВсегоСтрок,СчетчикСтрок);
      текОстаток = тзОстатков.quantity;
      Если текОстаток = 0 Тогда
         Продолжить;
      КонецЕсли;
      текЦена = тзОстатков.price;
      Если текЦена = 0 Тогда
         Продолжить;
      КонецЕсли;
      Элемент = СоздатьОбъект("Структура");
      Элемент.Вставить("productSku", СокрЛП(тзОстатков.productSku));
      Элемент.Вставить("pointId", "A013");
      Элемент.Вставить("quantity", текОстаток);
      Элемент.Вставить("price", тзОстатков.price);
      Элемент.Вставить("name", СокрЛП(тзОстатков.name));
      Данные.stocks.ДобавитьЗначение(Элемент);
      СчетчикСтрок = СчетчикСтрок + 1;

   КонецЦикла;
      
   ИмяФайла = "upload";
   Путь = СокрП(КаталогПользователя());
   
   // **** РАБОТА С КЛАССОМ ****   
   JSON = СоздатьОбъект("JSON");
   JSON.СохранитьJSON(Путь+ИмяФайла+".json", Данные, 3);

Файл сохраняется но в нем отсутствует объект "stocks", элементы просто идут одним списком, естественно получаю отлуп при отправке такого файла. Вопрос, что я делаю не так ?