Имя: Пароль:
1C
1С v8
СКД - свернуть шапку. Через макет получается только фиксированная шапка.
,
0 МешочекЗнаний
 
26.01.17
08:01
Приветствую.

Имеется такая структура отчета.

http://s020.radikal.ru/i712/1701/63/bfb210b31ca3.png

Нужно всю шапку группировки свернуть вот так

---------------------------------------------------------------------------------
|Документы    |Стоимость заказано    |Стоимость оплачено |
---------------------------------------------------------------------------------

Сделал через макет, но теперь шапка фиксированная. Например если пользователь решил убрать ресурс "стоимость заказано" шапка не изменяется.

Если ли способ как то это побороть?
1 DrZombi
 
гуру
26.01.17
08:16
(0) Радикал в бане, картинку не вижу.
Но вот сайтик вам в помощь.

http://1cskd.ru/
2 МешочекЗнаний
 
26.01.17
08:25
(1) Сейчас посмотрим
http://pixs.ru/showimage/Bezimyanni_9155261_24914579.png
3 DrZombi
 
гуру
26.01.17
08:27
(2) Робит только этот
http://www.ximage.ru/
4 DrZombi
 
гуру
26.01.17
08:27
+ Если не трудно...
5 МешочекЗнаний
 
26.01.17
08:29
6 Rokford
 
26.01.17
08:53
Постобработка табличного документа в обработчике "ПриКомпоновкеРезультата". Другого способа я не вижу.
7 МешочекЗнаний
 
26.01.17
09:02
(6) Можно какой нибудь примерчик? Программное заполнение на СКД ни разу не пробовал.
8 Rokford
 
26.01.17
09:19
Из рабочего отчета. В качестве примера подойдет. Интерактивными настройками удавалось добиться вывода ресурсов "Оборудование" и "Комментарий" только в нижней ячейке шапки.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    ОбъединитьЯчейкиВШапкеИЦентрировать(ДокументРезультат);
    
КонецПроцедуры



Вот как было
http://hkar.ru/NmV9

и как стало
http://hkar.ru/NmVa

Процедура ОбъединитьЯчейкиВШапкеИЦентрировать(ТабДок)
    
    Выполнено = Ложь;
    Для ИндексСтроки = 1 По ТабДок.ВысотаТаблицы Цикл
        
        Если Выполнено Тогда
            Прервать;
        КонецЕсли;
        
        Если ТабДок.Область(ИндексСтроки, 1).Текст = "№ п/п" Тогда
            Для ИндексКолонки = 1 По ТабДок.ШиринаТаблицы Цикл
                ТекущаяЯчейка = ТабДок.Область(ИндексСтроки, ИндексКолонки);
                НижняяЯчейка  = ТабДок.Область(ИндексСтроки+1, ИндексКолонки);
                
                Если ТекущаяЯчейка.Текст = "" И НижняяЯчейка.Текст = "Оборудование" Тогда
                    ТекстЗаголовка = НижняяЯчейка.Текст;
                    ОбъединяемаяОбласть = ТабДок.Область(ИндексСтроки, ИндексКолонки, ИндексСтроки+1, ИндексКолонки);
                    ОбъединяемаяОбласть.Объединить();
                    ОбъединяемаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
                    ОбъединяемаяОбласть.ВертикальноеПоложение   = ВертикальноеПоложение.Центр;
                    ОбъединяемаяОбласть.Текст = ТекстЗаголовка;
                КонецЕсли;
                
                Если ТекущаяЯчейка.Текст = "" И НижняяЯчейка.Текст = "Комментарий" Тогда
                    ТекстЗаголовка = НижняяЯчейка.Текст;
                    ОбъединяемаяОбласть = ТабДок.Область(ИндексСтроки, ИндексКолонки, ИндексСтроки+1, ИндексКолонки);
                    ОбъединяемаяОбласть.Объединить();
                    ОбъединяемаяОбласть.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
                    ОбъединяемаяОбласть.ВертикальноеПоложение   = ВертикальноеПоложение.Центр;
                    ОбъединяемаяОбласть.Текст = ТекстЗаголовка;
                КонецЕсли;
                
                ТекущаяЯчейка.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
                ТекущаяЯчейка.ВертикальноеПоложение   = ВертикальноеПоложение.Центр;
                
                Если НижняяЯчейка.Текст = "Время" Тогда
                    НижняяЯчейка.ГоризонтальноеПоложение = ГоризонтальноеПоложение.Центр;
                    НижняяЯчейка.ВертикальноеПоложение   = ВертикальноеПоложение.Центр;
                КонецЕсли;
                
            КонецЦикла;
            
            Выполнено = Истина;
            
        КонецЕсли;
        
    КонецЦикла;
КонецПроцедуры
9 Rokford
 
26.01.17
09:20
Прикольно, движок код на 2 части разбил :)
10 МешочекЗнаний
 
26.01.17
09:21
(8) Спасибо, буду пробовать
11 Rokford
 
26.01.17
09:24
(10) Пожалуйста.
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн