Доброго времени суток! Есть вопрос по поводу вывода областей макета. Раньше никогда не сталкивался с подобной задачей, но возможно есть решение стандартными инструментами без заморочек.

Есть простенький макет (рис. 1).
Есть код:

```1c
    Область = Макет.ПолучитьОбласть("ШапкаОрг|Теги");
    ТД.Вывести(Область);
    Область = Макет.ПолучитьОбласть("СтрокаОрг|Теги");
    Для Каждого Тег Из СписокТегов Цикл
    Область.Параметры.Тег = Тег.Значение;
    ТД.Вывести(Область);
    КонецЦикла;

    Область = Макет.ПолучитьОбласть("ШапкаОрг|Организации");
    ТД.Вывести(Область);
    Область = Макет.ПолучитьОбласть("СтрокаОрг|Организации");
    СтрокаОрг = СписокСайтов[Элементы.СписокСайтов.ТекущаяСтрока];
    Область.Параметры.Заполнить(СтрокаОрг);
    ТД.Вывести(Область);

    Область = Макет.ПолучитьОбласть("ШапкаОрг|Телефоны");
    ТД.Вывести(Область);
    Область = Макет.ПолучитьОбласть("СтрокаОрг|Телефоны");
    Для Каждого Стр Из СписокТелефонов Цикл
    Если Стр.Выгружать Тогда
    Область.Параметры.Заполнить(Стр);
    ТД.Вывести(Область);
    КонецЕсли;
    КонецЦикла;
```

Есть результат (рис. 2).

Вопрос: как сделать так, чтобы области выводились отдельно, как в макете? Метод "Присоединить" тут не очень подходит, потому что таблицы по сути независимые. Заранее спасибо!
---
Не знаю, правильно ли я Вас понял, но спасибо за ответ. По крайней мере понял, что нужно "выдумывать". Решил так: добавил 2 пустые области, сделал общий обход по одному циклу до максимального значения трёх таблиц (точнее двух, в одной из них статично одна запись), проверяю, если счётчик меньше количества, то вывожу/присоединяю мою область, если больше, то вывожу/присоединяю пустую. Возможно, именно это Вы имели ввиду, я не очень понял :)

Может кому-то пригодится код:

```1c
    Индекс = 0;
    Максимум = Макс(СписокТегов.Количество()-1, ВыбранныеТелефоны.Количество()-1);
    оТег = Макет.ПолучитьОбласть("СтрокаОрг|Теги");
    оОрг = Макет.ПолучитьОбласть("СтрокаОрг|Организации");
    оТел = Макет.ПолучитьОбласть("СтрокаОрг|Телефоны");
    Пока Индекс <= Максимум Цикл
    Если Индекс < СписокТегов.Количество() Тогда
    оТег.Параметры.Тег = СписокТегов[Индекс].Значение;
    ТД.Вывести(оТег);
    Иначе
    ТД.Вывести(ПустаяТеги);
    КонецЕсли;
    Если Индекс = 0 Тогда
    оОрг.Параметры.Заполнить(СписокСайтов[Элементы.СписокСайтов.ТекущаяСтрока]);
    ТД.Присоединить(оОрг);
    Иначе
    ТД.Присоединить(ПустаяОрг);
    КонецЕсли;

    Если Индекс < ВыбранныеТелефоны.Количество() Тогда
    оТел.Параметры.Заполнить(ВыбранныеТелефоны[Индекс]);
    ТД.Присоединить(оТел);
    Иначе
    ТД.Присоединить(ПустаяОрг);
    КонецЕсли;

    Индекс = Индекс + 1;
    КонецЦикла;
```
---
Такого не делал. Но навскидку примерно так себе вижу.
Нарисовать 4 области - левая пустая, левая заполненная, правая пустая, правая заполненная.
Организовать общий цикл с нуля до макс значения индекса из обоих массивов (и -1, конечно).
В цикле что делаем...
Смотрим, попадаем ли мы в допустимый диапазон текущего индекса для левого списка. Если попадаем, то получаем область Левая заполненная, заполняем, выводим. Если не попадаем, то получаем Левая пустая, выводим.
Аналогично для правой области. Только ее не выводим, а присоединяем.
---
Не знаю, правильно ли я Вас понял, но спасибо за ответ. По крайней мере понял, что нужно "выдумывать". Решил так: добавил 2 пустые области, сделал общий обход по одному циклу до максимального значения трёх таблиц (точнее двух, в одной из них статично одна запись), проверяю, если счётчик меньше количества, то вывожу/присоединяю мою область, если больше, то вывожу/присоединяю пустую. Возможно, именно это Вы имели ввиду, я не очень понял :)

Может кому-то пригодится код:

```1c
    Индекс = 0;
    Максимум = Макс(СписокТегов.Количество()-1, ВыбранныеТелефоны.Количество()-1);
    оТег = Макет.ПолучитьОбласть("СтрокаОрг|Теги");
    оОрг = Макет.ПолучитьОбласть("СтрокаОрг|Организации");
    оТел = Макет.ПолучитьОбласть("СтрокаОрг|Телефоны");
    Пока Индекс <= Максимум Цикл
    Если Индекс < СписокТегов.Количество() Тогда
    оТег.Параметры.Тег = СписокТегов[Индекс].Значение;
    ТД.Вывести(оТег);
    Иначе
    ТД.Вывести(ПустаяТеги);
    КонецЕсли;
    Если Индекс = 0 Тогда
    оОрг.Параметры.Заполнить(СписокСайтов[Элементы.СписокСайтов.ТекущаяСтрока]);
    ТД.Присоединить(оОрг);
    Иначе
    ТД.Присоединить(ПустаяОрг);
    КонецЕсли;

    Если Индекс < ВыбранныеТелефоны.Количество() Тогда
    оТел.Параметры.Заполнить(ВыбранныеТелефоны[Индекс]);
    ТД.Присоединить(оТел);
    Иначе
    ТД.Присоединить(ПустаяОрг);
    КонецЕсли;

    Индекс = Индекс + 1;
    КонецЦикла;
```