условное оформление формы списка справочника программно
В форме списка справочника "Номенклатура" в пользовательском режиме раскрашиваем строки по условию "Ссылка ВГруппе".
При попытке сделать программно ВИерархии- ничего не работает. Работает только Подобно, Равно, Содержит.
Как добиться того же эффекта программно?
код для тестирования
При попытке сделать программно ВИерархии- ничего не работает. Работает только Подобно, Равно, Содержит.
Как добиться того же эффекта программно?
код для тестирования
&НаСервере
&После("УстановитьУсловноеОформление")
Процедура Расш2_УстановитьУсловноеОформление()
эл = Справочники.Номенклатура.НайтиПоНаименованию("Нужная Группа");
ЭлементУО = УсловноеОформление.Элементы.Добавить();
ЭлементУО.Оформление.УстановитьЗначениеПараметра("ЦветТекста",новый Цвет(0,0,254));
поле = ЭлементУО.Поля.Элементы.Добавить();
поле.Поле = Новый ПолеКомпоновкиДанных("Наименование");
поле.Использование = Истина;
поле = ЭлементУО.Поля.Элементы.Добавить();
поле.Использование = Истина;
поле.Поле = Новый ПолеКомпоновкиДанных("Код");
поле.Использование = Истина;
ЭО = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭО.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Ссылка");
ЭО.ВидСравнения = ВидСравненияКомпоновкиДанных.ВИерархии;
ЭО.ПравоеЗначение = эл;
ЭлементУО.Использование = Истина;
КонецПроцедуры
ПоказатьПо теме из базы знаний
- v8.2 Управляемые формы: Динамические элементы формы и переопределяемые события или как изменить поведение и внешний вид управляемой формы программно без лишних хлопот
- Разные хм... неожиданности при работе с УТ 11 и платформой
- Декомпиляция условного оформления
- Программное условное оформление динамического списка, раскраска строк списка по цветам справочника или любым другим условиям (условное оформление)
- Условное оформление формы в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) для динамического списка можно использовать ПриПолученииДанныхНаСервере
Свойство оформление
Свойство оформление
Процедура СписокПриПолученииДанныхНаСервере(ИмяЭлемента, Настройки, Строки)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Штрихкоды.Владелец КАК Владелец,
| Штрихкоды.Штрихкод
|ИЗ
| РегистрСведений.Штрихкоды КАК Штрихкоды
|ГДЕ
| Штрихкоды.Владелец В(&Владелец)
|ИТОГИ ПО
| Владелец";
Запрос.УстановитьПараметр("Владелец", Строки.ПолучитьКлючи());
РезультатЗапроса = Запрос.Выполнить();
ВыборкаВладелец = РезультатЗапроса.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаВладелец.Следующий() Цикл
Штрихкоды="";
КоличествоШК=0;
ВыборкаДетальныеЗаписи = ВыборкаВладелец.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
Штрихкоды=Штрихкоды+?(Штрихкоды="","",",")+ВыборкаДетальныеЗаписи.Штрихкод;
КоличествоШК=КоличествоШК+1;
КонецЦикла;
Попытка
СтрокаСписка=Строки[ВыборкаВладелец.Владелец];
СтрокаСписка.Данные.ШК=КоличествоШК;
СтрокаСписка.Данные.Штрихкоды=Штрихкоды;
Исключение
КонецПопытки;
СтрокаСписка.Оформление["Штрихкоды"].УстановитьЗначениеПараметра("Шрифт", Новый Шрифт(, 7, , , , ));
КонецЦикла;
Показать
как вариант, сначала в запросе ДС, анализируйте вхождение в нужные группы и формируйте колонку Цвет,
затем в УО красьте по условию Если Цвет = 1 Тогда Красный
пример
затем в УО красьте по условию Если Цвет = 1 Тогда Красный
пример
Выбрать
...
спр.Ссылка как Номенклатура,
Выбор
Когда спр.Родитель.Наименование = "Нужная группа" Тогда 1
Когда спр.Родитель.Родитель.Наименование = "Другая группа" Тогда 2
... Тогда 10
Иначе 11
Конец как Цвет
из
Справочник.Номенклатура спр
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот