УстановитьИспользованиеСобытияДоступ (БСП)

Автор: 1С
ОбщийМодуль.ЗащитаПерсональныхДанных
БСП

Установить использование события доступ. Устанавливает режим использования события "Доступ. Доступ"

// Устанавливает режим использования события "Доступ. Доступ"
// журнала регистрации, контроль которого предусмотрен требованиями.
// Федерального закона от 27.07.2006 N152-ФЗ "О персональных данных" 
// и подзаконных актов.
// Использование события устанавливается для областей персональных данных, 
// сведения о которых заполняются в потребителе.
//
// Параметры:
//   Использование - Булево - если Истина, то события будут регистрироваться.
//   ОбластиИспользования - Массив - массив областей персональных данных, 
//                                   для которых производится установка использования (необязательный).
//
Процедура УстановитьИспользованиеСобытияДоступ(Использование, ОбластиИспользования = Неопределено) Экспорт
	
	// Таблица сведений о персональных данных.
	ТаблицаСведений = СведенияОПерсональныхДанных();
	
	ИспользованиеОбластейДанных = Новый Соответствие;
	
	// Составление описания использования события.
	ОписанияИспользования = Новый Массив;
	Для Каждого СтрокаСведений Из ТаблицаСведений Цикл
		// Добавление области данных в набор.
		ИспользованиеОбластейДанных.Вставить(СтрокаСведений.ОбластьДанных);
		Если ОбластиИспользования <> Неопределено 
			И ОбластиИспользования.Найти(СтрокаСведений.ОбластьДанных) = Неопределено Тогда
			// Если указаны области данных, то устанавливаем использование только для них.
			Продолжить;
		КонецЕсли;
		ИспользованиеОбластейДанных[СтрокаСведений.ОбластьДанных] = Использование;
		// Составление описания использования события.
		ПоляРегистрации = СтрРазделить(СтрокаСведений.ПоляРегистрации, ",");
		Для Индекс = 0 По ПоляРегистрации.ВГраница() Цикл
			// Если требуется составить массив полей.
			Если СтрНайти(ПоляРегистрации[Индекс], "|") > 0 Тогда
				ПоляРегистрации[Индекс] = СтрРазделить(ПоляРегистрации[Индекс], "|");
			КонецЕсли;
		КонецЦикла;
		ОписаниеИспользованияСобытияДоступа = Новый ОписаниеИспользованияСобытияДоступЖурналаРегистрации(СтрокаСведений.Объект);
		ОписаниеИспользованияСобытияДоступа.ПоляДоступа		= СтрРазделить(СтрокаСведений.ПоляДоступа, ",");
		ОписаниеИспользованияСобытияДоступа.ПоляРегистрации	= ПоляРегистрации;
		ОписанияИспользования.Добавить(ОписаниеИспользованияСобытияДоступа);
	КонецЦикла;
	
	// "Включение" ("Выключение") использования события "Доступ. Доступ"
	// журнала регистрации по созданному описанию.
	ИспользованиеСобытияДоступ = Новый ИспользованиеСобытияЖурналаРегистрации;
	ИспользованиеСобытияДоступ.Использование = Использование;
	ИспользованиеСобытияДоступ.ОписаниеИспользования = ОписанияИспользования;
	
	// Сохранение использования областей данных.
	ОбластиДанныхНаборЗаписей = РегистрыСведений.ОбластиПерсональныхДанных.СоздатьНаборЗаписей();
	Для Каждого КлючИЗначение Из ИспользованиеОбластейДанных Цикл
		СтрокаНабора = ОбластиДанныхНаборЗаписей.Добавить();
		СтрокаНабора.ИмяОбласти = КлючИЗначение.Ключ;
		СтрокаНабора.ИспользованиеСобытийЖурналаРегистрации = КлючИЗначение.Значение;
	КонецЦикла;
	
	НачатьТранзакцию();
	Попытка
		УстановитьИспользованиеСобытияЖурналаРегистрации("_$Access$_.Access", ИспользованиеСобытияДоступ);
		// Запись областей персональных данных.
		ОбластиДанныхНаборЗаписей.Записать();
		ЗафиксироватьТранзакцию();
	Исключение
		ОтменитьТранзакцию();
		ВызватьИсключение;
	КонецПопытки;
	
КонецПроцедуры

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

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

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

УстановитьОбновлениеДоступа (БСП)

ИспользованиеСобытияДоступ (БСП)

УстановитьЗаполнениеДанныхДляОграниченияДоступа (БСП)

ЗначенияДоступаПриИзменении (БСП)

ЗначениеДоступаОчистка (БСП)

ВидыДоступаВидДоступаПредставлениеПриИзменении (БСП)

УстановитьДоступКAPIОбластиДанных (БСП)

УстановитьЗапретОбновленияДоступа (БСП)

УстановитьПарольСертификата (БСП)

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