| 
    
            
         
         | 
    
  | 
Раскраска строк в табличной части документа. | ☑ | ||
|---|---|---|---|---|
| 
    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с автоматом справа выдаёт список значений этого перечисления для выбора     
         | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |