Удалить файл из рабочего каталога. Удалить с диска и из регистра сведений.
// Удалить с диска и из регистра сведений.
//
// Параметры:
// ОбработчикРезультата - ОписаниеОповещения, Неопределено - Описание процедуры, принимающей результат работы метода.
// Ссылка - СправочникСсылка.Файлы - файл.
// УдалитьВРабочемКаталоге - Булево - Удалить даже в рабочем каталоге.
//
// Возвращаемое значение:
// Структура - Результат удаления файла с диска и регистра сведений.
// * Успех - Булево - успешно ли выполнена операция.
//
Процедура УдалитьФайлИзРабочегоКаталога(ОбработчикРезультата, Ссылка, УдалитьВРабочемКаталоге = Ложь, ЗадаватьВопрос = Истина) Экспорт
ПараметрыВыполнения = Новый Структура;
ПараметрыВыполнения.Вставить("ОбработчикРезультата", ОбработчикРезультата);
ПараметрыВыполнения.Вставить("Ссылка", Ссылка);
ПараметрыВыполнения.Вставить("Успех", Ложь);
ПараметрыВыполнения.Вставить("ИмяКаталога", РабочийКаталогПользователя());
ПараметрыВыполнения.Вставить("ПолноеИмяФайлаИзРегистра", Неопределено);
ВРабочемКаталогеВладельца = Ложь;
ПараметрыВыполнения.ПолноеИмяФайлаИзРегистра = РаботаСФайламиСлужебныйВызовСервера.ПолучитьПолноеИмяФайлаИзРегистра(
ПараметрыВыполнения.Ссылка, ПараметрыВыполнения.ИмяКаталога, Ложь, ВРабочемКаталогеВладельца);
Если ПараметрыВыполнения.ПолноеИмяФайлаИзРегистра <> "" Тогда
// Обычно в рабочем каталоге не удаляем - только если передан УдалитьВРабочемКаталоге.
Если Не ВРабочемКаталогеВладельца ИЛИ УдалитьВРабочемКаталоге = Истина Тогда
ФайлНаДиске = Новый Файл(ПараметрыВыполнения.ПолноеИмяФайлаИзРегистра);
Если ФайлНаДиске.Существует() Тогда
ФайлНаДиске.УстановитьТолькоЧтение(Ложь);
ОбработчикЗавершения = Новый ОписаниеОповещения("УдалитьФайлИзРабочегоКаталогаПослеУдаленияФайла", ЭтотОбъект);
ЗарегистрироватьОбработчикЗавершения(ПараметрыВыполнения, ОбработчикЗавершения);
УдалитьФайл(ПараметрыВыполнения, ПараметрыВыполнения.ПолноеИмяФайлаИзРегистра, ЗадаватьВопрос);
Если ПараметрыВыполнения.АсинхронныйДиалог.Открыт = Истина Тогда
Возврат;
КонецЕсли;
УдалитьФайлИзРабочегоКаталогаПослеУдаленияФайла(
ПараметрыВыполнения.АсинхронныйДиалог.РезультатКогдаНеОткрыт, ПараметрыВыполнения);
Возврат;
КонецЕсли;
КонецЕсли;
КонецЕсли;
УдалитьФайлИзРабочегоКаталогаЗавершение(ПараметрыВыполнения);
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
УдалитьФайлИзРабочегоКаталогаПослеУдаленияФайла (БСП)
ПеренестиСодержимоеРабочегоКаталога (БСП)
КаталогФайлаПослеПолученияФайлаВРабочийКаталог (БСП)
ДанныеФайлаИРабочийКаталог (БСП)
ПолучитьПрисоединенныйФайл (БСП)
ПоместитьПрисоединенныйФайл (БСП)
ПолучитьПрисоединенныйФайлПослеПолученияРабочегоКаталога (БСП)
ПоместитьПрисоединенныйФайлПослеПолученияРабочегоКаталога (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)