Имя: Пароль:
1C
1С v8
Пргограммное удаление XML файла.
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): Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.
Как этот файл нужно закрыть, чтобы он удалился ?
1 arsik
 
гуру
04.07.22
13:43
ЧтениеТекста.Закрыть()
2 Azgerd
 
04.07.22
13:48
(1) Спасибо !