ПриСозданииНаСервереФормыСписка (БСП)

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

При создании на сервере формы списка. В форме списка добавляет колонку с картинкой, сигнализирующей об отсутствии требуемого согласия

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

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

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

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

УстановитьОформлениеБизнесПроцессов (БСП)

УстановитьОформлениеЗадач (БСП)

ПриСозданииФормыСпискаФайлов (БСП)

ПриСозданииНаСервере (БСП)

ФормаЗадачиПриСозданииНаСервере (БСП)

ФормаЭлементаПриСозданииНаСервере (БСП)

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