Имя: Пароль:
1C
1С v8
СКД. Установка цвета выводимым ресурсам
0 napagokc
 
16.11.12
07:54
http://www.fotolink.su/pic_s/2ea95aefee421eea2ba240c781e399a0.gif
Сложно объяснить, проще показать (см картинку). Как сделать так, чтобы, например, для Склада Оборот выводился синим цветом, а для ЦФУ красным?
Использую стандартный встроенный макет. Цвета для Склада и ЦФУ настроил на вкладке "Макет", добавив макет поля и задав ему цвет. А вот с Оботором (как и с начальным и конечным остатком) разобраться не могу. Они не относятся к какому-то отдельному полю группировки и показываются по всем полям сразу. Что делать?
1 Cube
 
16.11.12
07:55
Условное оформление.
2 napagokc
 
16.11.12
07:55
(1) Эмм? Можно подробнее, плз
3 Cube
 
16.11.12
07:56
(0) Погоди-погоди, ты раскрашиваешь группировки в макете? Этож быдлокод! Смотри (1).
4 napagokc
 
16.11.12
07:56
(3) Я только осваиваю СКД. Что такое "условное оформление"? Где это?
5 Cube
 
16.11.12
07:57
(2) Куда уж подробнее. Почитай про условное оформление в СКД, так понятнее?
6 napagokc
 
16.11.12
07:57
+(4) Свой макет создавать, что ли?
7 Cube
 
16.11.12
07:57
(4) Возьми и почитай книжку Хрусталевой - лучшая книга по СКД. Потом приходи.
8 napagokc
 
16.11.12
07:59
(7) У меня она есть, но я ее по диагонали читал. Что-то все время найти не могу... Вот и изучаю по факту :(
9 napagokc
 
16.11.12
09:09
Убрал оформление для Склада из макета, сделал через Условное оформление (см рис)

http://www.fotolink.su/pic_s/b1a08554c4b114622d0f1919835f88cf.gif

Но в результате в отчете просто никак не оформляются эти строки (т.к. убрал оформление из макета).
Если использовать оформление не для "Склад(Склад)", а для "Отбор", то оно работает, но накладывается на все вложенные группировки. Что не так делаю?
10 napagokc
 
16.11.12
09:15
+(9) *"Отбор" = "Отчет"
11 napagokc
 
16.11.12
09:20
Омг... Походу разобрался...
У меня в зависимости от одной константы отчет строится либо по шаблону, созданному в конфигураторе, либо программно. Если отчет строится по шаблону, то все нормально раскрашивается, а если программно, то нет. Что-то я об этом не подумал. Буду искать, как добавить условное оформление программно
12 Cube
 
16.11.12
09:33
(11) Если у тебя схема компоновки строится не программно, то условное оформление, которое ты указал в схеме (в конфигураторе), должно отрабатывать.
13 napagokc
 
16.11.12
11:24
(12) Да-да, оно все корректно отрабатывает.

Если кому нужно, то ниже привожу пример для одной из моих группировок. Остальные делаются аналогично.
Да, у меня пока линейно все написано, без циклов. Потом оптимизирую...

ТекНастройкиКомпоновщика = КомпоновщикНастроек.Настройки;
ТекНастройкиКомпоновщика.Структура.Очистить();

//добавить группировку

ГруппировкаПоМатериалу = ТекНастройкиКомпоновщика.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
ГруппировкаПоМатериалу.Имя = "Материал";
ГруппировкаПоМатериалу.Использование = Истина;

//созданная группировка по полю "Материал"

ПолеГруппировкиМатериал = ГруппировкаПоМатериалу.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));      
ПолеГруппировкиМатериал.Использование  = Истина;
ПолеГруппировкиМатериал.Поле           = Новый ПолеКомпоновкиДанных("МатериалИмя");
ПолеГруппировкиМатериал.ТипДополнения  = ТипДополненияПериодаКомпоновкиДанных.БезДополнения;
   
ПолеГруппировкиМатериал = ГруппировкаПоМатериалу.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));      
ПолеГруппировкиМатериал.Использование  = Истина;
ПолеГруппировкиМатериал.Поле           = Новый ПолеКомпоновкиДанных("МатериалКод");
ПолеГруппировкиМатериал.ТипДополнения  = ТипДополненияПериодаКомпоновкиДанных.БезДополнения;

// добавим Условное оформление

УслОф=ГруппировкаПоМатериалу.УсловноеОформление.Элементы.Добавить();
УслОф.Использование = Истина;
ЭлОф = УслОф.Оформление.Элементы.Найти("Шрифт");
ЭлОф.Значение      = Новый Шрифт(ЭлОф.Значение, , , Истина);
ЭлОф.Использование = Истина;
// цвет фона можно задать так:
//ЭлОф=УслОф.Оформление.Элементы.Найти("ЦветФона");
//ЭлОф.Использование=Истина;
//ЭлОф.Значение=Новый Цвет(222,217,204);
   
//добавить выводимые поля в группировке:

АвтоПоле = ГруппировкаПоМатериалу.Выбор.Элементы.Добавить(Тип("АвтоВыбранноеПолеКомпоновкиДанных"));
АвтоПоле.Использование = Истина;


Но у меня еще вопрос есть: у меня осталась одна группировка (<Детальные записи> Шапка, см рис из (9)), которая включает в себя два параметра. Сейчас у меня оформлена эта Шапка на вкладке "Макеты" СКД (там же, где у меня раньше и остальные группировки были оформлены). Можно ли как-нибудь выводить эту группировку с двумя параметрами (там начало и конец периода), не используя вкладку "Макеты"?
14 Cube
 
16.11.12
11:51
(13) Нет. Шапку и подвал только через макеты... А что не устраивает?
15 napagokc
 
16.11.12
11:58
(14) Просто думал, что есть еще какой-то более легкий способ, о котором я тоже пока ничего не знаю. Ну, еще я заметил минус небольшой от этих макетов: при формировании отчета сначала, похоже, читаются эти макеты, а потом уже строится сам отчет. При этом, индикатор прогресса почти моментально доходит до 50% (т.к. макетов почти нет), а потом дооооолго думает над остальными 50% =) Не очень красиво просто.
Ну, если по-другому нельзя, то ладно. Спасибо за помощь.
16 GANR
 
16.11.12
12:15
(0)(4)
1. "Отчет \ Основная схема компоновки данных \ Настройки".
2. Наводишь синий курсор на нужную тебе группировку (или слово "Отчет" - тогда ко всему отчету применятся настройки) в верхнем правом окне закладки "Настройки".
3. Далее закладка "Условное оформление".
4. Добавляешь в таблицу знаком "+" новый элемент.
5. Настраиваешь как тебе надо и задаешь поля какие тебе надо. Если надо - задаешь условие (но это не случай (0)).

Всё понятно?
17 GANR
 
16.11.12
12:24
18 napagokc
 
16.11.12
16:02
ну вот... делал-делал отчет, все хорошо получилось, все замечательно. Отдал тестировщикам, они поставили период на один год и отчет рухнул с ошибкой "Недостаточно памяти" :( Я когда отлаживал тестил с периодом в месяц, чтобы не ждать долго, а тут такое дело. Что ж делать-то теперь? Данных действительно много, без этого никуда. :(
Погуглил, советуют умышленно отключать возможности СКД как раз уходом к вкладке "Макеты" (как у меня изначально было) и без включения ПараметраРасшифровки... :(
19 France
 
16.11.12
16:08
не тяни лишние данные..
20 napagokc
 
16.11.12
16:10
(19) Нет ничего лишнего. Оборотов много очень просто. За год - вообще тьма-тьмущая получается
21 napagokc
 
16.11.12
16:11
+(20) Этот отчет переделывался в СКД из обычного самописного. Так вот самописный работает, а СКД падает...
22 France
 
16.11.12
17:00
а запрос сюдым можно?