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