понедельник, 9 февраля 2015 г.

Настройка ширины колонок результата построителя отчета

 Настройка ширины колонок (скрыть колонки) результата построителя отчета



Процедура ШиринаКолонок(Тд,МассивКолонокУдалить)
    ТабличныйДокумент = Тд;   
    НачалоДанных = 0;
   
    // Найдем в результирующем документе область шапки таблицы
    ОбластьШапки = ТабличныйДокумент.Области.Найти("ШапкаТаблицы");
   
    Если ТипЗнч(ОбластьШапки) = Тип("ОбластьЯчеекТабличногоДокумента") Тогда
       
        // Из шапки таблицы получим начальную строку с которой будем рассчитывать ширины
        НачальнаяСтрока = ОбластьШапки.Верх;
        НачалоДанных = ОбластьШапки.Низ + 1;
       
    Иначе
       
        // Если область шапки таблицы не найдена, найдем область шапки строк
        ОбластьШапки = ТабличныйДокумент.Области.Найти("ШапкаСтрок");
       
        Если ТипЗнч(ОбластьШапки) = Тип("ОбластьЯчеекТабличногоДокумента") Тогда
           
            // Из шапки таблицы получим начальную строку с которой будем рассчитывать ширины
            НачальнаяСтрока = ОбластьШапки.Верх;
            НачалоДанных = ОбластьШапки.Низ + 1;
           
        КонецЕсли;
           
    КонецЕсли;
       
    ШиринаТаб = ТабличныйДокумент.ШиринаТаблицы;
    КолМасс = МассивКолонокУдалить.количество();//всегда должно быть меньше
           
    Для Сч = 0 По КолМасс-1 Цикл       
        ТекущаяКолонка=ШиринаТаб-сч;
        Зн = МассивКолонокУдалить.Получить(КолМасс-1-сч);           
        Если ПустаяСтрока(Зн) Тогда Продолжить;КонецЕсли;//В массиве указаны имена колонок на удаление, если нет нименования колонки - значит не удаляем
       
        ТабличныйДокумент.Область(, ТекущаяКолонка, НачалоДанных, ТекущаяКолонка).ШиринаКолонки = 0;       
       
    КонецЦикла;   
КонецПроцедуры


Пример отчета, в котором настраивается ширина колонок результата постоителя отчета:

Скачать