Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

1c 8.3 управляемые формы. Выделение строки цветом

1c 8.3 управляемые формы. Выделение строки цветом
Я
   illiona
 
16.10.17 - 05:55
Добрый день. Таблица формируется программно и выводится на форму 
ЗначениеВРеквизитФормы(ТЗ,"ДанныеФайла");

Подскажите как выделить цветом строки по условию?
 
 
   1dvd
 
1 - 16.10.17 - 05:56
фпоеске были?
   1dvd
 
2 - 16.10.17 - 05:57
используйте Условное оформление
   illiona
 
3 - 16.10.17 - 06:28
ЭтаФорма.УсловноеОформление.Элементы.Очистить();
    ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
    ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("ДанныеФайла.Склад");
    ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ДанныеФайла.Склад");
    ЭлементОтбора.ПравоеЗначение = 1;
    ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Зеленый); 

Не получается к моей таблице
   catena
 
4 - 16.10.17 - 06:33
(3)Что именно не получается?
   Рэйв
 
5 - 16.10.17 - 06:38
(3)А уверена, что 
ЭлементОтбора.ПравоеЗначение = 1
а не
ЭлементОтбора.ПравоеЗначение = "1"
?
   illiona
 
6 - 16.10.17 - 06:39
Для каждого стр из ЭтаФорма.ДанныеФайла цикл
        Если СокрЛП(Стр.Склад) <> "количество" тогда
            Если СокрЛП(Стр.Склад) <> "цена" тогда
                ЭтаФорма.УсловноеОформление.Элементы.Очистить();
                ЭлементУсловногоОформления = УсловноеОформление.Элементы.Добавить();
                ОформляемоеПоле = ЭлементУсловногоОформления.Поля.Элементы.Добавить();
                ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(Стр.Склад);
                ЭлементОтбора = ЭлементУсловногоОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
                ЭлементУсловногоОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Зеленый);
            КонецЕсли;
        КонецЕсли;
    КонецЦикла;

ничего не происходит. Наверно нет применения к строке. не могу разобраться как применить к строке
   0xFFFFFF
 
7 - 16.10.17 - 06:57
(6) нафига это? У тебя цвета динамически вычисляться будут и ты их заранее не знаешь?
Мышой условное оформление можно настроить, мышой...
   catena
 
8 - 16.10.17 - 07:00
(6)э... для каждой строки по условному оформлению?
   catena
 
9 - 16.10.17 - 07:02
(6)Элемент отбора добавила, а заполнить его чем-нибудь не хочешь? Что за понадерганные строки.
   illiona
 
10 - 16.10.17 - 07:02
у меня таблица программно создается, ее на форме нет изначально. Да оформление по условию для каждой строки
 
 Рекламное место пустует
   catena
 
11 - 16.10.17 - 07:06
(10)Не нужно там строки перебирать. Не нужно.
   illiona
 
12 - 16.10.17 - 07:10
а как сделать по условию?
   catena
 
13 - 16.10.17 - 07:30
(12)У тебя на каждую строчку УСЛОВИЕ разное? Или все-таки условие на таблицу?
   illiona
 
14 - 16.10.17 - 07:36
одно условие на таблицу получается
   catena
 
15 - 16.10.17 - 07:40
(14)Воооот. Значит и элемент УО один. Осталось определиться с самим условием.
   illiona
 
16 - 16.10.17 - 07:49
Первый столбец <> цена и количество
   catena
 
17 - 16.10.17 - 07:58
(16)Если первый столбец не цена и не количество, то раскрасить строку зеленым? Я правильно поняла?
   illiona
 
18 - 16.10.17 - 08:02
да, не могу понять как программно это написать(
   catena
 
19 - 16.10.17 - 08:06
(18) значение первого столбца не должно быть равно столбцу со значением цены и столбцу со значением количества?
   illiona
 
20 - 16.10.17 - 08:10
у первого столбца не должно быть значение "количество" и "цена".
Пример таблицы
Склад | Металл
Склад1  |
количество | 1
Цена | 2
Склад2 |
количество | 3
Цена | 2
   illiona
 
21 - 16.10.17 - 08:14
Хотела чтоб Строка Склад1, Строка Склад2 были окрашены цветом
   catena
 
22 - 16.10.17 - 08:19
(20) Ну вот, отлично. Значит один элемент УО с двумя элементами отбора.

Какие есть свойства у элемента отбора?
   illiona
 
23 - 16.10.17 - 09:40
Строка = ЭтаФорма.ДанныеФайла;
Строка[0].Склад = получит значение в первой колонке
   catena
 
24 - 16.10.17 - 10:04
(23)Более того, в первой строке.
Тебе это не надо. Достаточно быть знакомым с первой колонкой по имени.

Ты посмотрела свойства у элемента отбора компоновки?
   illiona
 
25 - 16.10.17 - 10:06
ЗначениеОтбора = "количество";
    ЭлементОформления = ЭтаФорма.УсловноеОформление.Элементы.Добавить();
    ЭлементыОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементыОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
    ЭлементыОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Склад");
    ЭлементыОтбора.ПравоеЗначение = ЗначениеОтбора;
    ЭлементыОтбора.Использование = Истина;
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(255,155,0));    //оранжевый

 
    ПоляОформления = ЭлементОформления.Поля.Элементы.Добавить();
    ПоляОформления.Использование = Истина;
   illiona
 
26 - 16.10.17 - 10:07
не пойму свойства у элемента отбора какие могут быть?
   illiona
 
27 - 16.10.17 - 10:16
или это обращение к строке?
   catena
 
28 - 16.10.17 - 10:17
(26)Ясно. Не забивай голову.

(25)Отлично. Только мне казалось, что тебе надо НеРавно, но это уже не важно. И как результат?
   illiona
 
29 - 16.10.17 - 10:20
ничего не выделяется
Имя = Строка[0].Склад;
 ЭлементыОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(Имя);
 
может так?
   illiona
 
30 - 16.10.17 - 10:21
вообще надо неравно) и так и так не получается
   catena
 
31 - 16.10.17 - 10:38
(29)имя КОЛОНКИ. как колонка называется?
И условное оформление, может, не к форме применять, а к таблице, а?
   illiona
 
32 - 16.10.17 - 10:40
колонка называется Склад
Таблица сформирована программно к ней можно обратиться ЭтаФорма.ДанныеФайла
   catena
 
33 - 16.10.17 - 10:42
(32)Это очень хорошо, что обратиться к ней теоретически можно. Осталось собраться с силами и применить на практике.
 
 
   DrZombi
 
34 - 16.10.17 - 10:46
Куда мы катимся, уже фото не спрашивают :)
   DrZombi
 
35 - 16.10.17 - 10:46
(32) «Зачем вам голова?» – «Я в нее ем!»
   illiona
 
36 - 16.10.17 - 10:51
это самое сложное применить на практике
   illiona
 
37 - 16.10.17 - 10:57
Строка[0].Склад - обращение к колонке склад
   catena
 
38 - 16.10.17 - 11:00
(37)Да, в первой строке. Ты уводишь разговор в сторону, чтобы не применять УО к таблице? Хочешь запутать противника?
   illiona
 
39 - 16.10.17 - 11:31
а как если не в цикле их перебрать?
   catena
 
40 - 16.10.17 - 11:49
(39)Вот ты когда открываешь форму справочника, тыкаешь в отбор и пишешь "Наименование" "равно" "ххх" - ты потом сама строки перебираешь, или ОТБОР САМ ВЫБИРАЕТ СТРОКИ, КОТОРЫЕ ТЫ ЗАХОТЕЛА, УКАЗАВ В ОТБОРЕ ВСЕГО ЛИШЬ НАИМЕНОВАНИЕ КОЛОНКИ?
   illiona
 
41 - 16.10.17 - 11:53
Наименование колонки
   illiona
 
42 - 16.10.17 - 11:53
ну никак не пойму как программно это сделать
   catena
 
43 - 16.10.17 - 12:02
(42)Примени (25) не к форме, а к таблице.
   illiona
 
44 - 16.10.17 - 12:15
Элемент = УсловноеОформление.Элементы.Добавить();

    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ТаблицаДанныхФайла");

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

Красит все
   illiona
 
45 - 16.10.17 - 12:15
не отдельные строки
   catena
 
46 - 16.10.17 - 12:25
ЭлементУсловногоОформленияКомпоновкиДанных (DataCompositionConditionalAppearanceItem)
Поля (Fields)
Использование:

Только чтение.
Описание:

Тип: ОформляемыеПоляКомпоновкиДанных.
Содержит набор оформляемых полей.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
   catena
 
47 - 16.10.17 - 12:25
Скажи честно, ты просто рандомно переставляешь слова в коде в надежде, что кто-то тут сдастся и напишет рабочий вариант?
   illiona
 
48 - 16.10.17 - 12:42
пробую,ищу на форумах. Если б знала, как программно сделать уже бы закрыла тему :(
   illiona
 
49 - 18.10.17 - 09:21
Все получилось. Всем спасибо.
 
 Рекламное место пустует


Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует