ИзменитьНастройкиСкрытияПерсональныхДанных (БСП)

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

Изменить настройки скрытия персональных данных. Изменяет настройки скрытия персональных данных субъектов в соответствии с новыми настройками системы.

// Изменяет настройки скрытия персональных данных субъектов в соответствии с новыми настройками системы.
//
// Параметры:
//  Параметры - Структура - параметры выполнения процедуры:
//   * ИспользоватьСкрытиеПерсональныхДанных - Булево - новое значение признака.
//   * ДнейДоСкрытияПерсональныхДанных - Число - новое значение количества дней.
//  АдресРезультата - Строка - адрес временного хранилища, в которое нужно
//                                поместить результат работы процедуры.
//
Процедура ИзменитьНастройкиСкрытияПерсональныхДанных(Параметры, АдресРезультата = "") Экспорт
	
	ДнейДоСкрытияПДн = Параметры.ДнейДоСкрытияПерсональныхДанных;
	ИспользоватьСкрытиеПДн = Параметры.ИспользоватьСкрытиеПерсональныхДанных;
	
	СтарыеНастройкиСистемы = ЗащитаПерсональныхДанныхВызовСервера.НастройкиСкрытияПерсональныхДанныхСистемы();
	
	ТекущееЗначениеДнейДоСкрытия = СтарыеНастройкиСистемы.ДнейДоСкрытияПерсональныхДанных;
	ТекущееЗначениеИспользоватьСкрытиеПДн = СтарыеНастройкиСистемы.ИспользоватьСкрытиеПерсональныхДанных;
	
	НачатьТранзакцию();
	
	Попытка
		
		ПересчитанаДатаСкрытияПДнСубъектов = Ложь;
		
		Если Не ЗначениеЗаполнено(ДнейДоСкрытияПДн) Тогда
			ДнейДоСкрытияПДн = 7;
		КонецЕсли;
		
		Если ТекущееЗначениеДнейДоСкрытия <> ДнейДоСкрытияПДн Тогда
			
			Если ИспользоватьСкрытиеПДн Тогда 
				
				ОчиститьСрокСкрытияПерсональныхДанныхСубъектов();
				РассчитатьДатуСкрытияПДнСубъектовДавшихСогласие(ДнейДоСкрытияПДн);
				
				ПересчитанаДатаСкрытияПДнСубъектов = Истина;
				
			КонецЕсли;
			
			Константы.ДнейДоСкрытияПерсональныхДанныхСубъектов.Установить(ДнейДоСкрытияПДн);
			
		КонецЕсли;
			
		Если ТекущееЗначениеИспользоватьСкрытиеПДн <> ИспользоватьСкрытиеПДн Тогда
			
			Если ИспользоватьСкрытиеПДн Тогда
				
				Если Не ПересчитанаДатаСкрытияПДнСубъектов Тогда
					РассчитатьДатуСкрытияПДнСубъектовДавшихСогласие(ДнейДоСкрытияПДн);
				КонецЕсли;
				
			Иначе
				ОчиститьСрокСкрытияПерсональныхДанныхСубъектов();
			КонецЕсли;
			
			Константы.ИспользоватьСкрытиеПерсональныхДанныхСубъектов.Установить(ИспользоватьСкрытиеПДн);
			
		КонецЕсли;
		
		ЗафиксироватьТранзакцию();
		
	Исключение
		
		ОтменитьТранзакцию();
		
		ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииИзменениеНастроекСкрытияПДн(),
			УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
			
		ВызватьИсключение НСтр("ru = 'Не удалось изменить настройки скрытия персональных данных.'");
		
	КонецПопытки;
	
КонецПроцедуры

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

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

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

НастройкиСкрытияПерсональныхДанныхСистемы (БСП)

НастройкиСкрытияПерсональныхДанныхПриИзменении (БСП)

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

ДнейДоСкрытияПерсональныхДанныхСубъектов (БСП)

СкрытьПерсональныеДанныеСубъектов (БСП)

ПередСкрытиемПерсональныхДанныхСубъектов (БСП)

ЭтоОбъектСоСкрытымиПерсональнымиДанными (БСП)

СкрытиеПерсональныхДанныхСубъектов (БСП)

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