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

05.12.23

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

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

Скачать файл

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

Наименование По подписке [?] Купить один файл
Обработка выгрузки в JSON, обычные формы:
.epf 8,15Kb
18
18 Скачать (3 SM) Купить за 2 450 руб.
Документы и Справочники в JSON, управляемые формы:
.epf 7,79Kb
62
62 Скачать (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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 22338 руб.

12.06.2017    141513    798    297    

419

SALE! 10%

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

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

35000 31500 руб.

15.12.2021    24016    169    51    

127

SALE! 10%

Перенос данных 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.19.x).

35000 31500 руб.

23.07.2020    51244    228    69    

185

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    36585    94    66    

89

SALE! 10%

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

Правила переноса кадровых и расчетных данных и справочной информации из "1С:УПП1.3" или "1С:КА 1.1" в "1С:ЗУП 3.1 | Разработан в формате КД 2 (правила конвертации данных) | При выгрузке есть фильтр по организациям | Обновляется при выходе новых релизов 1С | Развитие алгоритмов | Расчетные документы переносятся в документ "Перенос данных" | Создаются документы "Начальная штатная расстановка" и "Начальная задолженность по зарплате", переносятся кадровые документы

55778 50200 руб.

29.10.2018    56207    59    105    

61

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    171172    303    257    

378

SALE! 15%

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

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 13005 руб.

18.02.2016    186875    589    509    

526

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    194975    150    243    

280
Отзывы
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. 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 Ответить
2. Teut_Vlad 191 21.06.19 10:21 Сейчас в теме
(1) обновил)
только возможностей для манипуляций стало меньше
3. RustIG 1747 21.06.19 11:08 Сейчас в теме
(1)"читать справку" ?
а сами прислали заметки из зазеркалья....

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

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

Если с кемт интегрируетесь, лучше действовать через стандартную сериализацию, а для ссылок и сложных объектов там в конструкторе можно указать функцию преобразования в примитивы.
6. Teut_Vlad 191 21.06.19 12:57 Сейчас в теме
7. 🅵🅾️🆇 524 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. 🅵🅾️🆇 524 21.06.19 15:26 Сейчас в теме
(7)
Ссылки, например, можете отдавать в виде структур, в которых фигурируют данные из XMLСтрока() и Метаданные()

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

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

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

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

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

ТаблицаЗнач = Объект[ТабличнаяЧасть.Имя].Выгрузить();
		МассивТабЧасти = Новый Массив;
		Для Каждого СтрТЗ Из ТаблицаЗнач Цикл
			СтруктураСтр = Новый Структура;
			Для Каждого Колонка Из ТаблицаЗнач.Колонки Цикл
				Если ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Число") ИЛИ ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Дата") ИЛИ ТипЗнч(СтрТЗ[Колонка.Имя]) = тип("Булево") тогда
					СтруктураСтр.Вставить(Колонка.Имя, СтрТЗ[Колонка.Имя]);
				Иначе
					СтруктураСтр.Вставить(Колонка.Имя, Строка(СтрТЗ[Колонка.Имя]));
				КонецЕсли;
				
				Если НЕ СтрТЗ[Колонка.Имя] = Неопределено и Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(СтрТЗ[Колонка.Имя])) тогда
					СтруктураСтр.Вставить(Колонка.Имя+"Код", СтрТЗ[Колонка.Имя].Код);
				ИначеЕсли НЕ СтрТЗ[Колонка.Имя] = Неопределено и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(СтрТЗ[Колонка.Имя])) тогда
					СтруктураСтр.Вставить(Колонка.Имя+"Номер", СтрТЗ[Колонка.Имя].Номер);
				КонецЕсли;
			КонецЦикла;
			МассивТабЧасти.Добавить(СтруктураСтр);
		КонецЦикла;
		Структура.Вставить(ТабличнаяЧасть.Имя, МассивТабЧасти);
Показать
Teut_Vlad; +1 Ответить
16. tolyan_ekb 105 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",
simuljakr; +1 Ответить
18. user1543721 26.04.21 11:09 Сейчас в теме
Понимаю что борзею, но можно теперь обработку для загрузки JSON обратно в 1с в виде документа?
20. Teut_Vlad 191 21.09.21 16:58 Сейчас в теме
(18) чем вам Выгрузка загрузка XML не подходит
В этой обработке я выгружаю на сайт, там какие то требования к видам данных
19. Octopus 338 17.09.21 07:38 Сейчас в теме
Если уж делать свой велосипед по выгрузке, то стоит учесть:
1) реквизиты составных типов;
2) реквизиты типа перечисления, бизнес-процессы, задачи и ПВХ.

Ну и код причесать, установку значения в структуре вынести в отдельную процедуру
21. Teut_Vlad 191 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 Сейчас в теме
Оставьте свое сообщение