|
1c 8.3 управляемые формы. Выделение строки цветом | ☑ | ||
---|---|---|---|---|
0
illiona
naïve
16.10.17
✎
05:55
|
Добрый день. Таблица формируется программно и выводится на форму
ЗначениеВРеквизитФормы(ТЗ,"ДанныеФайла"); Подскажите как выделить цветом строки по условию? |
|||
1
1dvd
16.10.17
✎
05:56
|
фпоеске были?
|
|||
2
1dvd
16.10.17
✎
05:57
|
используйте Условное оформление
|
|||
3
illiona
naïve
16.10.17
✎
06:28
|
ЭтаФорма.УсловноеОформление.Элементы.Очистить();
ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ДанныеФайла.Склад"); ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДанныеФайла.Склад"); ЭлементОтбора.ПравоеЗначение = 1; ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Зеленый); Не получается к моей таблице |
|||
4
catena
16.10.17
✎
06:33
|
(3)Что именно не получается?
|
|||
5
Рэйв
16.10.17
✎
06:38
|
(3)А уверена, что
ЭлементОтбора.ПравоеЗначение = 1 а не ЭлементОтбора.ПравоеЗначение = "1" ? |
|||
6
illiona
naïve
16.10.17
✎
06:39
|
Для каждого стр из ЭтаФорма.ДанныеФайла цикл
Если СокрЛП(Стр.Склад) <> "количество" тогда Если СокрЛП(Стр.Склад) <> "цена" тогда ЭтаФорма.УсловноеОформление.Элементы.Очистить(); ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить(); ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить(); ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Стр.Склад); ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Зеленый); КонецЕсли; КонецЕсли; КонецЦикла; ничего не происходит. Наверно нет применения к строке. не могу разобраться как применить к строке |
|||
7
0xFFFFFF
16.10.17
✎
06:57
|
(6) нафига это? У тебя цвета динамически вычисляться будут и ты их заранее не знаешь?
Мышой условное оформление можно настроить, мышой... |
|||
8
catena
16.10.17
✎
07:00
|
(6)э... для каждой строки по условному оформлению?
|
|||
9
catena
16.10.17
✎
07:02
|
(6)Элемент отбора добавила, а заполнить его чем-нибудь не хочешь? Что за понадерганные строки.
|
|||
10
illiona
naïve
16.10.17
✎
07:02
|
у меня таблица программно создается, ее на форме нет изначально. Да оформление по условию для каждой строки
|
|||
11
catena
16.10.17
✎
07:06
|
(10)Не нужно там строки перебирать. Не нужно.
|
|||
12
illiona
naïve
16.10.17
✎
07:10
|
а как сделать по условию?
|
|||
13
catena
16.10.17
✎
07:30
|
(12)У тебя на каждую строчку УСЛОВИЕ разное? Или все-таки условие на таблицу?
|
|||
14
illiona
naïve
16.10.17
✎
07:36
|
одно условие на таблицу получается
|
|||
15
catena
16.10.17
✎
07:40
|
(14)Воооот. Значит и элемент УО один. Осталось определиться с самим условием.
|
|||
16
illiona
naïve
16.10.17
✎
07:49
|
Первый столбец <> цена и количество
|
|||
17
catena
16.10.17
✎
07:58
|
(16)Если первый столбец не цена и не количество, то раскрасить строку зеленым? Я правильно поняла?
|
|||
18
illiona
naïve
16.10.17
✎
08:02
|
да, не могу понять как программно это написать(
|
|||
19
catena
16.10.17
✎
08:06
|
(18) значение первого столбца не должно быть равно столбцу со значением цены и столбцу со значением количества?
|
|||
20
illiona
naïve
16.10.17
✎
08:10
|
у первого столбца не должно быть значение "количество" и "цена".
Пример таблицы Склад | Металл Склад1 | количество | 1 Цена | 2 Склад2 | количество | 3 Цена | 2 |
|||
21
illiona
naïve
16.10.17
✎
08:14
|
Хотела чтоб Строка Склад1, Строка Склад2 были окрашены цветом
|
|||
22
catena
16.10.17
✎
08:19
|
(20) Ну вот, отлично. Значит один элемент УО с двумя элементами отбора.
Какие есть свойства у элемента отбора? |
|||
23
illiona
naïve
16.10.17
✎
09:40
|
Строка = ЭтаФорма.ДанныеФайла;
Строка[0].Склад = получит значение в первой колонке |
|||
24
catena
16.10.17
✎
10:04
|
(23)Более того, в первой строке.
Тебе это не надо. Достаточно быть знакомым с первой колонкой по имени. Ты посмотрела свойства у элемента отбора компоновки? |
|||
25
illiona
naïve
16.10.17
✎
10:06
|
ЗначениеОтбора = "количество";
ЭлементОформления = ЭтаФорма.УсловноеОформление.Элементы.Добавить(); ЭлементыОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлементыОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлементыОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад"); ЭлементыОтбора.ПравоеЗначение = ЗначениеОтбора; ЭлементыОтбора.Использование = Истина; ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,155,0)); //оранжевый ПоляОформления = ЭлементОформления.Поля.Элементы.Добавить(); ПоляОформления.Использование = Истина; |
|||
26
illiona
naïve
16.10.17
✎
10:07
|
не пойму свойства у элемента отбора какие могут быть?
|
|||
27
illiona
naïve
16.10.17
✎
10:16
|
или это обращение к строке?
|
|||
28
catena
16.10.17
✎
10:17
|
(26)Ясно. Не забивай голову.
(25)Отлично. Только мне казалось, что тебе надо НеРавно, но это уже не важно. И как результат? |
|||
29
illiona
naïve
16.10.17
✎
10:20
|
ничего не выделяется
Имя = Строка[0].Склад; ЭлементыОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя); может так? |
|||
30
illiona
naïve
16.10.17
✎
10:21
|
вообще надо неравно) и так и так не получается
|
|||
31
catena
16.10.17
✎
10:38
|
(29)имя КОЛОНКИ. как колонка называется?
И условное оформление, может, не к форме применять, а к таблице, а? |
|||
32
illiona
naïve
16.10.17
✎
10:40
|
колонка называется Склад
Таблица сформирована программно к ней можно обратиться ЭтаФорма.ДанныеФайла |
|||
33
catena
16.10.17
✎
10:42
|
(32)Это очень хорошо, что обратиться к ней теоретически можно. Осталось собраться с силами и применить на практике.
|
|||
34
DrZombi
гуру
16.10.17
✎
10:46
|
Куда мы катимся, уже фото не спрашивают :)
|
|||
35
DrZombi
гуру
16.10.17
✎
10:46
|
(32) «Зачем вам голова?» – «Я в нее ем!»
|
|||
36
illiona
naïve
16.10.17
✎
10:51
|
это самое сложное применить на практике
|
|||
37
illiona
naïve
16.10.17
✎
10:57
|
Строка[0].Склад - обращение к колонке склад
|
|||
38
catena
16.10.17
✎
11:00
|
(37)Да, в первой строке. Ты уводишь разговор в сторону, чтобы не применять УО к таблице? Хочешь запутать противника?
|
|||
39
illiona
naïve
16.10.17
✎
11:31
|
а как если не в цикле их перебрать?
|
|||
40
catena
16.10.17
✎
11:49
|
(39)Вот ты когда открываешь форму справочника, тыкаешь в отбор и пишешь "Наименование" "равно" "ххх" - ты потом сама строки перебираешь, или ОТБОР САМ ВЫБИРАЕТ СТРОКИ, КОТОРЫЕ ТЫ ЗАХОТЕЛА, УКАЗАВ В ОТБОРЕ ВСЕГО ЛИШЬ НАИМЕНОВАНИЕ КОЛОНКИ?
|
|||
41
illiona
naïve
16.10.17
✎
11:53
|
Наименование колонки
|
|||
42
illiona
naïve
16.10.17
✎
11:53
|
ну никак не пойму как программно это сделать
|
|||
43
catena
16.10.17
✎
12:02
|
(42)Примени (25) не к форме, а к таблице.
|
|||
44
illiona
naïve
16.10.17
✎
12:15
|
Элемент = УсловноеОформление.Элементы.Добавить();
ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ТаблицаДанныхФайла"); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ТаблицаДанныхФайла.Склад"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; ОтборЭлемента.ПравоеЗначение = "количество"; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Зеленый); Красит все |
|||
45
illiona
naïve
16.10.17
✎
12:15
|
не отдельные строки
|
|||
46
catena
16.10.17
✎
12:25
|
ЭлементУсловногоОформленияКомпоновкиДанных (DataCompositionConditionalAppearanceItem)
Поля (Fields) Использование: Только чтение. Описание: Тип: ОформляемыеПоляКомпоновкиДанных. Содержит набор оформляемых полей. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. |
|||
47
catena
16.10.17
✎
12:25
|
Скажи честно, ты просто рандомно переставляешь слова в коде в надежде, что кто-то тут сдастся и напишет рабочий вариант?
|
|||
48
illiona
naïve
16.10.17
✎
12:42
|
пробую,ищу на форумах. Если б знала, как программно сделать уже бы закрыла тему :(
|
|||
49
illiona
naïve
18.10.17
✎
09:21
|
Все получилось. Всем спасибо.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |