1C выгрузка в XML

Автор: | 03.02.2022

Как выгрузить данные из 1С в файл XML с помощью XDTO

Продолжаем вместе с изучать 1С программирование. Сегодня речь пойдет про обмен данными между 1С и другими программами и сервисами. Вариантов реализовать подобный обмен очень много, но чаще всего прибегают к обмену с помощью выгрузки и загрузки данных из файла XML. Если Вы только начинаете изучать 1С то разобраться с выгрузкой и загрузкой данных из разных файлов очень важно. Как минимум вы должны уметь работать с файлами CSV, Excel, txt, XML, DBF. Для начала научимся выгружать данный в файл XML из 1С, например из справочника.

Выгрузка справочника в файл XML

Для примера я создам справочник «Номенклатура» и добавлю пару реквизитов «Расшифровка» и «Производитель», в итоге с учет стандартных их будет четыре. Вообще количество реквизитов в данном случае не важно, в любом случае они будут выгружаться все.

1C выгрузка в XML

Теперь создадим команду «Выгрузка в XML» и размести её в командной панели.

Как выгрузить данный в файл XML с помощью XDTO

Создадим обработчик команды с процедурой на клиенте и на сервере, и напишем следующий код. Если кратко то открываем файл XML, выбираем справочник, в цикле обходим его записи и записываем в файл, выводим сообщение. Если что-то в коде не понятно спрашивайте!

&НаСервере
Процедура ВыгрузитьВXMLНаСервере()
	// Вставить содержимое обработчика.
	НовыйСериализаторXDTO  = СериализаторXDTO;
	НоваяЗаписьXML = Новый ЗаписьXML();
	НоваяЗаписьXML.ОткрытьФайл("C:\Номенклатура.xml", "UTF-8");
	
	НоваяЗаписьXML.ЗаписатьОбъявлениеXML();
	НоваяЗаписьXML.ЗаписатьНачалоЭлемента("СправочникНоменклатура");
	
	Выборка = Справочники.Номенклатура.Выбрать();
	
	Пока Выборка.Следующий() Цикл 
		ОбъектНоменклатура = Выборка.ПолучитьОбъект();
		НовыйСериализаторXDTO.ЗаписатьXML(НоваяЗаписьXML, ОбъектНоменклатура, НазначениеТипаXML.Явное);
	КонецЦикла;
	
	НоваяЗаписьXML.ЗаписатьКонецЭлемента();
	НоваяЗаписьXML.Закрыть();	
	
	Сообщить("Выгрузка справочника Номенклатуры в файл XML успешно завершена!!!");
КонецПроцедуры

&НаКлиенте
Процедура ВыгрузитьВXML(Команда)
	ВыгрузитьВXMLНаСервере();
КонецПроцедуры

В итоге должен получиться вот такой код.

Выгрузка справочника в файл XML

Остается только проверить его работоспособность, запускаем 1С открываем справочник и нажимаем кнопку «Выгрузить в XML», если код отработал появиться сообщение.

1С Как сделать выгрузку данных в файл XML

Далее смотрим что у нас записалось в сам файл XML.

1С выгрузка данных в файл XML

Видим что все данные справочника успешно записались в файл. Теперь из него можно загружать их в другую система или в конфигурацию 1С в которой есть аналогичный справочник номенклатуры.

Кстати файл «Номенклатура.xml» должен быть создан и располагаться по указному пути в коде «C:\Номенклатура.xml». Если его там не будет или он будет иметь другое имя вы увидите ошибку «Ошибка доступа к файлу».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *