0
Azgerd
04.07.22
✎
13:38
|
Здравствуйте! Есть процедура загрузки данных из 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): Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
Как этот файл нужно закрыть, чтобы он удалился ?
|
|