|
Условное оформление группировки | ☑ | ||
---|---|---|---|---|
0
Dantes80
25.12.24
✎
13:07
|
Привет, с таким вопросом, есть динамическая таблица и в ней группировка, как сделать условное оформление группировки?
ps. отдельно по полям в группе не ставится оформление |
|||
1
Dantes80
25.12.24
✎
13:08
|
УТ11
Если что сам код таблицы и уо: МассивТипаВыбора = Новый Массив; МассивТипаВыбора.Добавить(Тип("ТаблицаЗначений")); ОписаниеТипаВыбора = Новый ОписаниеТипов(МассивТипаВыбора); МассивРеквизитов = Новый Массив; МассивРеквизитов.Добавить(Новый РеквизитФормы("ПредметыЛизинга", ОписаниеТипаВыбора, "", "ТЗН")); ТЗ = Новый ТаблицаЗначений; ТЗ.Колонки.Добавить("Наименование", ОбщегоНазначения.ОписаниеТипаСтрока(100)); ТЗ.Колонки.Добавить("КоличествоБП2", ОбщегоНазначения.ОписаниеТипаЧисло(10, 3)); ТЗ.Колонки.Добавить("КоличествоБП3", ОбщегоНазначения.ОписаниеТипаЧисло(10, 3)); Для Каждого Колонка Из ТЗ.Колонки Цикл МассивРеквизитов.Добавить(Новый РеквизитФормы(Колонка.Имя, Колонка.ТипЗначения,"ПредметыЛизинга")); КонецЦикла; ИзменитьРеквизиты(МассивРеквизитов); ТаблицаПолейВыбора = Элементы.Добавить("ТЗН", Тип("ТаблицаФормы")); ТаблицаПолейВыбора.ПутьКДанным = "ПредметыЛизинга"; ТаблицаПолейВыбора.Отображение = ОтображениеТаблицы.Список; НовыйЭлемент = Элементы.Добавить("Наименование", Тип("ПолеФормы"), ТаблицаПолейВыбора); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "ПредметыЛизинга.Наименование"; Группа = Элементы.Добавить("Количество",Тип("ГруппаФормы"),ТаблицаПолейВыбора); Группа.Вид = ВидГруппыФормы.ГруппаКолонок; Для Каждого Колонка Из ТЗ.Колонки Цикл Если СтрНайти(Колонка.Имя,"К") = 1 Тогда НовыйЭлемент = Элементы.Добавить(Колонка.Имя, Тип("ПолеФормы"), ТаблицаПолейВыбора); НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода; НовыйЭлемент.ПутьКДанным = "ПредметыЛизинга." + Колонка.Имя; Элементы.Переместить(НовыйЭлемент,Группа,Группа); КонецЕсли; КонецЦикла; //Заполнение данными НовСтр = ТЗ.Добавить(); НовСтр.Наименование = "Тарелки"; НовСтр.КоличествоБП2 = 10; НовСтр.КоличествоБП3 = 10; НовСтр = ТЗ.Добавить(); НовСтр.Наименование = "Ложки"; НовСтр.КоличествоБП2 = 9; НовСтр.КоличествоБП3 = 10; НовСтр = ТЗ.Добавить(); НовСтр.Наименование = "Вилки"; НовСтр.КоличествоБП2 = 2; НовСтр.КоличествоБП3 = 2; НовСтр = ТЗ.Добавить(); НовСтр.Наименование = "Чашки"; НовСтр.КоличествоБП2 = 6; НовСтр.КоличествоБП3 = 2; ЭтаФорма.ЗначениеВРеквизитФормы(ТЗ, "ПредметыЛизинга"); //УО НовыйЭлементУО = УсловноеОформление.Элементы.Добавить(); НастройкаОтбора = НовыйЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НастройкаОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПредметыЛизинга.КоличествоБП2"); НастройкаОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; НастройкаОтбора.ПравоеЗначение = Новый ПолеКомпоновкиДанных("ПредметыЛизинга.КоличествоБП3"); ОформлениеЦветФона = НовыйЭлементУО.Оформление.Элементы.Найти("ЦветФона"); ОформлениеЦветФона.Значение = WebЦвета.ЛососьСветлый; ОформлениеЦветФона.Использование = Истина; ОформляемоеПоле = НовыйЭлементУО.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ПредметыЛизингаКоличествоБП3"); |
|||
2
Dantes80
25.12.24
✎
13:24
|
Сейчас почитал, что УО нельзя применять к группам, нужно к самим полям, не подскажете какой путь указать, что бы применить к полям количествобп2/3?
Пробовал: ПредметыЛизингаКоличествоБП3, ПредметыЛизингаКоличествоКоличествоБП3,ТЗНКоличествоБП3,ТЗНКоличествоКоличествоБП3,ТЗНПредметыЛизингаКоличествоБП3 При УО таблицы ТЗН в целом, оформляется вся строка нормально, а вот к полям попасть вообще не могу |
|||
3
Волшебник
25.12.24
✎
13:28
|
абстрактная херня
|
|||
4
Волшебник
25.12.24
✎
13:28
|
ложки, тарелки... в лизинг... ага
|
|||
5
Dantes80
25.12.24
✎
13:33
|
(4) очевидно же, что ложки тарелки для примера на тестовую обработку закинул, не сразу же данными заполнят
|
|||
6
Волшебник
25.12.24
✎
13:34
|
(5) Очевидно же, что Вы жертва БСП и вообще не понимаете сути работы программиста 1С
|
|||
7
Dantes80
25.12.24
✎
13:38
|
(6) подскажите уже пожалуйста, как обратиться к полю, уже все форумы перерыл, вообще найти не могу. Понимаю что ответ скорее всего прям очевидный будет
|
|||
8
Волшебник
25.12.24
✎
13:40
|
(7) Ой, хватит заливать... Форумы перерыл... Сколько пальцев на фото?
![]() |
|||
9
Dantes80
25.12.24
✎
13:42
|
(8) 6)именно что перерыл, ищу по запросу "условное оформление группировки"
|
|||
10
НоваяВолна
25.12.24
✎
14:44
|
(7) И где ты искал, интересно узнать?
https://www.koderline.ru/expert/narabotki/article-uslovnoe-oformlenie-dinamicheskogo-spiska-v-1s-predpriyatii-8/ |
|||
11
Волшебник
25.12.24
✎
14:47
|
(9) Что ты врёшь всем в лицо?! Как ты посмел?!
|
|||
12
Мультук
гуру
25.12.24
✎
16:14
|
(1)
Я думаю, что проблема в УсловноеОформление.ДоступныеПоляПолей Там пусто. Вероятно они заполняются "чудесным образом" и при при добавлении динамически созданных реквизитов должны (кому должны ?) перезаполниться. В ИТС ничего умного не нашёл P.S. По "УсловноеОформление.ДоступныеПоляПолей" нашёл чудесное (я про условие). Так что видимо я прав. Если ЭтотОбъект[ИмяСписка].УсловноеОформление.ДоступныеПоляПолей.НайтиПоле(ПолеЕстьНевалидныеПодписиПоМЧД) <> Неопределено Тогда Элемент = ЭтотОбъект[ИмяСписка].УсловноеОформление.Элементы.Добавить(); Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЦветТекстаНеУдачнаяПроверкаМЧД); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = ПолеЕстьНевалидныеПодписиПоМЧД; ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Истина; КонецЕсли; |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |