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

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

Это объект со скрытыми персональными данными. Определяет наличие скрытых персональных данных в объекте. В качестве объекта может быть передан и сам субъект.

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

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

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

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

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

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

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

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

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

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

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

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

TurboConf - расширение Конфигуратора 1С