Новые статьи
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