Имя: Пароль:
1C
1С v8
Выгрузка массива документов в JSON
0 Gera1t
 
23.03.23
09:57
Здравствуйте!
Нужно выгрузить массив документов в JSON.
Вот такой код:

		ЗаписьJSON = Новый ЗаписьJSON;
		//ЗаписьJSON.ПроверятьСтруктуру = Ложь;
		
		ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON( , Символы.Таб);
		ЗаписьJSON.ОткрытьФайл(ИмяФайла, , , ПараметрыЗаписиJSON);
		
		ПараметрыСериализацииJSON = Новый НастройкиСериализацииJSON();
		
		//Запись = СгенерироватьСтруктуруДляВыгрузкиНовыхИДополненныхЗаказов(); 
		
		Запись = Новый Массив;
		Для Каждого СтрокаТЧ из СписокДокументов Цикл 
			Запись.Добавить(СтрокаТЧ.Документ);
		КонецЦикла;
		
		//ЗаписьJSON.УстановитьСтроку();
		
		СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, Запись, НазначениеТипаXML.Явное);
		//ЗаписатьJSON(ЗаписьJSON, Запись, ПараметрыСериализацииJSON);	
		
		ЗаписьJSON.Закрыть();



Но выгружаются только УИН документов.

Можно ли как то выгрузить все реквизиты документов и справочников внутри документов?
1 Гипервизор
 
23.03.23
10:05
(0)  Попробуйте записать не массив документов, а один документ.
В этом примере записывается объект: https://its.1c.ru/db/intgr83/content/24/hdoc
2 PLUT
 
23.03.23
10:07
(0) у меня так работает для одного документа:

//Документ
Функция ДокументВТекстJSON(Сцылко)
    
    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(, Символы.Таб));
    
    СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, Сцылко.ПолучитьОбъект(), НазначениеТипаXML.Явное);
    
    Возврат ЗаписьJSON.Закрыть();
    
КонецФункции

//Движения документа
Функция ДвиженияДокументаВТекстJSON(Сцылко)
    
    ДокОбъект = Сцылко.ПолучитьОбъект();
    
    НаборыЗаписей = Новый Соответствие();
    Для Каждого Движение из ДокОбъект.Движения Цикл
        Движение.Прочитать();
        Если Движение.Количество() = 0 Тогда
            Продолжить;
        КонецЕсли;
        НаборыЗаписей.Вставить(Движение.Метаданные().Имя, Движение.Выгрузить());
    КонецЦикла;

    ЗаписьJSON = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(, Символы.Таб));
    
    СериализаторXDTO.ЗаписатьJSON(ЗаписьJSON, НаборыЗаписей, НазначениеТипаXML.Явное);
    
    Возврат ЗаписьJSON.Закрыть();
    
КонецФункции
3 PLUT
 
23.03.23
10:10
(0) > Можно ли как то выгрузить все реквизиты документов и справочников внутри документов?

ну как вариант цЫклом по метаданным пройтись у документа и если сцылочный тип - тады получать объект и сериализовывать объект в джопсон

складывать можно в соответствие
4 Gera1t
 
23.03.23
10:32
Т.е. тип данных Объект можно поместить в соответствие?
И потом кучей выгрузить?
Спасибо! попробую.