ЗарегистрироватьОбъектыДляПереносаЭлектронныхПодписейИСертификатовШифрования (БСП)

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

Зарегистрировать объекты для переноса электронных подписей сертификатов шифрования.

Процедура ЗарегистрироватьОбъектыДляПереносаЭлектронныхПодписейИСертификатовШифрования(Параметры) Экспорт
	
	ТекстЗапросаДвеТабличныеЧасти =
	"ВЫБРАТЬ
	|	Файлы.Ссылка КАК Ссылка
	|ИЗ
	|	ТаблицаОбъектов КАК Файлы
	|ГДЕ
	|	(ИСТИНА В
	|				(ВЫБРАТЬ ПЕРВЫЕ 1
	|					ИСТИНА
	|				ИЗ
	|					ТабличнаяЧастьУдалитьСертификатыШифрования КАК УдалитьСертификатыШифрования
	|				ГДЕ
	|					УдалитьСертификатыШифрования.Ссылка = Файлы.Ссылка)
	|			ИЛИ ИСТИНА В
	|				(ВЫБРАТЬ ПЕРВЫЕ 1
	|					ИСТИНА
	|				ИЗ
	|					ТабличнаяЧастьУдалитьЭлектронныеПодписи КАК УдалитьЭлектронныеПодписи
	|				ГДЕ
	|					УдалитьЭлектронныеПодписи.Ссылка = Файлы.Ссылка))";
	
	ТекстЗапросаТЧУдалитьСертификатыШифрования =
	"ВЫБРАТЬ
	|	Файлы.Ссылка КАК Ссылка
	|ИЗ
	|	ТаблицаОбъектов КАК Файлы
	|ГДЕ
	|	ИСТИНА В
	|			(ВЫБРАТЬ ПЕРВЫЕ 1
	|				ИСТИНА
	|			ИЗ
	|				ТабличнаяЧастьУдалитьСертификатыШифрования КАК УдалитьСертификатыШифрования
	|			ГДЕ
	|				УдалитьСертификатыШифрования.Ссылка = Файлы.Ссылка)";
	
	ТекстЗапросаТЧУдалитьЭлектронныеПодписи =
	"ВЫБРАТЬ
	|	Файлы.Ссылка КАК Ссылка
	|ИЗ
	|	ТаблицаОбъектов КАК Файлы
	|ГДЕ
	|	ИСТИНА В
	|			(ВЫБРАТЬ ПЕРВЫЕ 1
	|				ИСТИНА
	|			ИЗ
	|				ТабличнаяЧастьУдалитьЭлектронныеПодписи КАК УдалитьЭлектронныеПодписи
	|			ГДЕ
	|				УдалитьЭлектронныеПодписи.Ссылка = Файлы.Ссылка)";
	
	Запрос = Новый Запрос;
	ПолныеИменаСправочников = ПолныеИменаСправочниковПрисоединенныхФайлов();
	
	Для Каждого ПолноеИмя Из ПолныеИменаСправочников Цикл
		ОбъектМетаданных = Метаданные.НайтиПоПолномуИмени(ПолноеИмя);
		
		ЕстьТЧУдалитьСертификатыШифрования =
			ОбъектМетаданных.ТабличныеЧасти.Найти("УдалитьСертификатыШифрования") <> Неопределено;
		
		ЕстьТЧУдалитьЭлектронныеПодписи =
			ОбъектМетаданных.ТабличныеЧасти.Найти("УдалитьЭлектронныеПодписи") <> Неопределено;
		
		Если ЕстьТЧУдалитьСертификатыШифрования И ЕстьТЧУдалитьЭлектронныеПодписи Тогда
			ТекущийТекстЗапроса = ТекстЗапросаДвеТабличныеЧасти;
			
		ИначеЕсли ЕстьТЧУдалитьСертификатыШифрования Тогда
			ТекущийТекстЗапроса = ТекстЗапросаТЧУдалитьСертификатыШифрования;
			
		ИначеЕсли ЕстьТЧУдалитьЭлектронныеПодписи Тогда
			ТекущийТекстЗапроса = ТекстЗапросаТЧУдалитьЭлектронныеПодписи;
		Иначе 
			Продолжить;
		КонецЕсли;
		
		Если ЗначениеЗаполнено(Запрос.Текст) Тогда
			Запрос.Текст = Запрос.Текст + "
			|
			|ОБЪЕДИНИТЬ ВСЕ
			|
			|";
		КонецЕсли;
		
		ТекущийТекстЗапроса = СтрЗаменить(ТекущийТекстЗапроса, "ТаблицаОбъектов", ПолноеИмя);
		
		ТекущийТекстЗапроса = СтрЗаменить(ТекущийТекстЗапроса,
			"ТабличнаяЧастьУдалитьСертификатыШифрования", ПолноеИмя + ".УдалитьСертификатыШифрования");
		
		ТекущийТекстЗапроса = СтрЗаменить(ТекущийТекстЗапроса,
			"ТабличнаяЧастьУдалитьЭлектронныеПодписи", ПолноеИмя + ".УдалитьЭлектронныеПодписи");
		
		Запрос.Текст = Запрос.Текст + ТекущийТекстЗапроса;
	КонецЦикла;
	
	МассивСсылок = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка"); 
	
	ОбновлениеИнформационнойБазы.ОтметитьКОбработке(Параметры, МассивСсылок);
	
КонецПроцедуры

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

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

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

ПеренестиЭлектронныеПодписиИСертификатыШифрованияВРегистрыСведений (БСП)

ОткрытьНастройкиЭлектроннойПодписиИШифрования (БСП)

ИспользоватьИнтерактивноеДобавлениеЭлектронныхПодписейИШифрование (БСП)

ЗаписатьСертификатыШифрования (БСП)

ОчиститьСертификатыШифрования (БСП)

УстановитьРасширение (БСП)

ПриОпределенииРазделаСтатьиНаИТС (БСП)

ДобавитьСертификатыШифрования (БСП)

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