Документы и Справочники в JSON

05.12.23

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

Пример выгрузки всех данных Документа или Справочника в JSON

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Обработка выгрузки в JSON, обычные формы:
.epf 8,15Kb
18
18 Скачать (3 SM) Купить за 2 450 руб.
Документы и Справочники в JSON, управляемые формы:
.epf 7,79Kb
64
64 Скачать (3 SM) Купить за 2 450 руб.

Весь код представлен здесь, скачивать обработки нет необходимости.

Для обычных форм:

&НаСервере
функция ПолучитьСтруктуру(знач Объект)
	Структура = Новый Структура(); /// реквизиты     
	Для каждого Реквизит из Объект.Метаданные().СтандартныеРеквизиты Цикл
		Если ТипЗнч(Объект[Реквизит.Имя]) = тип("Число") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Дата") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Булево") тогда
			Структура.Вставить(Реквизит.Имя, Объект[Реквизит.Имя]);
		иначе
			Структура.Вставить(Реквизит.Имя, Строка(Объект[Реквизит.Имя]));
		КонецЕсли;
	КонецЦикла; 
	
	Для каждого Реквизит из Объект.Метаданные().Реквизиты Цикл
		Если ТипЗнч(Объект[Реквизит.Имя]) = тип("Число") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Дата") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Булево") тогда
			Структура.Вставить(Реквизит.Имя, Объект[Реквизит.Имя]);
		иначе
			Структура.Вставить(Реквизит.Имя, Строка(Объект[Реквизит.Имя]));
		КонецЕсли;
		Если  ТипЗнч(Объект[Реквизит.Имя]) = тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Объект[Реквизит.Имя])  = тип("СправочникСсылка.Контрагенты") тогда
			Структура.Вставить(Реквизит.Имя+"ИНН", Объект[Реквизит.Имя].ИНН);
			Структура.Вставить(Реквизит.Имя+"КПП", Объект[Реквизит.Имя].КПП);
		КонецЕсли;
		//т.к. код или номер объекта для индефикации
		Если НЕ Объект[Реквизит.Имя] = Неопределено и Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект[Реквизит.Имя])) тогда
			Структура.Вставить(Реквизит.Имя+"Код", Объект[Реквизит.Имя].Код);
		ИначеЕсли НЕ Объект[Реквизит.Имя] = Неопределено и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект[Реквизит.Имя])) тогда
			Структура.Вставить(Реквизит.Имя+"Номер", Объект[Реквизит.Имя].Номер);
		КонецЕсли;
	КонецЦикла;    
	
	Для каждого ТабличнаяЧасть из Объект.Метаданные().ТабличныеЧасти Цикл
		//вариант1 Теут //infostart.ru/profile/502386/ +
		ТаблизазНач = Объект[ТабличнаяЧасть.Имя].Выгрузить();
		Для Каждого Колонка Из ТаблизазНач.Колонки цикл
			Массив =  ТаблизазНач.ВыгрузитьКолонку(Колонка.Имя);
			МассивВстроку = Новый Массив;
			МассивКодНомер = Новый Массив;
			МассивАртикул = Новый Массив;
			МассивИНН = Новый Массив;
			МассивКПП = Новый Массив;
			
			Для Каждого Стр из Массив цикл
				Если ТипЗнч(Стр) = тип("Число") ИЛИ ТипЗнч(Стр) = тип("Дата")  ИЛИ ТипЗнч(Стр) = тип("Булево") тогда
					МассивВстроку.Добавить( Стр);
				иначе
					МассивВстроку.Добавить( Строка(Стр));
				КонецЕсли;
				Если  ТипЗнч(Стр) = тип("СправочникСсылка.Номенклатура") тогда
					МассивАртикул.Добавить(Стр.Артикул);
				КонецЕсли;
				Если  ТипЗнч(Стр) = тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Стр) = тип("СправочникСсылка.Контрагенты") тогда
					МассивИНН.Добавить(Стр.ИНН);
					МассивКПП.Добавить(Стр.КПП);
				КонецЕсли;
				//т.к. код или номер объекта для индефикации
				Если НЕ Стр = Неопределено и Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Стр)) тогда
					МассивКодНомер.Добавить(Стр.Код);
				ИначеЕсли НЕ Стр = Неопределено и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Стр)) тогда
					МассивКодНомер.Добавить(Стр.Номер);
				КонецЕсли;
			КонецЦикла;
			Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя, МассивВстроку);
			//проверяем и добавляем дополнительные колонки
			Если МассивАртикул.Количество() > 0 тогда
				Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя + "Артикул", МассивАртикул);
			КонецЕсли;
			Если МассивКодНомер.Количество() > 0 тогда
				Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя + "КодНомер", МассивКодНомер);
			КонецЕсли;
			Если МассивКПП.Количество() > 0 тогда
				Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя + "КПП", МассивКодНомер);
			КонецЕсли;
			Если МассивИНН.Количество() > 0 тогда
				Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя + "ИНН", МассивКодНомер);
			КонецЕсли;
			
		КонецЦикла;
		//вариант1 -
		
		////вариант2 Будаев  //infostart.ru/profile/798953/  +
		//ТаблицаЗнач = Объект[ТабличнаяЧасть.Имя].Выгрузить();
		//МассивТабЧасти = Новый Массив;
		//Для Каждого СтрТЗ Из ТаблицаЗнач Цикл
		//    СтруктураСтр = Новый Структура;
		//    Для Каждого Колонка Из ТаблицаЗнач.Колонки Цикл
		//        Если ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Число") ИЛИ ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Дата") ИЛИ ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Булево") тогда
		//            СтруктураСтр.Вставить(Колонка.Имя, СтрТЗ[Колонка.Имя]);
		//        Иначе
		//            СтруктураСтр.Вставить(Колонка.Имя, Строка(СтрТЗ[Колонка.Имя]));
		//        КонецЕсли;
		//        
		//        Если НЕ СтрТЗ[Колонка.Имя] = Неопределено и Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(СтрТЗ[Колонка.Имя])) тогда
		//            СтруктураСтр.Вставить(Колонка.Имя+"Код", СтрТЗ[Колонка.Имя].Код);
		//        ИначеЕсли НЕ СтрТЗ[Колонка.Имя] = Неопределено и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(СтрТЗ[Колонка.Имя])) тогда
		//            СтруктураСтр.Вставить(Колонка.Имя+"Номер", СтрТЗ[Колонка.Имя].Номер);
		//        КонецЕсли;
		//    КонецЦикла;
		//    МассивТабЧасти.Добавить(СтруктураСтр);
		//КонецЦикла;
		//Структура.Вставить(ТабличнаяЧасть.Имя, МассивТабЧасти);
		//// вариант2 -
	КонецЦикла;
	Структура.Вставить("ВыполнилВыгрузку", Пользователи.ТекущийПользователь().Наименование);
	Возврат Структура;
	
КонецФункции

Для управляемых форм

&НаКлиенте
Процедура ВыгрузитьВ_JSON(Команда)
	Если Объект.СсылкаНаОбъект = Неопределено ИЛИ Объект.Каталог = "" тогда
		Сообщить("Объект или каталог не выбран.");
		Возврат;
	КонецЕсли;
	//	ПримерКаталога = "C:\Folder\";
	ТипСсылки = ЭтоСправочникИлиДокумент();
	Если ТипСсылки = Неопределено тогда
		Сообщить("Для данного типа выгрузка не предусмотрена. Только справочники или документы");
		Возврат;
	КонецЕсли;		
	Каталог = Объект.Каталог;
	ИмяФайлаОтправки = Каталог + "\" + ТипСсылки+".json";
	ВыполнитьСериализацию(ИмяФайлаОтправки);
	Сообщить( ИмяФайлаОтправки);
КонецПроцедуры

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

Тестировалось на Управление производственным предприятием, редакция 1.3 (1.3.122.2) и 1С:Комплексная автоматизация 2 (2.4.7.141), платформа 8.3.13.1513

Пример результата

{
	"#type": "jcfg:DocumentObject.ЗаказКлиента",
	"#value": {
		"Ref": "0227135d-296e-11e5-92f1-0050568b35ac",
		"DeletionMark": false,
		"Date": "2017-07-13T18:46:57",
		"Number": "ТД00-000028",
		"Posted": true,
		"Партнер": "2f5f7e5c-f873-11df-aecd-0015e9b8c48d",
		"Контрагент": "2f5f7e5d-f873-11df-aecd-0015e9b8c48d",
		"Организация": "51ed67a3-7220-11df-b336-0011955cba6b",
		"Соглашение": "b49127d4-752b-11df-b338-0011955cba6b",
		"Сделка": "00000000-0000-0000-0000-000000000000",
		"Валюта": "26093579-c180-11e4-a7a9-000d884fd00d",
		"СуммаДокумента": 27000,
		"ГрафикОплаты": "f0e40f8c-7390-11df-b338-0011955cba6b",
		"ЖелаемаяДатаОтгрузки": "0001-01-01T00:00:00",
		"Склад": "6f87e83f-722c-11df-b336-0011955cba6b",
		"ЦенаВключаетНДС": true,
		"Менеджер": "a4212b3d-730a-11df-b338-0011955cba6b",
		"ДополнительнаяИнформация": "",
		"ДокументОснование": null,
		"НеОтгружатьЧастями": true,
		"Статус": "КОбеспечению",
		"МаксимальныйКодСтроки": 6,
		"ДатаСогласования": "2019-06-21T00:00:00",
		"Согласован": true,
		"ФормаОплаты": "ПлатежнаяКарта",
		"БанковскийСчет": "51ed67dd-7220-11df-b336-0011955cba6b",
		"БанковскийСчетКонтрагента": "50d41479-e4f3-11e0-af8f-0015e9b8c48d",
		"Касса": "00000000-0000-0000-0000-000000000000",
		"СуммаАвансаДоОбеспечения": 0,
		"СуммаПредоплатыДоОтгрузки": 0,
		"ДатаОтгрузки": "2017-07-16T00:00:00",
		"АдресДоставки": "Москва Нагорная улица 34",
		"НалогообложениеНДС": "ПродажаОблагаетсяНДС",
		"СкидкиРассчитаны": true,
		"ХозяйственнаяОперация": "РеализацияКлиенту",
		"Комментарий": "",
		"НомерПоДаннымКлиента": "",
		"ДатаПоДаннымКлиента": "0001-01-01T00:00:00",
		"Грузоотправитель": "00000000-0000-0000-0000-000000000000",
		"Грузополучатель": "00000000-0000-0000-0000-000000000000",
		"БанковскийСчетГрузоотправителя": "00000000-0000-0000-0000-000000000000",
		"БанковскийСчетГрузополучателя": "00000000-0000-0000-0000-000000000000",
		"ГруппаФинансовогоУчета": "00000000-0000-0000-0000-000000000000",
		"КартаЛояльности": "00000000-0000-0000-0000-000000000000",
		"Договор": "00000000-0000-0000-0000-000000000000",
		"Подразделение": "51ed67e1-7220-11df-b336-0011955cba6b",
		"Автор": {
			"#type": "jcfg:CatalogRef.Пользователи",
			"#value": "a4212b3d-730a-11df-b338-0011955cba6b"
		},
		"ПорядокРасчетов": "ПоЗаказамНакладным",
		"Назначение": "0227135c-296e-11e5-92f1-0050568b35ac",
		"СпособДоставки": "Самовывоз",
		"ПеревозчикПартнер": "00000000-0000-0000-0000-000000000000",
		"ЗонаДоставки": "00000000-0000-0000-0000-000000000000",
		"ВремяДоставкиС": "0001-01-01T00:00:00",
		"ВремяДоставкиПо": "0001-01-01T00:00:00",
		"АдресДоставкиПеревозчика": "",
		"АдресДоставкиЗначенияПолей": "<КонтактнаяИнформация xmlns=\"http://www.v8.1c.ru/ssl/contactinfo\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Представление=\"Москва Нагорная улица 34\"><Комментарий/><Состав xsi:type=\"Адрес\"><Состав xsi:type=\"АдресРФ\"/></Состав></КонтактнаяИнформация>",
		"АдресДоставкиПеревозчикаЗначенияПолей": "",
		"ДополнительнаяИнформацияПоДоставке": "",
		"КонтактноеЛицо": "2f5f7e5e-f873-11df-aecd-0015e9b8c48d",
		"Руководитель": "bb251f0d-6b94-11e2-bfed-0015e9b8c48d",
		"ГлавныйБухгалтер": "bb251f10-6b94-11e2-bfed-0015e9b8c48d",
		"ВернутьМногооборотнуюТару": false,
		"СрокВозвратаМногооборотнойТары": 0,
		"СостояниеЗаполненияМногооборотнойТары": "",
		"СуммаВозвратнойТары": 0,
		"НазначениеПлатежа": "",
		"ТребуетсяЗалогЗаТару": false,
		"Приоритет": "260937c5-c180-11e4-a7a9-000d884fd00d",
		"ИдентификаторПлатежа": "ЗК1707ТД000000280004",
		"ОсобыеУсловияПеревозки": false,
		"ОсобыеУсловияПеревозкиОписание": "",
		"НаправлениеДеятельности": "00000000-0000-0000-0000-000000000000",
		"ПорядокОплаты": "РасчетыВРубляхОплатаВРублях",
		"Товары": [
			{
				"ДатаОтгрузки": "2017-07-16T00:00:00",
				"Номенклатура": "bd72d927-55bc-11d9-848a-00112f43529a",
				"Характеристика": "00000000-0000-0000-0000-000000000000",
				"Упаковка": "f0658892-7924-11df-b33a-0011955cba6b",
				"КоличествоУпаковок": 3,
				"Количество": 3,
				"ВидЦены": "73867e74-73c8-11df-b338-0011955cba6b",
				"Цена": 6750,
				"Сумма": 20250,
				"СтавкаНДС": "НДС18",
				"СуммаНДС": 3088.98,
				"СуммаСНДС": 20250,
				"ПроцентРучнойСкидки": 0,
				"СуммаРучнойСкидки": 0,
				"ПроцентАвтоматическойСкидки": 0,
				"СуммаАвтоматическойСкидки": 0,
				"ПричинаОтмены": "00000000-0000-0000-0000-000000000000",
				"КодСтроки": 1,
				"Отменено": false,
				"КлючСвязи": 1,
				"Склад": "6f87e83f-722c-11df-b336-0011955cba6b",
				"СрокПоставки": 0,
				"Содержание": "",
				"СтатусУказанияСерий": 0,
				"ВариантОбеспечения": "Обособленно",
				"Серия": "00000000-0000-0000-0000-000000000000",
				"НоменклатураНабора": "00000000-0000-0000-0000-000000000000",
				"ХарактеристикаНабора": "00000000-0000-0000-0000-000000000000"
			},
			{
				"ДатаОтгрузки": "2017-07-16T00:00:00",
				"Номенклатура": "e8a71fee-55bc-11d9-848a-00112f43529a",
				"Характеристика": "00000000-0000-0000-0000-000000000000",
				"Упаковка": "f0658899-7924-11df-b33a-0011955cba6b",
				"КоличествоУпаковок": 1,
				"Количество": 1,
				"ВидЦены": "73867e74-73c8-11df-b338-0011955cba6b",
				"Цена": 6750,
				"Сумма": 6750,
				"СтавкаНДС": "НДС18",
				"СуммаНДС": 1029.66,
				"СуммаСНДС": 6750,
				"ПроцентРучнойСкидки": 0,
				"СуммаРучнойСкидки": 0,
				"ПроцентАвтоматическойСкидки": 0,
				"СуммаАвтоматическойСкидки": 0,
				"ПричинаОтмены": "00000000-0000-0000-0000-000000000000",
				"КодСтроки": 6,
				"Отменено": false,
				"КлючСвязи": 2,
				"Склад": "6f87e83f-722c-11df-b336-0011955cba6b",
				"СрокПоставки": 0,
				"Содержание": "",
				"СтатусУказанияСерий": 0,
				"ВариантОбеспечения": "Обособленно",
				"Серия": "00000000-0000-0000-0000-000000000000",
				"НоменклатураНабора": "00000000-0000-0000-0000-000000000000",
				"ХарактеристикаНабора": "00000000-0000-0000-0000-000000000000"
			}
		],
		"ЭтапыГрафикаОплаты": [
			{
				"ВариантОплаты": "КредитПослеОтгрузки",
				"ДатаПлатежа": "2017-07-18T00:00:00",
				"ПроцентПлатежа": 100,
				"СуммаПлатежа": 27000,
				"ПроцентЗалогаЗаТару": 100,
				"СуммаЗалогаЗаТару": 0,
				"СуммаОтклоненияМерныхТоваров": 0,
				"Сдвиг": 0
			}
		]
	}
}

Если кого то интересует через получение структуры документа
 

Функция ПолучитьСтруктуру(знач Объект)
	Структура = Новый Структура(); /// реквизиты     
	Для каждого Реквизит из Объект.Метаданные().СтандартныеРеквизиты Цикл
		Если ТипЗнч(Объект[Реквизит.Имя]) = тип("Число") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Дата") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Булево") тогда
			Структура.Вставить(Реквизит.Имя, Объект[Реквизит.Имя]);
		иначе
			Структура.Вставить(Реквизит.Имя, Строка(Объект[Реквизит.Имя]));
		КонецЕсли;
	КонецЦикла; 
	
	Для каждого Реквизит из Объект.Метаданные().Реквизиты Цикл
		Если ТипЗнч(Объект[Реквизит.Имя]) = тип("Число") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Дата") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Булево") тогда
			Структура.Вставить(Реквизит.Имя, Объект[Реквизит.Имя]);
		иначе
			Структура.Вставить(Реквизит.Имя, Строка(Объект[Реквизит.Имя]));
		КонецЕсли;
		Если  ТипЗнч(Объект[Реквизит.Имя]) = тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Объект[Реквизит.Имя])  = тип("СправочникСсылка.Контрагенты") тогда
			Структура.Вставить(Реквизит.Имя+"ИНН", Объект[Реквизит.Имя].ИНН);
			Структура.Вставить(Реквизит.Имя+"КПП", Объект[Реквизит.Имя].КПП);
		КонецЕсли;
		//т.к. код или номер объекта для индефикации
		Если НЕ Объект[Реквизит.Имя] = Неопределено и Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект[Реквизит.Имя])) тогда
			Структура.Вставить(Реквизит.Имя+"Код", Объект[Реквизит.Имя].Код);
		ИначеЕсли НЕ Объект[Реквизит.Имя] = Неопределено и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект[Реквизит.Имя])) тогда
			Структура.Вставить(Реквизит.Имя+"Номер", Объект[Реквизит.Имя].Номер);
		КонецЕсли;
	КонецЦикла;    
	
	Для каждого ТабличнаяЧасть из Объект.Метаданные().ТабличныеЧасти Цикл
		ТаблизазНач = Объект[ТабличнаяЧасть.Имя].Выгрузить();
		Для Каждого Колонка Из ТаблизазНач.Колонки цикл
			Массив =  ТаблизазНач.ВыгрузитьКолонку(Колонка.Имя);
			МассивВстроку = Новый Массив;
			МассивКодНомер = Новый Массив;
			МассивАртикул = Новый Массив;
			МассивИНН = Новый Массив;
			МассивКПП = Новый Массив;
			
			Для Каждого Стр из Массив цикл
				Если ТипЗнч(Стр) = тип("Число") ИЛИ ТипЗнч(Стр) = тип("Дата")  ИЛИ ТипЗнч(Стр) = тип("Булево") тогда
					МассивВстроку.Добавить( Стр);
				иначе
					МассивВстроку.Добавить( Строка(Стр));
				КонецЕсли;
				Если  ТипЗнч(Стр) = тип("СправочникСсылка.Номенклатура") тогда
					МассивАртикул.Добавить(Стр.Артикул);
				КонецЕсли;
				Если  ТипЗнч(Стр) = тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Стр) = тип("СправочникСсылка.Контрагенты") тогда
					МассивИНН.Добавить(Стр.ИНН);
					МассивКПП.Добавить(Стр.КПП);
				КонецЕсли;
				//т.к. код или номер объекта для индефикации
				Если НЕ Стр = Неопределено и Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Стр)) тогда
					МассивКодНомер.Добавить(Стр.Код);
				ИначеЕсли НЕ Стр = Неопределено и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Стр)) тогда
					МассивКодНомер.Добавить(Стр.Номер);
				КонецЕсли;
			КонецЦикла;
			Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя, МассивВстроку);
			//проверяем и добавляем дополнительные колонки
			Если МассивАртикул.Количество() > 0 тогда
				Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя + "Артикул", МассивАртикул);
			КонецЕсли;
			Если МассивКодНомер.Количество() > 0 тогда
				Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя + "КодНомер", МассивКодНомер);
			КонецЕсли;
			Если МассивКПП.Количество() > 0 тогда
				Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя + "КПП", МассивКодНомер);
			КонецЕсли;
			Если МассивИНН.Количество() > 0 тогда
				Структура.Вставить(ТабличнаяЧасть.Имя+Колонка.Имя + "ИНН", МассивКодНомер);
			КонецЕсли;
			
		КонецЦикла;
	КонецЦикла;
				Структура.Вставить("ВыполнилВыгрузку", Пользователи.ТекущийПользователь().Наименование);
	Возврат Структура;
КонецФункции

Пример результата через получение структуры документа
 

{
	"Проведен": true,
	"Ссылка": "Заказ клиента ТД00-000028 от 13.07.2017 18:46:57",
	"ПометкаУдаления": false,
	"Дата": "2017-07-13T18:46:57",
	"Номер": "ТД00-000028",
	"Партнер": "Альфа",
	"ПартнерКод": "ЦУ-00000002",
	"Контрагент": "Альфа",
	"КонтрагентИНН": "7705260667",
	"КонтрагентКПП": "770526002",
	"КонтрагентКод": "",
	"Организация": "Торговый дом \"Комплексный\"",
	"ОрганизацияИНН": "9999115007",
	"ОрганизацияКПП": "999911500",
	"ОрганизацияКод": "",
	"Соглашение": "Оптовые продажи (предоплата)",
	"СоглашениеКод": "",
	"Сделка": "",
	"СделкаКод": "           ",
	"Валюта": "RUB",
	"ВалютаКод": "643",
	"СуммаДокумента": 27000,
	"ГрафикОплаты": "Предоплата (любая)",
	"ГрафикОплатыКод": "",
	"ЖелаемаяДатаОтгрузки": "0001-01-01T00:00:00",
	"Склад": "Центральный склад",
	"СкладКод": "",
	"ЦенаВключаетНДС": true,
	"Менеджер": "Федоров Борис Михайлович",
	"МенеджерКод": "",
	"ДополнительнаяИнформация": "",
	"ДокументОснование": "",
	"НеОтгружатьЧастями": true,
	"Статус": "К выполнению / В резерве",
	"МаксимальныйКодСтроки": 6,
	"ДатаСогласования": "2019-06-21T00:00:00",
	"Согласован": true,
	"ФормаОплаты": "Платежная карта",
	"БанковскийСчет": "АКБ \"ВПБ\" (ЗАО), Торговый дом \"Комплексный\" (RUB)",
	"БанковскийСчетКод": "",
	"БанковскийСчетКонтрагента": "\"МАСТЕР-БАНК\" (ОАО) (RUB)",
	"БанковскийСчетКонтрагентаКод": "",
	"Касса": "",
	"КассаКод": "",
	"СуммаАвансаДоОбеспечения": 0,
	"СуммаПредоплатыДоОтгрузки": 0,
	"ДатаОтгрузки": "2017-07-16T00:00:00",
	"АдресДоставки": "Москва Нагорная улица 34",
	"НалогообложениеНДС": "Продажа облагается НДС",
	"СкидкиРассчитаны": true,
	"ХозяйственнаяОперация": "Реализация",
	"Комментарий": "",
	"НомерПоДаннымКлиента": "",
	"ДатаПоДаннымКлиента": "0001-01-01T00:00:00",
	"Грузоотправитель": "",
	"ГрузоотправительИНН": "",
	"ГрузоотправительКПП": "",
	"ГрузоотправительКод": "",
	"Грузополучатель": "",
	"ГрузополучательИНН": "",
	"ГрузополучательКПП": "",
	"ГрузополучательКод": "",
	"БанковскийСчетГрузоотправителя": "",
	"БанковскийСчетГрузоотправителяКод": "",
	"БанковскийСчетГрузополучателя": "",
	"БанковскийСчетГрузополучателяКод": "",
	"ГруппаФинансовогоУчета": "",
	"ГруппаФинансовогоУчетаКод": "",
	"КартаЛояльности": "",
	"КартаЛояльностиКод": "",
	"Договор": "",
	"ДоговорКод": "",
	"Подразделение": "Отдел продаж торгового направления",
	"ПодразделениеКод": "000000002",
	"Автор": "Федоров Борис Михайлович",
	"АвторКод": "",
	"ПорядокРасчетов": "По заказам",
	"Назначение": "Альфа, ТД00-28, 13.07.2017 (Заказ клиента)",
	"НазначениеКод": "",
	"СпособДоставки": "Самовывоз",
	"ПеревозчикПартнер": "",
	"ПеревозчикПартнерКод": "           ",
	"ЗонаДоставки": "",
	"ЗонаДоставкиКод": "",
	"ВремяДоставкиС": "0001-01-01T00:00:00",
	"ВремяДоставкиПо": "0001-01-01T00:00:00",
	"АдресДоставкиПеревозчика": "",
	"АдресДоставкиЗначенияПолей": "<КонтактнаяИнформация xmlns=\"http://www.v8.1c.ru/ssl/contactinfo\" xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Представление=\"Москва Нагорная улица 34\"><Комментарий/><Состав xsi:type=\"Адрес\"><Состав xsi:type=\"АдресРФ\"/></Состав></КонтактнаяИнформация>",
	"АдресДоставкиПеревозчикаЗначенияПолей": "",
	"ДополнительнаяИнформацияПоДоставке": "",
	"КонтактноеЛицо": "Петров Семен Васильевич",
	"КонтактноеЛицоКод": "",
	"Руководитель": "Исаков О.В.",
	"РуководительКод": "",
	"ГлавныйБухгалтер": "Кострова В.Б.",
	"ГлавныйБухгалтерКод": "",
	"ВернутьМногооборотнуюТару": false,
	"СрокВозвратаМногооборотнойТары": 0,
	"СостояниеЗаполненияМногооборотнойТары": "",
	"СуммаВозвратнойТары": 0,
	"НазначениеПлатежа": "",
	"ТребуетсяЗалогЗаТару": false,
	"Приоритет": "Средний",
	"ПриоритетКод": "",
	"ИдентификаторПлатежа": "ЗК1707ТД000000280004",
	"ОсобыеУсловияПеревозки": false,
	"ОсобыеУсловияПеревозкиОписание": "",
	"НаправлениеДеятельности": "",
	"НаправлениеДеятельностиКод": "",
	"ПорядокОплаты": "Расчеты в рублях, оплата в рублях",
	"ТоварыНомерСтроки": [
		1,
		2
	],
	"ТоварыДатаОтгрузки": [
		"2017-07-16T00:00:00",
		"2017-07-16T00:00:00"
	],
	"ТоварыНоменклатура": [
		"Комбайн кухонный BINATONE FP 67",
		"Соковыжималка  BINATONE JE 102"
	],
	"ТоварыНоменклатураАртикул": [
		"КВ- 900",
		"СО-77777"
	],
	"ТоварыНоменклатураКодНомер": [
		"000000057  ",
		"000000090  "
	],
	"ТоварыХарактеристика": [
		"",
		""
	],
	"ТоварыХарактеристикаКодНомер": [
		"",
		""
	],
	"ТоварыУпаковка": [
		"шт (1 шт)",
		"шт (1 шт)"
	],
	"ТоварыУпаковкаКодНомер": [
		"    ",
		"    "
	],
	"ТоварыКоличествоУпаковок": [
		3,
		1
	],
	"ТоварыКоличество": [
		3,
		1
	],
	"ТоварыВидЦены": [
		"Оптовая",
		"Оптовая"
	],
	"ТоварыВидЦеныКодНомер": [
		"",
		""
	],
	"ТоварыЦена": [
		6750,
		6750
	],
	"ТоварыСумма": [
		20250,
		6750
	],
	"ТоварыСтавкаНДС": [
		"18%",
		"18%"
	],
	"ТоварыСуммаНДС": [
		3088.98,
		1029.66
	],
	"ТоварыСуммаСНДС": [
		20250,
		6750
	],
	"ТоварыПроцентРучнойСкидки": [
		0,
		0
	],
	"ТоварыСуммаРучнойСкидки": [
		0,
		0
	],
	"ТоварыПроцентАвтоматическойСкидки": [
		0,
		0
	],
	"ТоварыСуммаАвтоматическойСкидки": [
		0,
		0
	],
	"ТоварыПричинаОтмены": [
		"",
		""
	],
	"ТоварыПричинаОтменыКодНомер": [
		"",
		""
	],
	"ТоварыКодСтроки": [
		1,
		6
	],
	"ТоварыОтменено": [
		false,
		false
	],
	"ТоварыКлючСвязи": [
		1,
		2
	],
	"ТоварыСклад": [
		"Центральный склад",
		"Центральный склад"
	],
	"ТоварыСкладКодНомер": [
		"",
		""
	],
	"ТоварыСрокПоставки": [
		0,
		0
	],
	"ТоварыСодержание": [
		"",
		""
	],
	"ТоварыСтатусУказанияСерий": [
		0,
		0
	],
	"ТоварыВариантОбеспечения": [
		"Обеспечивать обособленно",
		"Обеспечивать обособленно"
	],
	"ТоварыСерия": [
		"",
		""
	],
	"ТоварыСерияКодНомер": [
		"",
		""
	],
	"ТоварыНоменклатураНабора": [
		"",
		""
	],
	"ТоварыНоменклатураНабораАртикул": [
		"",
		""
	],
	"ТоварыНоменклатураНабораКодНомер": [
		"           ",
		"           "
	],
	"ТоварыХарактеристикаНабора": [
		"",
		""
	],
	"ТоварыХарактеристикаНабораКодНомер": [
		"",
		""
	],
	"ЭтапыГрафикаОплатыНомерСтроки": [
		1
	],
	"ЭтапыГрафикаОплатыВариантОплаты": [
		"Кредит (плановый)"
	],
	"ЭтапыГрафикаОплатыДатаПлатежа": [
		"2017-07-18T00:00:00"
	],
	"ЭтапыГрафикаОплатыПроцентПлатежа": [
		100
	],
	"ЭтапыГрафикаОплатыСуммаПлатежа": [
		27000
	],
	"ЭтапыГрафикаОплатыПроцентЗалогаЗаТару": [
		100
	],
	"ЭтапыГрафикаОплатыСуммаЗалогаЗаТару": [
		0
	],
	"ЭтапыГрафикаОплатыСуммаОтклоненияМерныхТоваров": [
		0
	],
	"ЭтапыГрафикаОплатыСдвиг": [
		0
	],
	"СкидкиНаценкиНомерСтроки": [],
	"СкидкиНаценкиКлючСвязи": [],
	"СкидкиНаценкиСкидкаНаценка": [],
	"СкидкиНаценкиСумма": [],
	"СкидкиНаценкиНапомнитьПозже": [],
	"ДополнительныеРеквизитыНомерСтроки": [],
	"ДополнительныеРеквизитыСвойство": [],
	"ДополнительныеРеквизитыЗначение": [],
	"ДополнительныеРеквизитыТекстоваяСтрока": [],
	"ВыполнилВыгрузку": "Орлов Александр Владимирович"
}

 

JSON

См. также

SALE! 20%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен и синхронизацию в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

27660 руб.

12.06.2017    144503    839    297    

433

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.88.x) и УТ 11.5 (11.5.20.x), также подходят для релиза 11.5 (11.5.19.x).

35000 руб.

23.07.2020    54815    245    73    

199

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой

55778 50200 руб.

15.04.2019    73507    193    154    

130

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

53111 47800 руб.

03.12.2020    37800    103    69    

98

SALE! 10%

Перенос данных 1C Взаиморасчеты Оптовая торговля Логистика, склад и ТМЦ Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Управленческий учет Платные (руб)

Можно проверить до покупки, оставьте заявку! Воспользовались более 268 компаний! Перенос данных из УТ 10.3 в УТ 11 | из УТ 10.3 в КА 2 | из УТ 10.3 в ERP. Предлагаем качественное и проверенное временем решение для перехода с УТ 10.3. Можно перенести начальные остатки, нормативно-справочную информацию и все возможные документы. При выгрузке можно установить отбор по периоду, организациям и складам. При выходе новых релизов конфигураций 1C оперативно выпускаем обновление переноса данных.

55778 50200 руб.

24.04.2015    196708    157    244    

287

SALE! 10%

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена | Можно выполнить переход с УПП на БП 3 или запускать выгрузку данных за выбранный период времени | Переносятся документы, начальные остатки и вся справочная информация | Есть фильтр по организации и множество других параметров выгрузки | Поддерживается несколько сценариев работы: как первичный полный перенос, так и перенос только новых документов | Перенос данных возможен в "1С: Бухгалтерия 3.0" версии ПРОФ, КОРП или базовую | Переход с "1С: УПП1.3" / "1С:КА 1.1" на "1С:БП3.0" с помощью правил конвертации будет максимально комфортным! | Можно бесплатно проверить перенос на вашем сервере!

