Есть список номенклатур, полученный в результате запроса:
[Номенклатура|КоличествоА|КоличествоБ|КоличествоС]
[Ваниль | 2 | null | 3 ]
[Мазь | 2 | null | null ]
[Слойка| 2 | null | 3 ]

И есть "Макет" в который нужно вывести эту таблицу, причем если в каком то из столбцов нет ни единого значения количества, то его в макете не выводить (Например, в текущем случае не выводить КоличествоБ).
В голову приходит только вариант обходить первый раз всю таблицу в поисках наличия в хотя бы какой то строке числа количества, и только для тех столбцов, где количество найдено методом Присоединить() выводить шапку таблицы.
Потом снова обходить таблицу и уже заполнять ее номенклатурами и количеством, присоединяя ячейки строк, после чего выводя итоги. Может никто ничего не понял, кроме моего вопроса... Тогда просто подскажите как мне слепить все эти данные в табличный документ?
---
Вместо предварительного обхода результата запроса попробуйте получить необходимую информацию прямо в запросе. Например, в общих итогах:

```1c
    ВЫБРАТЬ
    Номенклатура,
    КоличествоА,
    КоличествоБ,
    КоличествоС
    ИЗ
    Данные

    ИТОГИ
    КОЛИЧЕСТВО(КоличествоА),
    КОЛИЧЕСТВО(КоличествоБ),
    КОЛИЧЕСТВО(КоличествоС)
    ПО
    ОБЩИЕ
```

Т.о. Вы узнаете сколько реальных значений есть в каждой из колонок. Если, например, в колонке "КоличествоБ" все значения будут равны NULL, то общий итог по этой колонке будет равен 0.
---
Автору требуется не строки исключить из результата запроса, а колонки.
---
Не совсем понимаю. Если Вы будете получать области так, как я описал выше, они у Вас будут одного размера в высоту.
---
Вместо предварительного обхода результата запроса попробуйте получить необходимую информацию прямо в запросе. Например, в общих итогах:

```1c
    ВЫБРАТЬ
    Номенклатура,
    КоличествоА,
    КоличествоБ,
    КоличествоС
    ИЗ
    Данные

    ИТОГИ
    КОЛИЧЕСТВО(КоличествоА),
    КОЛИЧЕСТВО(КоличествоБ),
    КОЛИЧЕСТВО(КоличествоС)
    ПО
    ОБЩИЕ
```

Т.о. Вы узнаете сколько реальных значений есть в каждой из колонок. Если, например, в колонке "КоличествоБ" все значения будут равны NULL, то общий итог по этой колонке будет равен 0.
---
Чуть выше в комментарии об этом написал, спасибо что утвердили мою идею :)
---
а почему в первом же запросе не проверять количество?
---
Я не пойму что Вы имеете ввиду. Я только придумал сделать итоги результата запроса и перед выводом на основании итогов выводить/или не выводить колонки.
---
поставьте условие где (КоличествоА+КоличествоБ+КоличествоС) >0 да чушь написал.
---
поставьте условие где (КоличествоА+КоличествоБ+КоличествоС) >0
не,

```1c
    ИМЕЮЩИЕ СУММА(ПоступлениеТоваровУслугТовары.КоличествоА+ПоступлениеТоваровУслугУслуги.КоличествоБ)>0
```
---
Автору требуется не строки исключить из результата запроса, а колонки.
---
Верно поняли. Подскажите как присоединить вот эти красные области к низу большой области при выводе. Методом Присоеденить() они выводятся вверху)
---
Выведи весь макет, затем удали\скрой пустые колонки
---
У Вас там все красное. :) Но как я понял, Вы именуете области ячеек, получаете их и присоединяете. Правильнее именовать области колонок и получать нужные ячейки как пересечение областей строк и колонок:

```1c
    ШапкаКолонкиБ = Макет.ПолучитьОбласть("Шапка|КолонкаБ");
```
---
Понял о чем Вы, но как бы я не получал область, то все равно она присоединяется к верху предыдущей выведенной области, а мне нужно в низ.
---
Не совсем понимаю. Если Вы будете получать области так, как я описал выше, они у Вас будут одного размера в высоту.
---
Дошло. Спасибо!)
---
После вывода можно удалить пустую колонку )
//R12 - КоличествоБ;
таб.УдалитьОбласть("R12");
---
Подскажите как присоединить вот эти красные области к низу большой области при выводе. Методом Присоеденить() они выводятся вверху.
---
Не очень понятно, что к чему присоединить..
Метод Присоединить:
Присоединяет табличный документ к результирующему табличному документу, помещая его в следующей колонке правее самой правой выведенной колонки, начиная со строки, с которой выводился предыдущий табличный документ
---
или скрыть её