Распаковка zip из временного хранилища, в котором еще один зип в временный файл

1. VoVo 12.12.22 13:11 Сейчас в теме
Здравствуйте, поместил во временное хранилище zip архив, в котором еше один зип архив, теперь пытаюсь его извлечь(втрой архив из первого для передачи в процедуру обработки где уже второй архив извлекается и с ним работа идет). Дает ошибку в исключение и не читает zip. Код обработки на скрине с отладкой
	ДанныеФайла = ПолучитьИзВременногоХранилища(АдресФайла);  //зип из хранилища
	КаталогОбновлений = ФайловаяСистема.СоздатьВременныйКаталог(
	Строка(Новый УникальныйИдентификатор));
	//ФайлыКлассификаторов = ПолучитьИмяВременногоФайла(".zip");                                                          //помещение во временный файл для извлечения
															  
	ФайлыКлассификаторов = ПолучитьИмяВременногоФайла(".zip");
	ДанныеФайла.Записать(ФайлыКлассификаторов);
	
	ЧтениеZipФайла = Новый ЧтениеZipФайла(ФайлыКлассификаторов);
	ЧтениеZipФайла.ИзвлечьВсе(КаталогОбновлений);
	
	Обработки.ЗагрузкаКлассификатораБанков.ЗагрузитьДанныеИзФайла_Новый(КаталогОбновлений);
Показать
Прикрепленные файлы:
Найденные решения
2. RustamZz 12.12.22 13:15 Сейчас в теме
(1)Слеш в конце имени файла означает, что это папка (каталог)
6. Sashares 35 12.12.22 13:19 Сейчас в теме
(4)
Примерно так

Архив = Новый ЧтениеZipФайла(ФайлыКлассификаторов);
			
			Для Каждого ТекЭлемент Из Архив.Элементы Цикл
				ТекРасширение = НРег(ТекЭлемент.Расширение);
				Если ТекРасширение = "zip" Тогда
					
										
					Архив.Извлечь(ТекЭлемент, КаталогОбновлений);
					ИмяФайла = ТекЭлемент.Имя;
					
					ПолныйПуть = КаталогОбновлений +ИмяФайла;

					Прервать;
				КонецЕсли;
			КонецЦикла;
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. RustamZz 12.12.22 13:15 Сейчас в теме
(1)Слеш в конце имени файла означает, что это папка (каталог)
4. VoVo 12.12.22 13:17 Сейчас в теме
(2)Т.е. из временного каталога нужно еще и временный файл получить, так вроде. С файлами мало работал.
5. beldieff 12.12.22 13:18 Сейчас в теме
(4)
Т.е. из временного каталога нужно еще и временный файл получить, так вроде.

ФайлыКлассификаторов
вот же путь к файлу
6. Sashares 35 12.12.22 13:19 Сейчас в теме
(4)
Примерно так

Архив = Новый ЧтениеZipФайла(ФайлыКлассификаторов);
			
			Для Каждого ТекЭлемент Из Архив.Элементы Цикл
				ТекРасширение = НРег(ТекЭлемент.Расширение);
				Если ТекРасширение = "zip" Тогда
					
										
					Архив.Извлечь(ТекЭлемент, КаталогОбновлений);
					ИмяФайла = ТекЭлемент.Имя;
					
					ПолныйПуть = КаталогОбновлений +ИмяФайла;

					Прервать;
				КонецЕсли;
			КонецЦикла;
Показать
7. VoVo 12.12.22 13:34 Сейчас в теме
(6)
Архив = Новый ЧтениеZipФайла(ФайлыКлассификаторов);

Для Каждого ТекЭлемент Из Архив.Элементы Цикл
ТекРасширение = НРег(ТекЭлемент.Расширение);
Если ТекРасширение = "zip" Тогда


Архив.Извлечь(ТекЭлемент, КаталогОбновлений);
ИмяФайла = ТекЭлемент.Имя;

ПолныйПуть = КаталогОбновлений +ИмяФайла;

Прервать;
КонецЕсли;
КонецЦикла;
Показать

Спасибо сработало
3. Sashares 35 12.12.22 13:16 Сейчас в теме
(1)Потому что надо передать в обработку путь к файлу, а у вас путь к каталогу передается.
Оставьте свое сообщение

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