48278 43450 руб.

25.02.2015    172613    310    260    

386

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Системный администратор Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.240.x) и БП 3.0 (3.0.169.x). Правила подходят для версии ПРОФ и КОРП.

35000 руб.

15.12.2021    25469    180    52    

138

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 1С:Управление производственным предприятием 1С:ERP Управление предприятием 2 Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:ERP Управление предприятием 2.5 и 1С:Комплексную автоматизацию 2.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.240.x), ERP 2.5 (2.5.20.x), КА 2.5 (2.5.20.x), также подходят для релиза ERP 2.5 (2.5.19.x), КА 2.5 (2.5.19.x).

35000 руб.

24.06.2020    64512    80    28    

92
Отзывы
1. ArchLord42 83 21.06.19 09:44 Сейчас в теме
На что готовы люди, только лишь бы не читать справку, вот же давно (с 8.3.7) имеется из коробки это вот все.

http://v8.1c.ru/o7/201501json/index.htm
simuljakr; dsdred; baracuda; Alexs_7574; spawn_a; user1507791; bugagashenka; Dmitri93; RFP; rozer; CyberCerber; wowik; Yashazz; BESL; mnemchinov; Xershi; DarkAn; RustIG; Поручик; Teut_Vlad; awk; magvay_k; +22 1 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ArchLord42 83 21.06.19 09:44 Сейчас в теме
На что готовы люди, только лишь бы не читать справку, вот же давно (с 8.3.7) имеется из коробки это вот все.

http://v8.1c.ru/o7/201501json/index.htm
simuljakr; dsdred; baracuda; Alexs_7574; spawn_a; user1507791; bugagashenka; Dmitri93; RFP; rozer; CyberCerber; wowik; Yashazz; BESL; mnemchinov; Xershi; DarkAn; RustIG; Поручик; Teut_Vlad; awk; magvay_k; +22 1 Ответить
2. Teut_Vlad 192 21.06.19 10:21 Сейчас в теме
(1) обновил)
только возможностей для манипуляций стало меньше
3. RustIG 1836 21.06.19 11:08 Сейчас в теме
(1)"читать справку" ?
а сами прислали заметки из зазеркалья....

за ссылку спасибо!
alexandr_astafiev; +1 Ответить
4. ArchLord42 83 21.06.19 11:55 Сейчас в теме
(3) если что урл зазеркалья https://wonderland.v8.1c.ru/

Upd: это старое зазеркалье да, но в справке тоже есть это, только не так обширнл описано
Teut_Vlad; +1 Ответить
5. 🅵🅾️🆇 525 21.06.19 12:46 Сейчас в теме
Если что, СериализаторXDTO - не то что от вас будут ожидать в большинстве случаев.

Если с кемт интегрируетесь, лучше действовать через стандартную сериализацию, а для ссылок и сложных объектов там в конструкторе можно указать функцию преобразования в примитивы.
6. Teut_Vlad 192 21.06.19 12:57 Сейчас в теме
7. 🅵🅾️🆇 525 21.06.19 12:59 Сейчас в теме
(6)
Вот вам пример)

Функция СериализоватьJSON(Данные, ФункцияПреобразования = "БыстроJSON") Экспорт
    ЗаписьJSON                                              = Новый ЗаписьJSON;
    ЗаписьJSON.УстановитьСтроку();
    НастройкиСериализации                                   = Новый НастройкиСериализацииJSON();
    НастройкиСериализации.СериализовыватьМассивыКакОбъекты  = Ложь;
	НастройкиСериализации.ФорматСериализацииДаты            = ФорматДатыJSON.ISO;
	НастройкиСериализации.ВариантЗаписиДаты                 = ВариантЗаписиДатыJSON.ЛокальнаяДата; // ВариантЗаписиДатыJSON.ЛокальнаяДатаСоСмещением;	
    ЗаписатьJSON(ЗаписьJSON, Данные, НастройкиСериализации, ФункцияПреобразования, веб_сериализация);
    Возврат ЗаписьJSON.Закрыть();
КонецФункции // СериализоватьJSON()
//************************************************************
Функция БыстроJSON(Знач Свойство, Значение, ДополнительныеПараметры, Отказ) Экспорт
	
	// Таблица значений
	Если ТипЗнч(Значение) = Тип("ТаблицаЗначений") Тогда
		/// TODO: преобразовывать ссылки из таблицы значений одним запросом, чтоб снизить количество обращений к базе данных.
		/// ...
			
		// Переведем названия колонок на латиницу
		Для Каждого Колонка Из Значение.Колонки Цикл
			matchingFieldNames  = веб_заявки_повт.matchingFieldNames(, Истина);
			ИмяЛат              = matchingFieldNames[НРег(Колонка.Имя)]; 
			Колонка.Имя         = ?(ИмяЛат=Неопределено, Колонка.Имя, ИмяЛат);			
		КонецЦикла;
		
		// Преобразуем в массив структур
		Возврат ОбщегоНазначения.ТаблицаЗначенийВМассив(Значение);		
	КонецЕсли;
	
	Возврат XMLСтрока(Значение);
КонецФункции // БыстроJSON()
Показать
CyberCerber; AlexBober78; mvxyz; Teut_Vlad; +4 Ответить
8. 🅵🅾️🆇 525 21.06.19 15:26 Сейчас в теме
(7)
Ссылки, например, можете отдавать в виде структур, в которых фигурируют данные из XMLСтрока() и Метаданные()

Для справочников, дополнительно код, для документов - номер и дату.

Ну и тд и тп.
9. Yashazz 4809 23.06.19 18:34 Сейчас в теме
Мда, ценность публикации ниже плинтуса.

А ещё есть CommerceML )))

А автору советую поизучать десериализацию дат, там неслабые грабли на самом деле спрятаны.
CyberCerber; acanta; +2 Ответить
11. Teut_Vlad 192 24.06.19 10:54 Сейчас в теме
(9) нужна была выгрузка на сайт.
1) Принимающая сторона из всех вариантов выбрала мой. Через получение структуры документов и сериализации каждого реквизита отдельно. Да в 99% случаев такой способ менее подходит чем типовые.

2) В процессе гуглинга и поиске на инфостарте про JSON маловато информации. Хотелось запустить тему, устроить holywar. Что бы новички натыкались на эту тему, и черпали для себя новую полезную информацию, в т. ч. и я.
MrFlanker; Bob_Sid; Rasdag; grig_nv; +4 Ответить
10. Светлый ум 454 24.06.19 09:34 Сейчас в теме
Зато комментарии про сериализацию, дадут пищу для размышления многим. Польза есть всегда.
Bene_Valete; Eleepod; ErshKUS; CyberCerber; Teut_Vlad; +5 Ответить
12. Yashazz 4809 26.06.19 17:13 Сейчас в теме
(10) Следуя вашей логике, я могу замутить любой срач, опубликовав любую хрень, и потом отмазываться полезностью комментов, написанных более квалифицированными специалистами. Не смешно.
user645801_yyyuuu123q; +1 1 Ответить
13. Teut_Vlad 192 26.06.19 17:20 Сейчас в теме
(12) вы всех так достаете, или я чем то выделился?)
моя публикация попадет в топ 10 на инфостарте, по бессмысленности?)
14. Yashazz 4809 26.06.19 18:40 Сейчас в теме
(13) Не переводите на личности. По сути моего вопроса есть что ответить? Что делать публикации только ради комментов - это правильно?
15. e.budaev 10.07.19 11:22 Сейчас в теме
Табличную часть структуры по другому лучше формировать, н-р:

ТаблицаЗнач = Объект[ТабличнаяЧасть.Имя].Выгрузить();
		МассивТабЧасти = Новый Массив;
		Для Каждого СтрТЗ Из ТаблицаЗнач Цикл
			СтруктураСтр = Новый Структура;
			Для Каждого Колонка Из ТаблицаЗнач.Колонки Цикл
				Если ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Число") ИЛИ ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Дата") ИЛИ ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Булево") тогда
					СтруктураСтр.Вставить(Колонка.Имя, СтрТЗ[Колонка.Имя]);
				Иначе
					СтруктураСтр.Вставить(Колонка.Имя, Строка(СтрТЗ[Колонка.Имя]));
				КонецЕсли;
				
				Если НЕ СтрТЗ[Колонка.Имя] = Неопределено и Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(СтрТЗ[Колонка.Имя])) тогда
					СтруктураСтр.Вставить(Колонка.Имя+"Код", СтрТЗ[Колонка.Имя].Код);
				ИначеЕсли НЕ СтрТЗ[Колонка.Имя] = Неопределено и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(СтрТЗ[Колонка.Имя])) тогда
					СтруктураСтр.Вставить(Колонка.Имя+"Номер", СтрТЗ[Колонка.Имя].Номер);
				КонецЕсли;
			КонецЦикла;
			МассивТабЧасти.Добавить(СтруктураСтр);
		КонецЦикла;
		Структура.Вставить(ТабличнаяЧасть.Имя, МассивТабЧасти);
Показать
nayd; Teut_Vlad; +2 Ответить
16. tolyan_ekb 80 03.02.21 20:19 Сейчас в теме
ТипСсылки = ЭтоСправочникИлиДокумент(); где описание этой функции?
Bob_Sid; user1798793; +2 Ответить
17. spawn_a 55 25.04.21 15:03 Сейчас в теме
Если нужно выгрузить не только идентификаторы объектов, а дополнительную информацию:
Запрос=Новый Запрос("ВЫБРАТЬ * ИЗ Документ."+СсылкаНаДокумент.Метаданные().Имя+" ГДЕ Ссылка=&Ссылка";
Запрос.УстановитьПараметр("Ссылка", СсылкаНаДокумент);
JSON=ОбъектВСтрокуJSON(ОбщегоНазначения.ТаблицаЗначенийВМассив(Запрос.Выполнить().Выгрузить()));

Универсальная функция сериализации:
Функция ОбъектВСтрокуJSON(Объект)

Кусок результата:
[
{
"Ссылка": {
"Идентификатор": "74dfa437-9eb9-11eb-a2a1-ac1f6b67576f",
"ИмяТипа": "Документ.ВедомостьНаВыплатуЗарплатыВБанк",
"Представление": "Ведомость в банк 0006-000228 от 16.04.2021",
"Дата": "2021-04-16T16:41:34",
"Номер": "0006-000228"
},
"ВерсияДанных": "AAAABAAAAAA=",
"ПометкаУдаления": false,
"Номер": "0006-000228",
"Дата": "2021-04-16T16:41:34",
"Проведен": true,
"ПериодРегистрации": "2021-04-01T00:00:00",
Cryless; simuljakr; +2 Ответить
18. user1543721 26.04.21 11:09 Сейчас в теме
Понимаю что борзею, но можно теперь обработку для загрузки JSON обратно в 1с в виде документа?
20. Teut_Vlad 192 21.09.21 16:58 Сейчас в теме
(18) чем вам Выгрузка загрузка XML не подходит
В этой обработке я выгружаю на сайт, там какие то требования к видам данных
19. Octopus 339 17.09.21 07:38 Сейчас в теме
Если уж делать свой велосипед по выгрузке, то стоит учесть:
1) реквизиты составных типов;
2) реквизиты типа перечисления, бизнес-процессы, задачи и ПВХ.

Ну и код причесать, установку значения в структуре вынести в отдельную процедуру
21. Teut_Vlad 192 21.09.21 17:00 Сейчас в теме
(19) Обработка делалась для выгрузки на сайт, в вашем случае я должен получать и обрабатывать ссылку 1С. Зачем человеку делавшему загрузку на сайт, этот набор символов
22. lev6975 20.11.21 14:31 Сейчас в теме
Пупупупу... хотел устроить нетиповой обмен между нетиповой бухой и нетиповой зарплатой на Json, но глянул... по трудоемкости то же самое что пилить свой с нуля, или освоить КД, переработав стандартные правила... Доки содержат ссылочные типы, те, в свою очередь, ТЧ, в которых еще типы, еще ТЧ, вложенность многоуровневейшая... А тащить нужно не как здесь - только названия, а вообще все - все - все и на конце преобразовывать в типы базы приемника, проверять анализировать, есть ли такие объекты уже, не поменялись ли свойства этих объектов, принимать решение о замене объектов или свойств объектов... короче, сэкономить не выйдет)))
Светлый ум; Teut_Vlad; +2 Ответить
23. Aleram 17.07.24 17:01 Сейчас в теме
Подскажите, в 1С:КА 1.1 будет работать?
24. Aleram 17.07.24 17:07 Сейчас в теме
25. alexandr_astafiev 68 17.02.25 20:10 Сейчас в теме
Алгоритм ругается на строку:
ЗаписиJSON.ОткрытьФайл(ИмяФайлаОтправки,,, Новый ПараметрыЗаписиJSON(, Символы.Таб));
Выходит сообщение что каталог не обнаружен. Хотя доступ есть и он полный. Перепробовал несколько мест на компе - бесполезно.
Сам файл перед началом обработки отсутствует, он должен создаться при записи. Или его нужно сначала самому заранее создать?
Оставьте свое сообщение