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

05.12.23

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

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

Скачать файлы

Наименование Файл Версия Размер
Обработка выгрузки в JSON, обычные формы:
.epf 8,15Kb
15
.epf 8,15Kb 15 Скачать
Документы и Справочники в JSON, управляемые формы:
.epf 7,79Kb
53
.epf 7,79Kb 53 Скачать

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

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

&НаСервере
функция ПолучитьСтруктуру(знач Объект)
	Структура = Новый Структура(); /// реквизиты     
	Для каждого Реквизит из Объект.Метаданные().СтандартныеРеквизиты Цикл
		Если ТипЗнч(Объект[Реквизит.Имя]) = тип("Число") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Дата") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Булево") тогда
			Структура.Вставить(Реквизит.Имя, Объект[Реквизит.Имя]);
		иначе
			Структура.Вставить(Реквизит.Имя, Строка(Объект[Реквизит.Имя]));
		КонецЕсли;
	КонецЦикла; 
	
	Для каждого Реквизит из Объект.Метаданные().Реквизиты Цикл
		Если ТипЗнч(Объект[Реквизит.Имя]) = тип("Число") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Дата") ИЛИ ТипЗнч(Объект[Реквизит.Имя]) = тип("Булево") тогда
			Структура.Вставить(Реквизит.Имя, Объект[Реквизит.Имя]);
		иначе
			Структура.Вставить(Реквизит.Имя, Строка(Объект[Реквизит.Имя]));
		КонецЕсли;
		Если  ТипЗнч(Объект[Реквизит.Имя]) = тип("СправочникСсылка.Организации") ИЛИ ТипЗнч(Объект[Реквизит.Имя])  = тип("СправочникСсылка.Контрагенты") тогда
			Структура.Вставить(Реквизит.Имя+"ИНН", Объект[Реквизит.Имя].ИНН);
			Структура.Вставить(Реквизит.Имя+"КПП", Объект[Реквизит.Имя].КПП);
		КонецЕсли;
		//т.к. код или номер объекта для индефикации
		Если НЕ Объект[Реквизит.Имя] = Неопределено и Справочники.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект[Реквизит.Имя])) тогда
			Структура.Вставить(Реквизит.Имя+"Код", Объект[Реквизит.Имя].Код);
		ИначеЕсли НЕ Объект[Реквизит.Имя] = Неопределено и Документы.ТипВсеСсылки().СодержитТип(ТипЗнч(Объект[Реквизит.Имя])) тогда
			Структура.Вставить(Реквизит.Имя+"Номер", Объект[Реквизит.Имя].Номер);
		КонецЕсли;
	КонецЦикла;    
	
	Для каждого ТабличнаяЧасть из Объект.Метаданные().ТабличныеЧасти Цикл
		//вариант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! 10%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

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

25080 руб.

12.06.2017    134597    718    291    

387

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

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

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

28000 руб.

15.12.2021    20086    132    38    

90

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3

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

Обработка позволяет не только перенести все документы, справочную информацию и начальные остатки из ERP 2 или КА 2 в ЗУП 3, но и организовать регулярный перенос данных между программами 1С:ERP 2 / КА 2 и 1С:ЗУП 3. Вы можете выбрать период отбора данных и установить фильтр по организациям, чтобы выгружать только необходимую информацию. Более того, перенос оперативно обновляется при выходе новых релизов программы 1С, так что вы всегда будете иметь самую актуальную версию обработки.

48278 43450 руб.

03.12.2020    34032    80    57    

78

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0

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

Перенос позволяет настроить собственный обмен данными между указанными программами, альтернативный предлагаемому фирмой 1С. Перенос данных осуществляется из 1С:ERP 2 / 1С:КА 2 / 1С:УТ 11 в 1С:БП 3.0. Правила обмена оперативно обновляются при выходе новых релизов программы 1С, так что вы всегда будете иметь самую актуальную версию обработки.

38500 34650 руб.

15.04.2019    68191    176    136    

108

Перенос данных из Парус 10 в ЗГУ ред.3

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    9155    9    8    

10

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

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

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

28000 руб.

23.07.2020    46019    194    64    

153

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6

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

Обработка позволяет начать вести учет в программе "1С:Управление нашей фирмой" редакции 3.0 или 1.6, то есть перенести в нее из существующей базы "1С:Бухгалтерия предприятия, ред. 3.0" начальные остатки на выбранную дату, документы за период времени и также всю необходимую справочную информацию. По вашему запросу мы можем бесплатно добавить в правила переноса дополнительные виды объектов (например, новые виды документов). Обработка по переходу на новую программу 1С включает в себя правила конвертации в формате XML, обработку для выгрузки и загрузки данных, а также инструкцию по работе.

50722 45650 руб.

10.07.2018    67266    41    118    

46

Загрузка номенклатуры c картинками (несколько потоков одновременно) и сопутствующими данными в базу и любые документы из yml, xls, xlsx, xlsm, ods, ots, csv для УТ 10.3, УТ 11 (все), БП 3, КА 2, ERP 2, УНФ 1.6/3.0, Розница 2

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

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 11.12.2023, версия 9.5 - 9.9)

13200 руб.

20.11.2015    150379    365    375    

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

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

http://v8.1c.ru/o7/201501json/index.htm
dsdred; baracuda; Alexs_7574; spawn_a; user1507791; buganov; Dmitri93; RFP; rozer; CyberCerber; wowik; Yashazz; BESL; mnemchinov; Xershi; DarkAn; RustIG; Поручик; Teut_Vlad; awk; magvay_k; +21 Ответить
2. Teut_Vlad 178 21.06.19 10:21 Сейчас в теме
(1) обновил)
только возможностей для манипуляций стало меньше
3. RustIG 1301 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. 🅵🅾️🆇 522 21.06.19 12:46 Сейчас в теме
Если что, СериализаторXDTO - не то что от вас будут ожидать в большинстве случаев.

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

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

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

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

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

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

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

Ну и код причесать, установку значения в структуре вынести в отдельную процедуру
21. Teut_Vlad 178 21.09.21 17:00 Сейчас в теме
(19) Обработка делалась для выгрузки на сайт, в вашем случае я должен получать и обрабатывать ссылку 1С. Зачем человеку делавшему загрузку на сайт, этот набор символов
22. lev6975 20.11.21 14:31 Сейчас в теме
Пупупупу... хотел устроить нетиповой обмен между нетиповой бухой и нетиповой зарплатой на Json, но глянул... по трудоемкости то же самое что пилить свой с нуля, или освоить КД, переработав стандартные правила... Доки содержат ссылочные типы, те, в свою очередь, ТЧ, в которых еще типы, еще ТЧ, вложенность многоуровневейшая... А тащить нужно не как здесь - только названия, а вообще все - все - все и на конце преобразовывать в типы базы приемника, проверять анализировать, есть ли такие объекты уже, не поменялись ли свойства этих объектов, принимать решение о замене объектов или свойств объектов... короче, сэкономить не выйдет)))
Светлый ум; Teut_Vlad; +2 Ответить
Оставьте свое сообщение