Программное удаление XML файла

1. Azgerd 04.07.22 13:44 Сейчас в теме
Здравствуйте! Есть процедура загрузки данных из XML - файла, после загрузки данных этот файл необходимо удалить.
Процедура ЗагрузкаДанных()
	ЧтениеТекста = Новый ЧтениеТекста(ИмяПути, КодировкаТекста.UTF8);
	СтрокаXML = ЧтениеТекста.Прочитать();
	СтрокаXML = СтрЗаменить(СтрокаXML, "<ВыгрузкаДокументов", "<ВыгрузкаДокументов xmlns=""http://localhost/testXML"" ");
	
	ЧтениеXML = Новый ЧтениеXML;
	ЧтениеXML.УстановитьСтроку(СтрокаXML);

	
	МассивДокументов = Новый Массив;
	ТипВыгрузкаВесовыхДокументовИС_XDTO = ФабрикаXDTO.Тип("http://localhost/testXML", "ВыгрузкаДокументов");
	ВыгрузкаВесовыхДокументовИС_XDTO = ФабрикаXDTO.ПрочитатьXML(ЧтениеXML, ТипВыгрузкаВесовыхДокументовИС_XDTO);
	
	Для Каждого ДокументXDTO Из ВыгрузкаДокументов_XDTO.ЭлементДокумент Цикл
		Документ = Новый Структура("ДатаДокумента, ВидДокумента, Подразделение, КонтрагентПолучатель, Склад, СкладПолучатель, Груз, Вес");
		Документ.ДатаДокумента =  СтроковыеФункцииКлиентСервер.СтрокаВДату(ДокументXDTO.ДатаДокумента);
		Документ.ВидДокумента = ДокументXDTO.ВидДокумента;
		Документ.Подразделение = ДокументXDTO.Подразделение;
		Документ.КонтрагентПолучатель = ДокументXDTO.КонтрагентПолучатель;
		Документ.Склад = ДокументXDTO.Склад;
		Документ.СкладПолучатель = ДокументXDTO.СкладПолучатель;
		Документ.Груз = ДокументXDTO.Груз;
		Документ.Вес = ДокументXDTO.Вес;
		МассивДокументов.Добавить(Документ);	
	КонецЦикла;	
	СоздатьДокументыОбмена(МассивДокументов);
	ЧтениеXML.Закрыть();
	УдалитьФайлы(ЛЕВ(ИмяПути,СтрНайти(ИмяПути,"\",,,СтрЧислоВхождений(ИмяПути,"\"))),"*.xml");
КонецПроцедуры	
Показать

После выполненияФ СоздатьДокументыОбмена(МассивДокументов) ругается на УдалитьФайлы():
Ошибка совместного доступа к файлу 'C:\1C_36\ВыгрузкаВ1С.xml'. 32(0x00000020): Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
Как этот файл нужно закрыть, чтобы он удалился ?
По теме из базы знаний
Найденные решения
2. spacecraft 04.07.22 13:49 Сейчас в теме
(1)
ЧтениеТекста = Новый ЧтениеТекста(ИмяПути, КодировкаТекста.UTF8);

Нет закрытия ЧтениеТекста
ЧтениеТекста.Закрыть();
dmbarchenkov; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. spacecraft 04.07.22 13:49 Сейчас в теме
(1)
ЧтениеТекста = Новый ЧтениеТекста(ИмяПути, КодировкаТекста.UTF8);

Нет закрытия ЧтениеТекста
ЧтениеТекста.Закрыть();
dmbarchenkov; +1 Ответить
3. Azgerd 04.07.22 13:51 Сейчас в теме
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот