Действующее согласие на обработку персональных данных. Возвращает сведения о действующем на указанную дату согласии субъекта на обработку персональных данных.
// Возвращает сведения о действующем на указанную дату согласии субъекта на обработку персональных данных.
// Получение сведений производится в привилегированном режиме.
//
// Параметры:
// Субъект - ОпределяемыйТип.СубъектПерсональныхДанных - субъект, наличие согласия которого определяется,
// Организация - СправочникСсылка.Организации - оператор персональных данных, которому предоставлено согласие,
// Дата - Дата - дата, на которую запрашивается состояние, если не указана, выбирается последняя запись.
// ИсключаемыйРегистратор - ДокументСсылка.СогласиеНаОбработкуПерсональныхДанных - текущий документ;
// передается для того, чтобы при поиске согласия игнорировать выполненные текущим документом движения.
//
// Возвращаемое значение:
// Неопределено, Структура - Неопределено, если согласие не предоставлялось,
// или срок действия предоставленного согласия истек;
// Если обнаружено действующее согласие, то Структура со свойствами:
// * ДатаПолучения - Дата - дата получения согласия.
// * СрокДействия - Дата - дата, до которой будет действовать согласие.
// Если не указана, то согласие действует бессрочно.
// * ДокументОснование - ДокументСсылка.СогласиеНаОбработкуПерсональныхДанных - документ-основание.
//
Функция ДействующееСогласиеНаОбработкуПерсональныхДанных(Субъект, Организация = Неопределено, Знач Дата = Неопределено,
ИсключаемыйРегистратор = Неопределено) Экспорт
Если Дата = Неопределено Тогда
Дата = НачалоДня(ТекущаяДатаСеанса());
КонецЕсли;
Если ЗначениеЗаполнено(Организация) Тогда
Запрос = Новый Запрос();
Запрос.Текст =
"ВЫБРАТЬ
| Согласия.Период КАК ДатаПолучения,
| Согласия.Регистратор КАК ДокументОснование,
| Согласия.Организация КАК Организация,
| Согласия.Субъект КАК Субъект,
| Согласия.Действует КАК Действует,
| Согласия.СрокДействия КАК СрокДействия
|ПОМЕСТИТЬ ВТСогласия
|ИЗ
| РегистрСведений.СогласияНаОбработкуПерсональныхДанных.СрезПоследних(
| &Дата,
| Субъект = &Субъект
| И Организация = &Организация
| И Регистратор <> &ИсключаемыйРегистратор) КАК Согласия
|ГДЕ
| Согласия.Действует
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| Согласия.ДатаПолучения КАК ДатаПолучения,
| Согласия.ДокументОснование КАК ДокументОснование,
| Согласия.СрокДействия КАК СрокДействия
|ИЗ
| ВТСогласия КАК Согласия
|ГДЕ
| Согласия.СрокДействия = ДАТАВРЕМЯ(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
///////////////////////////////////////////////////////////////////////////////////////////////////////
ОткрытьФормуСогласиеНаОбработкуПерсональныхДанных (БСП)
ОписаниеРегистрацииСогласияНаОбработкуПерсональныхДанных (БСП)
ЗарегистрироватьСведенияОСогласииНаОбработкуПерсональныхДанных (БСП)
ДополнитьДанныеСубъектовПерсональныхДанных (БСП)
ДополнитьДанныеОрганизацииОператораПерсональныхДанных (БСП)
ЗаполнитьФИОФизическогоЛица (БСП)
ДобавитьКомандуПечатиСогласияНаОбработкуПерсональныхДанных (БСП)