|
ОтборСтрок на УФ если условие больше или меньше | ☑ | ||
---|---|---|---|---|
0
Dmitry_333
27.08.20
✎
11:12
|
Всем доброго дня.
Подскажите, пожалуйста, как быть если нужно прописать вид сравнения больше или меньше? Когда отбор по совпадению, все понятно, например Отбор = Новый Структура("Заказ", 30); Элементы.ТабИтоговая.ОтборСтрок = Новый ФиксированнаяСтруктура(Отбор); Но как сделать отбор строк по больше или меньше? |
|||
1
Ёпрст
27.08.20
✎
11:15
|
(0) через компоновщик жешь.. и там условие сравнения какое нажо жешь
|
|||
2
FIXXXL
27.08.20
✎
11:17
|
(0)
ТабИтоговая - это ТЗ? если есть однозначный "ключ" строки, можно в цикле или запросом перебрать ТабИтоговая, подходящие "ключи" сложить в массив и его уже использовать как Отбор |
|||
3
Dmitry_333
27.08.20
✎
11:29
|
(1) Пробовал. Почему-то очищает всю таб часть.
МассивИменКолонокДляПодсветки = Новый Массив; Для каждого Стр из Элементы.ТабИтоговая.ПодчиненныеЭлементы Цикл МассивИменКолонокДляПодсветки.Добавить(Стр.Имя); КонецЦикла; ЭлементОформления = УсловноеОформление.Элементы.Добавить(); ЭлементОформления.Использование = Истина; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Видимость", ЛОЖЬ); ЭлементУсловия = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТабИтоговая.Заказ"); ЭлементУсловия.ПравоеЗначение = 30; ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше; ЭлементУсловия.Использование = Истина; Для каждого ТекЭлемент из МассивИменКолонокДляПодсветки Цикл ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ТекЭлемент); КонецЦикла; |
|||
4
acht
27.08.20
✎
11:41
|
(0) Добавь булеву колонку типа "УдовлетворяетОтбору", настрой по ней свой отбор, значения пересчитывай по необходимости - циклом или при редактировании.
|
|||
5
Ёпрст
27.08.20
✎
11:46
|
(3) эээ.. а каким боком условное оформление к отбору строк ?
Тебе строки нужно отобрать (т.е отбор наложить) или всё же через условное форомление что-то покрасить/скрыть ? |
|||
6
Dmitry_333
27.08.20
✎
11:47
|
(4) Спасибо. Это хороший вариант.
|
|||
7
Dmitry_333
27.08.20
✎
11:48
|
(5) Если идти через условное оформление, то соответственно скрыть строки не удовлетворяющие условию.
|
|||
8
Dmitry_333
27.08.20
✎
11:55
|
Должно же быть для УФ "типовое" решение с методом ОтборСтрок. Для ОФ же все оч. лаконично:
ЭлементыФормы.тпТовары.ОтборСтрок.Цена.ВидСравнения = ВидСравнения.БольшеИлиРавно; ЭлементыФормы.тпТовары.ОтборСтрок.Цена.Значение = 30; |
|||
9
acht
27.08.20
✎
11:57
|
(3) Попробуй, кстати, вместо "Видимость" поставить "Отображать"
|
|||
10
Ёпрст
27.08.20
✎
11:59
|
(7) у тебя таблица значений на форме или динамический список ?
|
|||
11
Ёпрст
27.08.20
✎
12:00
|
если тз, то через построитель можно слепить твой отбор
|
|||
12
Dmitry_333
27.08.20
✎
12:01
|
(10) Таб значений
|
|||
13
Dmitry_333
27.08.20
✎
12:02
|
(9) Пробовал, тоже самое.
|
|||
14
youalex
27.08.20
✎
13:17
|
(8) Для ОФ работало же вроде только для ТЧ?
по теме - как вариант, можно сделать колонку Булево (невидимую) , заполнять ее по логике условия, и делать отбор по ней |
|||
15
Dmitry_333
27.08.20
✎
13:18
|
(14) Да, так и сделал в результате.
|
|||
16
youalex
27.08.20
✎
13:43
|
(15) Но вообще странно, у меня на простейшем примере твой код работает. может у тебя еще есть группы колонок? Ну то есть не все элементы/поля прямо подчинены таблице формы?
|
|||
17
Dmitry_333
27.08.20
✎
17:52
|
(16) Нет, групп нет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |