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