Меню

1с условное оформление видимость не работает

Почему может не работать условное оформление на управляемой форме

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

У нас есть некоторая форма списка, например, элементов плана вида характеристик «ПраваПользователей» в конфигурации «Управление производственным предприятием» версии 1.3.

Форма, как Вы видите, управляемая. нам нужно оформить список таким образом, чтобы все строки групп элементов выделялись зеленым цветом. Приступим!

Пример

Оформление элементов управляемых форм выполняется с помощью условного оформления формы:

Для решения нашей задачи добавим элемент условного оформления со следующими настройками:

При последующем открытии формы строки групп плана видов характеристик должны быть выделены зеленым цветом. Но. этого не происходит!

Дело в том, что список элементов и групп плана видов характеристик отображается на форме с помощью объекта формы с типом «Динамический список». Динамические списки использут возможности системы компоновки данных, включая отборы и условное оформление. Последнее как-раз и определяет конечное оформление списка, игнорируя настройки условного оформления самой формы. Добавим аналогичные настройки условного оформления для динамического списка.

Единственное отличие — в список оформляемых полей нужно добавить все видимые поля списка, на которые должно распостраняться условное оформление.

Вывод

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

Надеюсь статья кому-нибудь да сэкономит время при решении проблем с условным оформлением.

Источник

Условное оформление в расширении срабатывает не по условию

Форма обработки, в нем таблица.
Хочу перекрашивать фон двух ячеек строки по условию.

Добавил форму в расширение
Добавил функцию в расширение.
Добавил свое условное оформление.
Но почему-то срабатывает все время не соблюдая условие отбора.

&НаСервере
&После(«УстановитьУсловноеОформление»)
Процедура ДорФ_УстановитьУсловноеОформление()

Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОстаткиСерийТекущиеНомер.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«ОстаткиСерийТекущиеГоденДо»);
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
ОтборЭлемента.ПравоеЗначение = Параметры.Дата;
Элемент.Оформление.УстановитьЗначениеПараметра(«ЦветФона», WebЦвета.Красный);
//
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ОстаткиСерийТекущиеГоденДо.Имя);
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«ОстаткиСерийТекущиеГоденДо»);
ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.МеньшеИлиРавно;
ОтборЭлемента.ПравоеЗначение = Параметры.Дата;
Элемент.Оформление.УстановитьЗначениеПараметра(«ЦветФона», WebЦвета.Красный);

Читайте также:  Не могу настроить сливную арматуру

Источник

Не применяется условное оформление

Всем привет, делаю программно условное оформление для формы списка вот так:

Оформление1 = Список.УсловноеОформление.Элементы.Добавить();
Оформление1.Оформление.УстановитьЗначениеПараметра(«ЦветФона», WebЦвета.БледноЗеленый);

Отбор1 = Оформление1.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
Отбор1.ПравоеЗначение = Истина;
Отбор1.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор1.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Согласован»);
Отбор1.Использование = Истина;

Отбор2 = Оформление1.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
Отбор2.ПравоеЗначение = 1;
Отбор2.ВидСравнения = ВидСравненияКомпоновкиДанных.БольшеИлиРавно;
Отбор2.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«ккСобран»);
Отбор2.Использование = Истина;

Оформление2 = Список.УсловноеОформление.Элементы.Добавить();
Оформление2.Оформление.УстановитьЗначениеПараметра(«ЦветФона», WebЦвета.БледноЛиловый);

Отбор3 = Оформление2.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
Отбор3.ПравоеЗначение = Истина;
Отбор3.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор3.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«Согласован»);
Отбор3.Использование = Истина;

Отбор4 = Оформление2.Отбор.Элементы.Добавить(Тип(«ЭлементОтбораКомпоновкиДанных»));
Отбор4.ПравоеЗначение = 0;
Отбор4.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
Отбор4.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(«ккСобран»);
Отбор4.Использование = Истина;

Первое оформление (с бледно-зеленым цветом) работает, строки раскрашивает. Втрое, с бледно-лиловым, не работает, строки не раскрашиваются, хотя условие выполняется. Что я делаю не так?

Источник

Не работает условное оформление управляемой формы. Почему?

Есть два элемента:
«Элемент1» (поле ввода, путь к данным «Объект.Реквизит1» с типом Перечисление)
«Элемент2» (поле ввода, путь к данным «Объект.Реквизит2» с типом Строка)

Делаю условное оформление (в конфигураторе, НЕ программно):
Использование = «Истина»
Оформление = «Видимость = Ложь»
Условие = «Объект.Реквизит1 Равно ‘Перечисление.Перечисление1.Значение10′»
Оформляемые поля = «Элемент2»

Вопрос: почему не срабатывает УО, когда выбираю «Значение10» в поле «Элемент1»?

Условия задачи.
Есть два реквизита во внешней обработке:
— ПолеДоступностьюКоторогоНужноУправлять — Любой тип
— ПолеКотороеРулитДоступностьюДругогоПоля — Булево

Оба реквизита кинуты на форму.
Тыкая галочку у реквизита ПолеКотороеРулитДоступностьюДругогоПоля, ничего не происходит с полем ПолеДоступностьюКоторогоНужноУправлять, а хотелось бы чтобы оно меняло доступность.

Что тут может быть не так?

(13) EMelihoff, так это же не так, условное форматирование задается на сервере, в контексте сервера значения есть в реквизитах (вернее доступны на сервере), да это и не важно, при описании условного оформления мы явно указываем какой реквизит нужно всегда сравнивать с неким заранее заданным значением и если сравнение проходит, то должно что-то происходить в оформлении, в частности мне нужно чтобы менялась Доступность поля в зависимости от значений другого поля

Читайте также:  Как настроить цифровое телевидение panasonic

картина непонятная мне на самом деле, почему не пашет условное оформление, наверное мат часть плохо знаю
из формы документа РегламентнаяОперация БП 3.0.41

Источник

УФ. Не работает условное оформление.

Вроде бы простейшая задача, но почему то не получается.

На управляемой форме есть переключатель (2 положения) и реквизит. Если переключатель стоит в первом положении, то реквизит должен быть доступен для редактирования, если во втором, то не доступен.

Делаю условным оформлением. Добавил такое условие:

Оформление | Условие | Оформляемые поля
Только просмотр Истина | Переключатель Равно «2» | ПолеВвода

Почему то не работает. Что я не так делаю?

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

? Доступность – используется только для отключения доступности полей таблицы: поле надписи, поле ввода, поле переключателя, поле картинки.

? Только просмотр – используется только для включения режима Только просмотр для полей таблицы: поле надписи, поле ввода, поле переключателя, поле картинки.

? Отображать – используется только для отключения видимости значений полей таблицы: поле надписи, поле ввода, поле переключателя, поле картинки.

Кто-нибудь пользовался условным оформлением для управления доступностью реквизитов?

(5) Я сделал на этой же форме условное оформление для числового реквизита. Если он меньше нуля то окрашивается в красный. Это работает.

Значит управление видимостью и доступностью только для табличных полей?

Источник

Adblock
detector