ДобавитьПодписьКФайлу (БСП)

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

Добавить подпись файлу. Добавляет электронную подпись к файлу.

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

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

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

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

ДобавитьПодписьИзФайла (БСП)

ДобавитьПодписьИзФайлаПослеСозданияМенеджераКриптографии (БСП)

ДобавитьПодписьИПечать (БСП)

ДобавитьПодпись (БСП)

ДоступнаЭлектроннаяПодпись (БСП)

СохранитьПодписьПослеПолученияФайла (БСП)

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