Имя: Пароль:
1C
1С v8
json формирование. идет зацикливание
0 lamme
 
10.11.21
14:07
формирую джсон

ЗаписьJSON = Новый ЗаписьJSON;
ЗаписьJSON.ПроверятьСтруктуру = Ложь;
ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( , Символы.Таб) ;
ЗаписьJSON.ОткрытьФайл(КаталогРазмещенияОбработки + "1c_zakaz.txt", , , ПараметрыЗаписиJSON);
..
запрос по реализациям
..
обходим результат запроса

блок товары


ЗаписьJSON.ЗаписатьИмяСвойства("Товары");
            ЗаписьJSON.ЗаписатьНачалоМассива();
            
            Попытка                                    
                Для Каждого стр Из ВыборкаОбъектВыгрузки.Заказ.Товары Цикл
                                ЗаписьJSON.ЗаписатьНачалоОбъекта();
                                ЗаписьJSON.ЗаписатьИмяСвойства("Наименование");
                                ЗаписьJSON.ЗаписатьЗначение(СтрЗаменить(СокрЛП(стр.Номенклатура)," ", "_"));
                                ЗаписьJSON.ЗаписатьИмяСвойства("Ед");
                                ЗаписьJSON.ЗаписатьЗначение(СокрЛП(?(стр.Упаковка.Пустая(), стр.Номенклатура.ЕдиницаИзмерения, стр.Упаковка)));
                                ЗаписьJSON.ЗаписатьИмяСвойства("Цена");
                                ЗаписьJSON.ЗаписатьЗначение(СтрЗаменить(стр.Цена, Символы.НПП, ""));
                                ЗаписьJSON.ЗаписатьИмяСвойства("Количество");
                                ЗаписьJSON.ЗаписатьЗначение(СтрЗаменить(стр.Количество, Символы.НПП, ""));
                                ЗаписьJSON.ЗаписатьИмяСвойства("Сумма");
                                ЗаписьJSON.ЗаписатьЗначение(СтрЗаменить((?(ВыборкаОбъектВыгрузки.Заказ.ЦенаВключаетНДС,
                                                                        стр.Сумма,стр.СуммаНДС + стр.Сумма)), Символы.НПП, ""));
                                ЗаписьJSON.ЗаписатьИмяСвойства("ГУИД");
                                ЗаписьJSON.ЗаписатьЗначение(СтрЗаменить(?(НЕ стр.Номенклатура.Пустая(),стр.Номенклатура.УникальныйИдентификатор(),""), Символы.НПП, ""));
                                ЗаписьJSON.ЗаписатьКонецОбъекта();
                КонецЦикла;
            Исключение
                
            КонецПопытки;    
            ЗаписьJSON.ЗаписатьКонецМассива();
        ЗаписьJSON.ЗаписатьКонецОбъекта();


в итоговом файле получается вот такое вот
https://skr.sh/sAxPL5X2z1O

хрень какая-то в виде закусывания одного и того же
рекурсия

что не верно?

хочется все таки чтобы блок по товарам был один для документа
1 mTema32
 
10.11.21
14:09
Сделай массив структур и не используй допотопные методы формирования джейсона.
2 lamme
 
10.11.21
14:14
не могу
так уже было
3 Ёпрст
 
10.11.21
14:18
ЗаписьJSON.ЗаписатьЗначение(СтрЗаменить(стр.Количество, Символы.НПП, "")); //Это нахрена ? :))
4 acht
 
10.11.21
14:18
(0) А вот не надо исключения бесследно глотать
5 lamme
 
10.11.21
14:31
закрыли
разобрался
6 lamme
 
10.11.21
14:31
(0)
верно
в этом дело