Имя: Пароль:
1C
1С v8
СКД: Фиксация заголовка в 8.2.14, 8.2.15 для двух таблиц
0 AlexYa
 
03.02.12
12:30
В новых версиях, начиная с 14, появилась принудительная фиксация заголовка. В итоге отчеты с многоуровневыми группировками помещаются не на всякий экран.

Отменить эту фиксацию достаточно просто: при открытии устанавливать

ЭлементыФормы.Результат.ФиксацияСверху = 0;

Но всегда хочется большего :). Например, в настройках формы отчета задавать фиксацию.

Если выводить отчет через свою кнопку. то всё просто. А вот через стандартную Сформировать...

Сделал так:

1. Добавил реквизиты в отчет ФиксацияЗаголовка (Бул), ВысотаФиксации (Число 5)

2. В модуле отчета вставил

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

3. На форме добавил кнопку "Фиксация заголовка"
4. В событие кнопки

Процедура ДействияФормыФиксацияЗаголовка(Кнопка)
   Кнопка.Пометка = Не Кнопка.Пометка;
   ФиксацияЗаголовка = Кнопка.Пометка;
   ИзменитьФиксацию( ФиксацияЗаголовка);
КонецПроцедуры

5. В события формы

Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
   Если ИмяСобытия = "ФиксацияЗаголовка" Тогда
       ИзменитьФиксацию( Параметр);    
   КонецЕсли;
КонецПроцедуры

6. В события таблицы Результат

Процедура ОбновлениеОтображения()
   ИзменитьФиксацию( ФиксацияЗаголовка);    
КонецПроцедуры

7. И собственно процедура фиксации

Процедура ИзменитьФиксацию( Фиксировать)
   Если ЭлементыФормы.Результат.ФиксацияСверху > 0 Тогда
       ВысотаФиксации = ЭлементыФормы.Результат.ФиксацияСверху;
   КонецЕсли;
   
   Если Фиксировать Тогда
       ЭлементыФормы.Результат.ФиксацияСверху = ВысотаФиксации;
   Иначе
       ЭлементыФормы.Результат.ФиксацияСверху = 0;
   КонецЕсли;
   
   ЭлементыФормы.ДействияФормы.Кнопки.ФиксацияЗаголовка.Пометка = Фиксировать;
   
КонецПроцедуры

Всё работает "На ура".
До тех пор, пока одна таблица или одна головная группировка.

Как только таблиц/группировок несколько - фиксации нет вообще.
Если в настройках оставить активной одну таблицу - всё опять работает.

И это было бы логично. Если бы у меня не был старый отчет с двумя таблицами, который автоматом фиксирует заголовок первой таблицы!

Попытки повторить фокус пока неудачны. Вроде всё дублирую, как в старом отчете, но "не выходит каменный цветок"

Если у кого есть желание исследовать проблему, и если кто найдет решение - поделитесь с обществом, пожалуйста.

Итак, как вывести автоматически в СКД две таблицы с зафиксированным заголовком первой таблицы (только средствами платформы, без программного кода)
1 AlexYa
 
07.02.12
23:06
ап
2 AlexYa
 
08.02.12
18:27
ап
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан