УдалитьФайл (БСП)

Автор: 1С
ОбщийМодуль.ФайлыОбластейДанных
БСП

Удалить файл. Удалить файл из информационной базы

// Удалить файл из информационной базы
//
// Параметры:
//  ИдентификаторФайла - УникальныйИдентификатор -  идентификатор удаляемого файла.
//  УдалятьЕслиНаДиске - Булево - Если Ложь и хранение на диске, регистрируется как временный и с диска не удаляется.
//
// Возвращаемое значение:
//  Булево - Успешность удаления.
//
Функция УдалитьФайл(Знач ИдентификаторФайла, Знач УдалятьЕслиНаДиске = Истина) Экспорт
	
    Словарь = ФайлыОбластейДанныхСловарь;
    УстановитьПривилегированныйРежим(Истина);
	НачатьТранзакцию();
	Попытка
		БлокироватьЗаписьОФайлеВРегистре(ИдентификаторФайла);
		Запись = РегистрыСведений.ФайлыОбластейДанных.СоздатьМенеджерЗаписи();
		Запись.Идентификатор = ИдентификаторФайла;
		Запись.Прочитать();
		Если Не Запись.Выбран() Тогда
			ОтменитьТранзакцию();
			ЗаписьЖурналаРегистрации(СтрШаблон("%1.%2", Словарь.КорневоеСобытие(), Словарь.УдалениеФайлаИзХранилища()), 
				УровеньЖурналаРегистрации.Ошибка,,,
				СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
					Словарь.ФайлНеНайденПоИдентификатору(), ИдентификаторФайла));
			Возврат Ложь;
		КонецЕсли;
		// Имя файла для удаления в случае дискового хранения.
		ПолноеИмя = ?(Запись.ХранитьНаДиске, РаботаСФайламиСлужебный.ПолныйПутьТома(Запись.ТомНаДиске) + Запись.ПутьКФайлу, "");
		// Удалить запись из регистра.
		Запись.Удалить();
		ЗафиксироватьТранзакцию();
	Исключение
		ОтменитьТранзакцию();
		ЗаписьЖурналаРегистрации(СтрШаблон("%1.%2", Словарь.КорневоеСобытие(), Словарь.УдалениеФайлаИзХранилища()), 
            УровеньЖурналаРегистрации.Ошибка,,, 
            ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		ВызватьИсключение;
	КонецПопытки;
	Если Не ПустаяСтрока(ПолноеИмя) Тогда // Хранение на диске.
		УдалитьФайлТома(ПолноеИмя);
	КонецЕсли;
	Возврат Истина;
	
КонецФункции

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

УдалитьФайлИзРабочегоКаталога (БСП)

УдалитьВременныйФайл (БСП)

УдалитьИзРегистра (БСП)

УдалитьПоставляемыеДанныеИзКэша (БСП)

УдалитьФайлИзРабочегоКаталогаПослеУдаленияФайла (БСП)

УдалитьНеактуальныеСообщенияОбмена (БСП)

УдалитьКэшПоставляемыхКлассификаторов (БСП)

УдалитьЗаписьИзРегистраДвоичныеДанныеФайлов (БСП)

Обновлятор-1С: групповое (пакетное) обновление и обслуживание всех баз за один раз