0
AlexYa
03.02.12
✎
12:30
|
В новых версиях, начиная с 14, появилась принудительная фиксация заголовка. В итоге отчеты с многоуровневыми группировками помещаются не на всякий экран.
Отменить эту фиксацию достаточно просто: при открытии устанавливать
ЭлементыФормы.Результат.ФиксацияСверху = 0;
Но всегда хочется большего :). Например, в настройках формы отчета задавать фиксацию.
Если выводить отчет через свою кнопку. то всё просто. А вот через стандартную Сформировать...
Сделал так:
1. Добавил реквизиты в отчет ФиксацияЗаголовка (Бул), ВысотаФиксации (Число 5)
2. В модуле отчета вставил
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
Оповестить("ФиксацияЗаголовка", ФиксацияЗаголовка);
КонецПроцедуры
3. На форме добавил кнопку "Фиксация заголовка"
4. В событие кнопки
Процедура ДействияФормыФиксацияЗаголовка(Кнопка)
Кнопка.Пометка = Не Кнопка.Пометка;
ФиксацияЗаголовка = Кнопка.Пометка;
ИзменитьФиксацию( ФиксацияЗаголовка);
КонецПроцедуры
5. В события формы
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
Если ИмяСобытия = "ФиксацияЗаголовка" Тогда
ИзменитьФиксацию( Параметр);
КонецЕсли;
КонецПроцедуры
6. В события таблицы Результат
Процедура ОбновлениеОтображения()
ИзменитьФиксацию( ФиксацияЗаголовка);
КонецПроцедуры
7. И собственно процедура фиксации
Процедура ИзменитьФиксацию( Фиксировать)
Если ЭлементыФормы.Результат.ФиксацияСверху > 0 Тогда
ВысотаФиксации = ЭлементыФормы.Результат.ФиксацияСверху;
КонецЕсли;
Если Фиксировать Тогда
ЭлементыФормы.Результат.ФиксацияСверху = ВысотаФиксации;
Иначе
ЭлементыФормы.Результат.ФиксацияСверху = 0;
КонецЕсли;
ЭлементыФормы.ДействияФормы.Кнопки.ФиксацияЗаголовка.Пометка = Фиксировать;
КонецПроцедуры
Всё работает "На ура".
До тех пор, пока одна таблица или одна головная группировка.
Как только таблиц/группировок несколько - фиксации нет вообще.
Если в настройках оставить активной одну таблицу - всё опять работает.
И это было бы логично. Если бы у меня не был старый отчет с двумя таблицами, который автоматом фиксирует заголовок первой таблицы!
Попытки повторить фокус пока неудачны. Вроде всё дублирую, как в старом отчете, но "не выходит каменный цветок"
Если у кого есть желание исследовать проблему, и если кто найдет решение - поделитесь с обществом, пожалуйста.
Итак, как вывести автоматически в СКД две таблицы с зафиксированным заголовком первой таблицы (только средствами платформы, без программного кода)
|
|