Автозамена штампов электронных подписей в файле после регистрации

1. user1263334 07.06.21 09:00 Сейчас в теме
При регистрации подписанного электронной подписью объекта (документа) происходит автозамена строк в файле, в том числе и штампов электронной подписи. Только штампы ЭП после автозамены становятся одинаковыми при открытии файла. Получается все имеющиеся штампы заменяются на один, самый первый. До этого вопросов не было потому что был только один штампик. Как сделать, чтобы каждый штамп в файле заменялся таким же? Код обработчика прикладываю ниже.

    // автозаполнение файлов
    
    Документ = Событие.Источник;

	ПодчиненныеФайлы = РаботаСФайламиВызовСервера.ПолучитьВсеПодчиненныеФайлы(Документ, Ложь);
	
	Для Каждого Файл Из ПодчиненныеФайлы Цикл       
        Если (Файл.ТекущаяВерсияРасширение = "docx" ИЛИ Файл.ТекущаяВерсияРасширение = "doc") 
             И НЕ Файл.ПометкаУдаления 
             И НЕ Файл.ШаблонОснованиеДляСоздания = Справочники.Файлы.ПустаяСсылка()
             И Файл.Редактирует = Справочники.Пользователи.ПустаяСсылка() Тогда
 
           Если ПолучитьФункциональнуюОпцию("ИспользоватьЭлектронныеПодписи") И Файл.ПодписанЭП Тогда

			  СуществующаяВерсия = Файл.ТекущаяВерсия;
			  ФайлОбъект = Файл.ПолучитьОбъект();
			  ФайлОбъект.ПодписанЭП = Ложь;
			  ФайлОбъект.Записать();
                ДанныеВыполнения = АвтозаполнениеШаблоновФайловКлиентСервер.ЗаполнитьПоляФайлаДаннымиВладельца(Истина, Файл, Истина);
			  ФайлОбъект = Файл.ПолучитьОбъект();
			  ФайлОбъект.ПодписанЭП = Истина;
			  ФайлОбъект.Записать();
			  НоваяВерсия = Файл.ТекущаяВерсия;

               УстановитьПривилегированныйРежим(Истина);

				ТекВерсияФайла = Файл.ТекущаяВерсия;
            	ТекущаяВерсия = ТекВерсияФайла.ПолучитьОбъект();
            	ТекущаяВерсия.ПодписанЭП = Ложь;
            	ТекущаяВерсия.Автор = Файл.Автор;
            	ТекущаяВерсия.ПодписанЭП = Истина;
            	ТекущаяВерсия.Записать();

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

              УстановитьПривилегированныйРежим(Ложь);

           Иначе
                ДанныеВыполнения = АвтозаполнениеШаблоновФайловКлиентСервер.ЗаполнитьПоляФайлаДаннымиВладельца(Истина, Файл, Истина);
            	ТекущаяВерсия = Файл.ТекущаяВерсия.ПолучитьОбъект();
            	ТекущаяВерсия.Автор = Файл.Автор;
            	ТекущаяВерсия.Записать();
           КонецЕсли;

        КонецЕсли;
    КонецЦикла;
Показать
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот