Меню


Курсы СтимулСправочникПолезные материалы1С:Предприятие 8.2РазработчикамРазработка пользовательских…

1С:Предприятие 8.2 /
Разработчикам /
Разработка пользовательских интерфейсов

Оглавление

Условное оформление в формах

См. также

 

Область применения: управляемое приложение.

Рекомендация (полезный совет)

1. Для настройки некоторых свойств элементов управления можно использовать условное оформление. Однако у этого механизма также есть ряд ограничений.

1.1. Не следует использовать условное оформление для скрытия в таблице строк целиком. Это существенно замедляет работу в веб-клиенте, а также приводит к некорректному отображению содержимого таблицы.

2.1. Настройку условного оформления рекомендуется делать в коде формы. Такой подход имеет ряд преимуществ перед заданием настроек условного оформления в свойствах формы:

2.2. Все настройки условного оформления должны производится при создании формы и потом не должны модифицироваться. Исключением могут являться случаи, когда элементы формы генерируются программно – условное оформление таких элементов нужно настраивать при генерации элементов и потом не нужно менять.

2.3. Вызов процедуры настройки условного оформления должен быть вставлен в обработчик ПриСозданииНаСервере до проверки наличия параметра АвтоТест (см. Правила создания модулей форм) – тогда ошибки в настройке условного оформления будут выявляться при автоматизированной проверке форм, например:

&НаСервере Процедура ПриСозданииНаСервере (Отказ, СтандартнаяОбработка) УстановитьУсловноеОформление(); Если Параметры.Свойство("АвтоТест") Тогда Возврат; КонецЕсли; <Код обработчика> КонецПроцедуры

2.4. В коде процедуры установки условного оформления нужно минимизировать использование строковых констант, а использовать переменные, разыменования и т.д. – такой подход позволит минимизировать количество скрытых ошибок в настройках условного оформления, например:

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

См. также


Подписка на новости RSS     Добавьте в закладки Google fusion     Мы в Google+    

 

Мы ВКонтакте

 

Мы на Facebook