|
Раскраска строк в табличной части документа. | ☑ | ||
---|---|---|---|---|
0
Grekos2
07.11.16
✎
12:27
|
Почитал яндекс и написал вот такой код:
Эли = ЭтаФорма.Элементы; УсОф = ЭтаФорма.УсловноеОформление; ЭлОформления = УсОф.Элементы.Добавить(); ЭлОтбора = ЭлОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура.ПринадлежностьФраншизе"); ЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ЭлОтбора.Использование = Истина; ЭлОтбора.ПравоеЗначение = Перечисления.ПринадлежностьФраншизе.Заказной; Элемен = ЭлОформления.Оформление.Элементы[1]; Элемен.Использование = Истина; Элемен.Значение = Новый Цвет(167,0,0); Но почему то раскраски не происходит. |
|||
1
Grekos2
07.11.16
✎
12:29
|
Код в процедуре
&НаСервере Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка) |
|||
2
FIXXXL
07.11.16
✎
12:30
|
(1) зайди в условное оформление формы и для начала накидай там своё видение раскраски руками, а не кодом
|
|||
3
Grekos2
07.11.16
✎
13:08
|
Получается , что внутрь номенклатуры не залезть.
Вот так нельзя: Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура.ПринадлежностьФраншизе"); А можно только так : Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура"); |
|||
4
mistеr
07.11.16
✎
13:11
|
(3) Нужно вытащить нужный реквизит в запросе.
|
|||
5
Grekos2
07.11.16
✎
13:37
|
переделал на вот так вот :
Эли = ЭтаФорма.Элементы; УсОф = ЭтаФорма.УсловноеОформление; ЭлОформления = УсОф.Элементы.Добавить(); ЭлОтбора = ЭлОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ЭлОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура"); ЭлОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.ВСписке; ЭлОтбора.Использование = Истина; СЗПравый = Новый СписокЗначений; Для каждого стрТЧ из Объект.Товары Цикл Если стрТЧ.Номенклатура.ПринадлежностьФраншизе = Перечисления.ПринадлежностьФраншизе.Заказной Тогда СЗПравый.Добавить(стрТЧ.Номенклатура); КонецЕсли; КонецЦикла; ЭлОтбора.ПравоеЗначение = СЗПравый; Элемен = ЭлОформления.Оформление.Элементы[1]; Элемен.Использование = Истина; Элемен.Значение = Новый Цвет(0,255,0); |
|||
6
Grekos2
07.11.16
✎
13:37
|
Все равно не работает
|
|||
7
h-sp
07.11.16
✎
13:45
|
может сначала ЭлОтбора.ВидСравнения задать, а не потом?
|
|||
8
Мимохожий Однако
07.11.16
✎
13:55
|
Включи полный поиск по типовой конфигурации ".УсловноеОформление". Глядишь и найдёшь пример.
|
|||
9
Grekos2
07.11.16
✎
14:15
|
(7) Не помогло
|
|||
10
разработчик 1с
07.11.16
✎
14:17
|
почему в форме настройками не делаешь?
|
|||
11
Grekos2
07.11.16
✎
14:17
|
Воспользовался гениальным советом (8).
Добавил: ПолеЭлемента = ЭлОформления.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Товары.Имя); Заработало. |
|||
12
Grekos2
07.11.16
✎
14:17
|
(10) Не разобрался как заполнять правое значение в отборе потому что.
|
|||
13
разработчик 1с
07.11.16
✎
14:32
|
(12) когда слева выбираешь реквизит с типом перечисление, 1с автоматом справа выдаёт список значений этого перечисления для выбора
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |