Есть отчет в несколько колонок. Своя форма, кнопка Сформировать. По нажатию на кнопку формируется отчет. Вопрос - можно ли скрыть 2 колонки при выводе отчета на Печать? И как это сделать?
---
Так и не понял, почему не удалось удалить колонки. Возможно, это связано с тем, что шапка документа берется из макета, а остальная часть выводится средствами СКД. Пока сделал так, что на печать делаю повторное формирование в новый табличный документ, предварительно отключив использование ненужных колонок в настройках схемы компоновки данных.
---
Понадобилось переделать. В итоге реализовал то, что и хотел изначально:

```1c
    &НаКлиенте
    Процедура Печать(Команда)

    ВыполнитьПечать(Ложь);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПечатьСразу(Команда)

    ВыполнитьПечать(Истина);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПредварительныйПросмотр(Команда)

    ВыполнитьПечать(Неопределено);

    КонецПроцедуры

    &НаКлиенте
    Процедура ВыполнитьПечать(Сразу)

    Если ОтчетТабличныйДокумент.ВысотаТаблицы = 0 Тогда
    Предупреждение("Нет информации для вывода на печать.");
    Возврат;
    ИначеЕсли Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.Неактуальность Тогда
    Предупреждение("Отчет не сформирован. Нажмите "Сформировать" для получения отчета.");
    Возврат;
    КонецЕсли;

    ТабДок = ВыполнитьПечатьНаСервере();
    Если Сразу = Неопределено Тогда
    ТабДок.Показать();
    Иначе
    ТабДок.Напечатать(?(Сразу, РежимИспользованияДиалогаПечати.НеИспользовать, РежимИспользованияДиалогаПечати.Использовать));
    КонецЕсли;

    КонецПроцедуры

    &НаСервере
    Функция ВыполнитьПечатьНаСервере()

    ТабДок = Новый ТабличныйДокумент;
    ВсяОбласть = ОтчетТабличныйДокумент.ПолучитьОбласть(,,,);
    ТабДок.Вывести(ВсяОбласть);
    ТабДок.УдалитьОбласть(ТабДок.Область(8,5,ТабДок.ВысотаТаблицы,6), ТипСмещенияТабличногоДокумента.ПоГоризонтали);

    Возврат ТабДок;

    КонецФункции
```
---
Up
---
сделайте второй Вариант отчета: ВариантДляПечати, без этих двух колонок,
---
Наверное, отдельной кнопкой печати обойдусь. Думал, может можно в стандартной печати подменить документ.
---
Теперь не получается удалить колонки в табличном документе. Делаю:

```1c
    ТабДок = Новый ТабличныйДокумент;
    ТабДок.Вывести(Результат);

    ТабДок.УдалитьОбласть(ТабДок.Область("C4"), ТипСмещенияТабличногоДокумента.ПоГоризонтали);
    ТабДок.УдалитьОбласть(ТабДок.Область("C5"), ТипСмещенияТабличногоДокумента.ПоГоризонтали);
```

затем на клиенте делаю ТабДок.Показать() - показывает документ полностью, с колонками

Как удалить колонки?
---
Так и не понял, почему не удалось удалить колонки. Возможно, это связано с тем, что шапка документа берется из макета, а остальная часть выводится средствами СКД. Пока сделал так, что на печать делаю повторное формирование в новый табличный документ, предварительно отключив использование ненужных колонок в настройках схемы компоновки данных.
---
Я нажимаю на кнопку Взлететь (Сформировать).
Самолет взлетает (Отчет формируется).
Хочу, чтобы при нажатии на кнопку Приземлиться (Печать) поменялся состав пассажиров в самолете.
---
Результат - это Табличный документ.
В чем проблема скорректировать его перед выводом на печать, если есть отдельная кнопка Печати?
---
В том, что кнопка Печать - это платформенная кнопка. А не твоя нарисованная команда.
Нарисуй свою кнопку печати со своей командой.
---
читай (4)
---
Да мне пофиг. Я реагирую на основной пост.
---
Ты только что отреагировал на (10). Больше не реагируй, пожалуйста.
---
Твоя просьба отклонена.
Мне же интересно, как ты будешь удалять колонки во всем табличном документе, если в заголовке отчета используются объединенные ячейки...
Чисто из интереса.
---
меньше флуда, больше дела - см. (21)
---
Т.е. объединенные ячейки являются препятствием для удаления? Почему тогда никакого сообщения нет об этом?
Я ориентируюсь на итоговый табличный документ. В нем в заголовке пятая удаляемая мной колонка (номер в свойствах колонки) - пустая. В данных, выводимых ниже заголовка (шапки) - нужная мне колонка. Какие препятствия для удаления?
---
Давай дальше сам. Я просто хочу понаблюдать, как ты будешь удалять пассажиров из самолета...
Ты же просил меня не реагировать. Поэтому я сам буду выбирать - на что мне реагировать, и на что тебе отвечать.
---
пятая удаляемая мной колонка Никогда не пытайся удалять пятую колонку!!! Только шестую или четвертую!
---
а ты попробуй объединить 3,4,5 колоку
---
Ну вот ты взял и раскрыл все козыри...
---
Номер колонки упомянул, чтобы показать, что я его взял из свойств итогового табличного документа.
---
И какие свойства есть у табличного документа?
---
со свойствами табличного документа можешь ознакомиться в (21)...
---
Понадобилось переделать. В итоге реализовал то, что и хотел изначально:

```1c
    &НаКлиенте
    Процедура Печать(Команда)

    ВыполнитьПечать(Ложь);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПечатьСразу(Команда)

    ВыполнитьПечать(Истина);

    КонецПроцедуры

    &НаКлиенте
    Процедура ПредварительныйПросмотр(Команда)

    ВыполнитьПечать(Неопределено);

    КонецПроцедуры

    &НаКлиенте
    Процедура ВыполнитьПечать(Сразу)

    Если ОтчетТабличныйДокумент.ВысотаТаблицы = 0 Тогда
    Предупреждение("Нет информации для вывода на печать.");
    Возврат;
    ИначеЕсли Элементы.ОтчетТабличныйДокумент.ОтображениеСостояния.ДополнительныйРежимОтображения = ДополнительныйРежимОтображения.Неактуальность Тогда
    Предупреждение("Отчет не сформирован. Нажмите "Сформировать" для получения отчета.");
    Возврат;
    КонецЕсли;

    ТабДок = ВыполнитьПечатьНаСервере();
    Если Сразу = Неопределено Тогда
    ТабДок.Показать();
    Иначе
    ТабДок.Напечатать(?(Сразу, РежимИспользованияДиалогаПечати.НеИспользовать, РежимИспользованияДиалогаПечати.Использовать));
    КонецЕсли;

    КонецПроцедуры

    &НаСервере
    Функция ВыполнитьПечатьНаСервере()

    ТабДок = Новый ТабличныйДокумент;
    ВсяОбласть = ОтчетТабличныйДокумент.ПолучитьОбласть(,,,);
    ТабДок.Вывести(ВсяОбласть);
    ТабДок.УдалитьОбласть(ТабДок.Область(8,5,ТабДок.ВысотаТаблицы,6), ТипСмещенияТабличногоДокумента.ПоГоризонтали);

    Возврат ТабДок;

    КонецФункции
```