Новые статьи
This commit is contained in:
parent
6aeec34a97
commit
d33c97bff1
@ -0,0 +1,49 @@
|
||||
|
||||
Дополнять условное оформление лучше всего в обработчике формы **`ПриСозданииНаСервере`**
|
||||
|
||||
```bsl
|
||||
&НаСервере
|
||||
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
|
||||
...
|
||||
УстановитьУсловноеОформлениеНаСервере();
|
||||
КонецПроцедуры
|
||||
|
||||
...
|
||||
|
||||
&НаСервере
|
||||
Процедура УстановитьУсловноеОформлениеНаСервере()
|
||||
|
||||
// Создаем новый элемент
|
||||
НовыйЭлемент = УсловноеОформление.Элементы.Добавить();
|
||||
НовыйЭлемент.Использование = Истина;
|
||||
|
||||
// Настраиваем оформление. Варианты параметров можно посмотреть в форме настройки условного оформления на форме
|
||||
НовыйЭлемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЦветВажного);
|
||||
НовыйЭлемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля.ЦветФонаГруппировкиОтчета1);
|
||||
|
||||
// Устанавливаем условия
|
||||
// Создаем группу элементов отбора, если нужно
|
||||
ГруппаЭлементовОтбора = НовыйЭлемент.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
|
||||
ГруппаЭлементовОтбора.Использование = Истина;
|
||||
ГруппаЭлементовОтбора.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИ;
|
||||
|
||||
// А в эту группу уже добавляем элементы отбора
|
||||
Отбор = ГруппаЭлементовОтбора.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
|
||||
//Если условие одиночное, то добавляется прямо в НовыйЭлемент.Отбор.Элементы
|
||||
Отбор = НовыйЭлемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
|
||||
|
||||
// Настраиваем сравнения
|
||||
|
||||
// ПутьКДанным, т.е. Если реквизит объекта, то Объект.РеквизитОформляемоеПоле
|
||||
Отбор.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("РеквизитОформляемоеПоле");
|
||||
Отбор.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше;
|
||||
Отбор.ПравоеЗначение = 0; // либо также ПолеКомпоновкиДанных
|
||||
|
||||
// Добавляем поля, которые будут оформляться
|
||||
ОформляемоеПоле = НовыйЭлемент.Поля.Элементы.Добавить();
|
||||
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ЭлементОформляемоеПоле"); // тут уже имя элемента на форме, не путь к данным
|
||||
|
||||
КонецПроцедуры
|
||||
|
||||
```
|
@ -0,0 +1,39 @@
|
||||
|
||||
```bsl
|
||||
// Процедура - устанавливает значения свойств "Доступность" и "Только просмотр"
|
||||
//
|
||||
// Параметры:
|
||||
// Форма - ФормаКлиентскогоПриложения -
|
||||
// Элемент - ЭлементыФормы, Строка -
|
||||
// Доступность - Булево - Значение свойства "Доступность". Свойство "Только просмотр" = Не "Доступность"
|
||||
// ТолькоПросмотрГрупп - Булево - Устанавливает значение свойства "Только просмотр" для групп. По умолчанию ЛОЖЬ
|
||||
//
|
||||
Процедура УстановитьДоступностьЭлементовРекурсивно(Форма, Элемент, Доступность, ТолькоПросмотрГрупп = Ложь) Экспорт
|
||||
|
||||
ИзменяемыйЭлемент = Элемент;
|
||||
|
||||
Если ТипЗнч(Элемент) = Тип("Строка") Тогда
|
||||
ИзменяемыйЭлемент = Форма.Элементы.Найти(Элемент);
|
||||
КонецЕсли;
|
||||
|
||||
Если ИзменяемыйЭлемент = Неопределено Тогда
|
||||
Возврат;
|
||||
КонецЕсли;
|
||||
|
||||
Если ТипЗнч(ИзменяемыйЭлемент) = Тип("ГруппаФормы") Или ТипЗнч(ИзменяемыйЭлемент) = Тип("ФормаКлиентскогоПриложения") Тогда
|
||||
|
||||
ИзменяемыйЭлемент.ТолькоПросмотр = ТолькоПросмотрГрупп;
|
||||
|
||||
Для Каждого ПодчиненныйЭлемент Из ИзменяемыйЭлемент.ПодчиненныеЭлементы Цикл
|
||||
УстановитьДоступностьЭлементовРекурсивно(Форма, ПодчиненныйЭлемент, Доступность, ТолькоПросмотрГрупп);
|
||||
КонецЦикла;
|
||||
|
||||
ИначеЕсли ТипЗнч(ИзменяемыйЭлемент) = Тип("КнопкаФормы") Или ТипЗнч(ИзменяемыйЭлемент) = Тип("ТаблицаФормы") Тогда
|
||||
ИзменяемыйЭлемент.Доступность = Доступность;
|
||||
ИначеЕсли ТипЗнч(ИзменяемыйЭлемент) = Тип("ПолеФормы") Тогда
|
||||
ИзменяемыйЭлемент.ТолькоПросмотр = Не Доступность;
|
||||
ИзменяемыйЭлемент.Доступность = Истина; // Поле ввода всегда доступно, управляем "ТолькоПросмотр"
|
||||
КонецЕсли;
|
||||
|
||||
КонецПроцедуры
|
||||
```
|
Loading…
x
Reference in New Issue
Block a user