Мне надо удалить второй столбец, между номенклатурой и Т1, пустой.
Проблема в том, что табличный документ имеет разный формат.

Как корректно удалить столбец?
Я в итоге ставлю ширину столбца 0.1 для ячейки отчета с товарами и так он скрывается.
Но хочется удалить целиком.

```1c
    Макет = ПолучитьМакет("Макет");
    ОбластьКолонки = Макет.Область("C2");
    Макет.УдалитьОбласть(ОбластьКолонки, ТипСмещенияТабличногоДокумента.ПоВертикали);
    //ОбластьКолонки.ШиринаКолонки = 0.1;
    Макет.Показать();
```

Обработка на обычных формах, открывается в любой конфе, разработка под УТ 10.3
---
если обрабатываете шапку, значит вполне можете найти область "Наименование". По ней определяете номер строки и номер колонки + 1.

```1c
    УдаляемаяОбласть = Результат.Область(ОбластьНаименование.Верх, ОбластьНаименование.Право + 1, Результат.ВысотаТаблицы);
    Результат.УдалитьОбласть(УдаляемаяОбласть, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
```

Тут главное попасть в нужный формат строк. Начальная строка и начальная колонка должна быть в этом формате строк.
---
.
---
Ежели нужно удалить какой столбец отчета на СКД, то лучше уж при формировании исключить его из выбранных полей/группировок. Ежели же нет возможности формировать СКД самостоятельно и приходится работать с макетом, то тут надо изобретать какой-то велосипед, особенно с учетом того, что над этой областью есть еще одна, которая объединена...
---
Добрый день!

Попробуйте по горизонтали

 Макет.УдалитьОбласть(ОбластьКолонки, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
---
ну если в конфигураторе удалить, то как показано на скрине
наступить на ячейку, которая вам нужна - вверху выделится нужный формат строк и правой кнопкой по заголовку - удалить
---
мне нужно программно, т.е. кодом на языке 1с.
---
нужно программно, т.е. кодом на языке 1с Как правило, необходимость извращений с кодом свидетельствует об изначально неправильной постановке задачи.
---
Если это результат формирования СКД, то только через танцы с бубнами
например вот так Пример
---
жесть.
---
ну да - есть такое
но можете попробовать поиграться с настройками вывода отчета (например, убрать вывод отбора или параметров - именно они создают отдельный формат строк )
если они не критичны для вас - то думаю это решит вопрос
---
не, не помогает.
---
```1c
    ТабДок = Новый ТабличныйДокумент;
    Макет = ПолучитьМакет("Макет");
    ОбластьМакета = Макет.ПолучитьОбласть();
    ОбластьКолонки = ОбластьМакета.Область(4, 2, ОбластьМакета.ВысотаТаблицы);
    ОбластьМакета.УдалитьОбласть(ОбластьКолонки, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
    ТабДок.Вывести(ОбластьМакета);
    ТабДок.Показать();
```

Но проще дать имя нужной колонке (пример: "УдаляемаяОбласть")
и тогда получить Область можно не вычисляя, а указывая имя:

```1c
    ОбластьКолонки = ОбластьМакета.Область("УдаляемаяОбласть");
```
---
Мне кажется не работает, т.к. мы из Табличного документа пробуем не его область удалить, а отдельно собранную по макету. Надо бы удалять область табдока, или вовсе собрать без той области, короче говоря, есть две переменные ТабДок и Макет
И ТабДок не имеет областей, мы же его собрали, если уж удалять, то

ТабДок.УдалитьОбласть(ТабДок.Область(4, 2, ОбластьМакета.ВысотаТаблицы));
---
этот табличный документ СКД рисует, там имя не задашь.
---
мне кажется самый простой способ это задать макет СКД.
в нужном формате, без программных извращений.
---
с макетом я бился еще полчаса, он выдает лишние колонки с цифрами в заголовках. Не все так однозначно.

Вот скриншот с макетами СКД.
---
не получится. Я тупил минут 15 и понял, что не пойму, как его исключить. Проще пост-обработку сделать, тем более, что я шапку все равно обрабатываю, ибо макеты СКД глючат.
---
Я тупил минут 15 и понял, что не пойму, как его исключитьТак он в горизонтальной группировке. Просто пробежаться по группировкам таблицы (колонки) и найти там группировку "Заказ", ну и Использовать = Ложь.
---
если обрабатываете шапку, значит вполне можете найти область "Наименование". По ней определяете номер строки и номер колонки + 1.

```1c
    УдаляемаяОбласть = Результат.Область(ОбластьНаименование.Верх, ОбластьНаименование.Право + 1, Результат.ВысотаТаблицы);
    Результат.УдалитьОбласть(УдаляемаяОбласть, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
```

Тут главное попасть в нужный формат строк. Начальная строка и начальная колонка должна быть в этом формате строк.
---
спасибо, помогло.
В этом примере:

```1c
    Макет = ПолучитьМакет("Макет");
    ОбластьКолонки = Макет.Область("R4C2:R9C2");
    Макет.УдалитьОбласть(ОбластьКолонки, ТипСмещенияТабличногоДокумента.ПоГоризонтали);
    //ОбластьКолонки.ШиринаКолонки = 0.1;
    Макет.Показать();
```

В коде отчета:

```1c
    ПредШирина = ДокументРезультат.ШиринаТаблицы;
    ОбластьКолонки =
    ДокументРезультат.Область(
    СтрокаНоменклатуры,
    Кол,
    ДокументРезультат.ВысотаТаблицы,
    Кол);
    Если ПредШирина <> ДокументРезультат.ШиринаТаблицы Тогда
    Продолжить;
    КонецЕсли;
    ОбластьКолонки.ШиринаКолонки = 0.1;
```
---
не выйдет, ибо под ним две группировки.