Имя: Пароль:
1C
1С v8
программное изменение значение заголовка группировки в СКД
,
0 Kurbash
 
04.09.15
08:07
Всем привет. Собственно говоря сабж. Есть отчет в СКД, свой макет рисавать не нужно, на вкладке "Поля" сгрупировал несколько полей, проблема только в одном: как при выводе менять заголовок группировки с условием? например Если заголовок="А" Тогда заголовок ="АА" КонецЕсли;
1 Kurbash
 
04.09.15
08:18
апну
2 Kurbash
 
04.09.15
09:16
ау, люди
3 Armando
 
04.09.15
09:19
Лучше на картинках покажи как есть и как надо.
4 Devourer
 
04.09.15
09:21
Вывод отчета программный?
5 StillEnough
 
04.09.15
09:23
смутно помню, что похожее пытался сделать, но от наименования не попляшешь. Максимум значения полей ворочать.
6 Kurbash
 
04.09.15
09:24
http://prntscr.com/8cen9m
желтым как есть белым как надо
7 Kurbash
 
04.09.15
09:27
(4) нет. модуль пустой отчета
8 Devourer
 
04.09.15
09:30
Без программного формирования отчета ИМХО не обойтись.
Настройки полей СКД, насколько помню, указываются в момент их создания и недоступны для редактирования.
Скорее всего придется создавать схему компоновки программно и при создании указывать заголовки по условиям
9 Armando
 
04.09.15
09:35
Структура группировок, полей, ресурсов фиксирована? Или пользователи могут менять?
Если фиксирована, то нарисуй свой макет
10 Kurbash
 
04.09.15
09:36
(9) да сразу надо было рисовать, неохота из за этого
11 Armando
 
04.09.15
09:43
(10) это самый простой способ в твоем случае.  программно в коде можно это сделать, но это трудоемкий способ и менее надежный.
12 Kurbash
 
04.09.15
11:30
Если кому интересно, с параметрами

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)

НастройкиОсновнойСхемы = КомпоновщикНастроек.ПолучитьНастройки();
    НастройкиОсновнойСхемы = КомпоновщикНастроек.ПолучитьНастройки();
    НачалоПериода = НастройкиОсновнойСхемы.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("НачалоПериода")).Значение ;
    МесяцОтчета = Месяц(НачалоПериода);
    ГодОтчета = Год(НачалоПериода);
    Для каждого стр из НастройкиОсновнойСхемы.Выбор.Элементы Цикл
        для н=1 по 31 цикл
        Если  ТипЗнч(стр)=ТИП("ГруппаВыбранныхПолейКомпоновкиДанных") и стр.Заголовок=строка(н) Тогда
            стр.Заголовок="";
            //стр.Заголовок="1 "+МесяцОтчета+" "+ГодОтчета;    
            //стр.Заголовок=НачалоПериода; //как вариант
            стр.Заголовок=Формат(НачалоПериода.Дата+((Н-1)*24*60*60),"ДФ='dd MMMM yyyy ""г.""'"); //как вариант  
        КонецЕсли;
        конеццикла
    КонецЦикла;
    КомпоновщикНастроек.ЗагрузитьНастройки(настройкиОсновнойСхемы);

ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОсновнойСхемы, ДанныеРасшифровки);
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки);
ДокументРезультат.Очистить();
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
    
    
КонецПроцедуры
13 Kurbash
 
04.09.15
11:30
так взлетело