ПриЗаписиПрисоединенногоФайлаСервер (БСП)

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

При записи присоединенного файла сервер. Обработчик подписки "при записи" присоединенного файла.

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

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

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

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

ПередУдалениемПрисоединенногоФайлаСервер (БСП)

ВыполнитьДействияПередЗаписьюПрисоединенногоФайла (БСП)

ВыполнитьДействияПриЗаписиПрисоединенногоФайла (БСП)

ПриСозданииНаСервере (БСП)

ОбновитьПрисоединенныйФайл (БСП)

КоличествоПрисоединенныхФайлов (БСП)

ПриЗаписиНаСервере (БСП)

ДанныеПрисоединенныхФайловПисьма (БСП)

ПриПолученииПрисоединенныхФайлов (БСП)

1С Менеджер конфигураций