ПередВыгрузкойОбъекта (БСП)

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

Перед выгрузкой объекта.

Процедура ПередВыгрузкойОбъекта(Контейнер, МенеджерВыгрузкиОбъекта, Сериализатор, Объект, Артефакты, Отказ) Экспорт
	
	Если ТипЗнч(Объект) = Тип("СправочникОбъект.Файлы") Тогда
		ОчиститьСсылкаНаТомХраненияФайлов(Объект);
		Возврат;
	КонецЕсли;
	
	СправочникиФайлов = ПрочитатьКэшВыгрузкиЗагрузкиФайловыхФункций().СправочникиФайлов;
	
	Обработчик = СправочникиФайлов.Получить(Объект.Метаданные().ПолноеИмя());
	
	Если Обработчик = Неопределено Тогда
		
		ВызватьИсключение СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Объект метаданных %1 не может быть обработан обработчиком
				|РаботаСФайламиСлужебныйВМоделиСервиса.ПередВыгрузкойОбъекта().'",
				Метаданные.ОсновнойЯзык.КодЯзыка),
			Объект.Метаданные().ПолноеИмя());
		
	КонецЕсли;
	
	МодульОбработчика = ОбщегоНазначения.ОбщийМодуль(Обработчик);
	
	РасширениеФайла = МодульОбработчика.РасширениеФайла(Объект);
	
	ИмяФайла = Контейнер.СоздатьПроизвольныйФайл(РасширениеФайла);
	
	Попытка
		
		МодульОбработчика.ВыгрузитьФайл(Объект, ИмяФайла);
		
		Артефакт = ФабрикаXDTO.Создать(ТипАртефактФайла());
		Артефакт.RelativeFilePath = Контейнер.ПолучитьОтносительноеИмяФайла(ИмяФайла);
		Артефакты.Добавить(Артефакт);
		
	Исключение
		
		Контейнер.ИсключитьФайл(ИмяФайла);
		
	КонецПопытки;
	
	ОчиститьСсылкаНаТомХраненияФайлов(Объект);
	
КонецПроцедуры

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

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

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

ПослеВыгрузкиОбъекта (БСП)

ПередЗагрузкойОбъекта (БСП)

ПередВыгрузкойНастроек (БСП)

ПередВыгрузкойДанных (БСП)

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