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


Раскраска строк в табличной части документа.

Раскраска строк в табличной части документа.
Я
   Grekos2
 
07.11.16 - 12:27
Почитал яндекс и написал вот такой код:

         Эли     = ЭтаФорма.Элементы;
       УсОф = ЭтаФорма.УсловноеОформление;   
       ЭлОформления = УсОф.Элементы.Добавить();    
       ЭлОтбора = ЭлОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
       ЭлОтбора.ЛевоеЗначение     =     Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура.ПринадлежностьФраншизе");
       ЭлОтбора.ВидСравнения    =     ВидСравненияКомпоновкиДанных.Равно;
       ЭлОтбора.Использование    =     Истина;
       ЭлОтбора.ПравоеЗначение    =     Перечисления.ПринадлежностьФраншизе.Заказной;
       
       Элемен                     =     ЭлОформления.Оформление.Элементы[1];
       Элемен.Использование        =    Истина;
       Элемен.Значение            =    Новый Цвет(167,0,0);

   Но почему то раскраски не происходит.
 
 
   Grekos2
 
1 - 07.11.16 - 12:29
Код в процедуре 
 &НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
   FIXXXL
 
2 - 07.11.16 - 12:30
(1) зайди в условное оформление формы и для начала накидай там своё видение раскраски руками, а не кодом
   Grekos2
 
3 - 07.11.16 - 13:08
Получается , что внутрь номенклатуры не залезть.

Вот так нельзя:
    Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура.ПринадлежностьФраншизе");

 А можно только так :
   Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура");
   mistеr
 
4 - 07.11.16 - 13:11
(3) Нужно вытащить нужный реквизит в запросе.
   Grekos2
 
5 - 07.11.16 - 13:37
переделал на вот так вот :

       Эли     = ЭтаФорма.Элементы;
       УсОф = ЭтаФорма.УсловноеОформление;   
       ЭлОформления = УсОф.Элементы.Добавить();    
       ЭлОтбора = ЭлОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
       ЭлОтбора.ЛевоеЗначение     =     Новый ПолеКомпоновкиДанных("Объект.Товары.Номенклатура");
       ЭлОтбора.ВидСравнения    =     ВидСравненияКомпоновкиДанных.ВСписке;
       ЭлОтбора.Использование    =     Истина;
       СЗПравый = Новый СписокЗначений;
       Для каждого стрТЧ из Объект.Товары Цикл
          Если стрТЧ.Номенклатура.ПринадлежностьФраншизе = Перечисления.ПринадлежностьФраншизе.Заказной Тогда 
                  СЗПравый.Добавить(стрТЧ.Номенклатура); 
          КонецЕсли;    
       КонецЦикла;        
       ЭлОтбора.ПравоеЗначение    =     СЗПравый;
       Элемен                     =     ЭлОформления.Оформление.Элементы[1];
       Элемен.Использование        =    Истина;
       Элемен.Значение            =    Новый Цвет(0,255,0);
   Grekos2
 
6 - 07.11.16 - 13:37
Все равно не работает
   h-sp
 
7 - 07.11.16 - 13:45
может сначала ЭлОтбора.ВидСравнения задать, а не потом?
   МимохожийОднако
 
8 - 07.11.16 - 13:55
Включи полный поиск по типовой конфигурации ".УсловноеОформление". Глядишь и найдёшь пример.
   Grekos2
 
9 - 07.11.16 - 14:15
(7) Не помогло
   разработчик 1с
 
10 - 07.11.16 - 14:17
почему в форме настройками не делаешь?
 
 Рекламное место пустует
   Grekos2
 
11 - 07.11.16 - 14:17
Воспользовался гениальным советом (8).

Добавил:

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

 Заработало.
   Grekos2
 
12 - 07.11.16 - 14:17
(10) Не разобрался как заполнять правое значение в отборе потому что.
   разработчик 1с
 
13 - 07.11.16 - 14:32
(12) когда слева выбираешь реквизит с типом перечисление, 1с автоматом справа выдаёт список значений этого перечисления для выбора

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