Программная установка условного оормления (УФ)

1. Johney20 07.05.18 08:43 Сейчас в теме
Всем привет!

Необходимо по определенному условию зачеркивать строку и при обновлении или при повторном входе удалять ее. Нашла образец кода для установки этого зачеркнутого шрифта. Не совсем пойму, как его использовать.

Вот код моих процедур:

&НаКлиенте
Процедура ПерсональныеПраваРучнПравоДоступаПриИзменении(Элемент)
	
	ТекДанные = Элементы.ПерсональныеПрава.ТекущиеДанные;
	Если Не ТекДанные = Неопределено Тогда
		ПравоДоступа = Элементы.ПерсональныеПрава.ТекущиеДанные.ПравоДоступа;
		Отбор = Новый Структура();
		Отбор.Вставить("Право",ПравоДоступа);
		МассивПовторБП = Объект.БазовыеПрава.НайтиСтроки(Отбор); //колонка
		
		Если ЗначениеЗаполнено(МассивПовторБП) Тогда
			
			Если ГруппаДоступаПомеченаНаУдаление(ПравоДоступа) Тогда
				ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Помеченные на удаление группы доступа не доступны для выбора!");
				Элементы.ПерсональныеПрава.ТекущиеДанные.ПравоДоступа = 
				ПредопределенноеЗначение("Справочник.ГруппыДоступаРесурсов.ПустаяСсылка");  			
			Иначе
				ТекДанные.ВидРесурса = ПолучитьВидРесурса(ПравоДоступа);
				Если ТекДанные.ВидРесурса = ПредопределенноеЗначение("Справочник.ВидыРесурсов.АД") Тогда
					ТекДанные.Ресурс = ПредопределенноеЗначение("Справочник.Ресурсы.АД");
					ТекДанные.ПользовательРесурсов = ПолучитьПользователяРесурса(ТекДанные.Ресурс, ТекДанные.Сотрудник);
				ИначеЕсли ТекДанные.ВидРесурса = ПредопределенноеЗначение("Справочник.ВидыРесурсов.NEDAP") Тогда 
					ТекДанные.Ресурс = ПредопределенноеЗначение("Справочник.Ресурсы.NEDAP");
					ТекДанные.ПользовательРесурсов = ПолучитьПользователяРесурса(ТекДанные.Ресурс,ТекДанные.Сотрудник);
				Иначе
					ТекДанные.Ресурс = ОбщиеМеханизмыСУМДСервер.ПолучитьРесурc(ТекДанные.ВидРесурса);
					ТекДанные.ПользовательРесурсов = ПолучитьПользователяРесурса(ТекДанные.Ресурс,ТекДанные.Сотрудник);
				КонецЕсли;
			КонецЕсли;		
		
		Если ТекДанные.Ресурс <> ПредопределенноеЗначение("Справочник.Ресурсы.NEDAP") Тогда
			ТекДанные.Расписание = ПредопределенноеЗначение("Справочник.Ресурсы.ПустаяСсылка");
		КонецЕсли;
		
		Иначе  //зачеркнуть и удалить при обновлении или повторном входе
			УсловноеОформлениеДляПовторяющихсяГД(ТекДанные);
		КонецЕсли;
		
	КонецЕсли;

КонецПроцедуры


&НаСервере
Процедура УсловноеОформлениеДляПовторяющихсяГД(ТекДанные)
	
	ЭлементОформления = Список.УсловноеОформление.Элементы.Добавить();
	
	ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(тип("ЭлементОтбораКомпоновкиДанных"));
	ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
	ЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
	Элементотбора.ПравоеЗначение = ЗначениеДляОтбора;
	ЭлементОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля);
    ЭлементОтбора.Использование = Истина;
	
	Элемент = ЭлементОформления.Оформление.Элементы[0];
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", ШрифтыСтиля.ШрифтТекста.Зачеркивание);
	Элемент.Использование = Истина;

	ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
	ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(ПолеДляОформления);
	ПолеОформления.Использование = Истина;
	
КонецПроцедуры
Показать


Итак, что непонятно:

1. Имя поля - ?
2. ЗначениеДляОтбора - ?
3.
Элемент =  ЭлементОформления.Оформление.Элементы[0];
Мне нужна определенная строка(по условию), соответственно, по индексу мне подойдет, как правильно указать?
4. ПолеДляОформления - ?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Pavel Rodinchenko 08.05.18 08:59 Сейчас в теме
(1) Имя поля - наименование поля как оно указано на форме. Например "Номенклатура".
Значение для отбора - само значение Вашего поля. Какая-то конкретная позиция если вид сравнения равно, или список значений если вид сравнения в списке.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот