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